# __2.12.0__ __2020-04-20__
## __AWS Cost Explorer Service__
  - ### Features
    - Cost Categories API is now General Available with new dimensions and operations support. You can map costs by account name, service, and charge type dimensions as well as use contains, starts with, and ends with operations. Cost Categories can also be used in RI and SP coverage reports.

## __AWS Glue__
  - ### Features
    - Added a new ConnectionType "KAFKA" and a ConnectionProperty "KAFKA_BOOTSTRAP_SERVERS" to support Kafka connection.

## __AWS IoT Events__
  - ### Features
    - API update that allows users to add AWS Iot SiteWise actions while creating Detector Model in AWS Iot Events

## __AWS SDK for Java v2__
  - ### Features
    - Updated service endpoint metadata.

## __Amazon DynamoDB Enhanced Client__
  - ### Features
    - The Amazon DynamoDB Enhanced Client is now generally available and provides a natural and intuitive interface for developers to integrate their applications with Amazon DynamoDB by means of an adaptive API that will map inputs and results to and from Java objects modeled by the application, rather than requiring the developers to implement that transformation themselves.

## __AmazonApiGatewayV2__
  - ### Features
    - You can now export an OpenAPI 3.0 compliant API definition file for Amazon API Gateway HTTP APIs using the Export API.

## __Synthetics__
  - ### Features
    - Introducing CloudWatch Synthetics. This is the first public release of CloudWatch Synthetics.
