# __2.0.0-preview-13__ __2018-11-13__ ## __AWS SDK for Java v2__ - ### Features - Add `Automatic-Module-Name` manifest entry. - Add `AwsResponseMetadata` support to allow users to retrieve metadata information such as `requestId`, `extendedRequestId` from the response. see [#670](https://github.com/aws/aws-sdk-java-v2/issues/670) - Add apiCallTimeout and apiCallAttemptTimeout feature for synchronous calls. - Guava 23.0 -> 26.0 - upgrade maven-bundle-plugin -> 4.0.0 - ### Bugfixes - Attach `SdkHttpResponse` to the responses of event streaming operations. ## __AWS Security Token Service__ - ### Features - Added supplier functionality to StsAssumeRoleWithSamlCredentialProvider. This allows for the saml assertion to be refreshed before getting new credentials from STS. ## __AWS Step Function__ - ### Removals - Remove AWS Step Function high level library for now. We will add them in the future. ## __Amazon S3__ - ### Features - Add support for automatically decoding URL-encoded parts of the ListObjects and ListObjectsV2 responses. See https://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html and https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html. - ### Bugfixes - Update S3 `EndpointAddressInterceptor` to honor request protocol. ## __Apache HTTP Client__ - ### Features - Add support for idle connection reaping. ## __core__ - ### Features - Apache HttpClient 4.5.5 -> 4.5.6 - Netty 4.1.28 -> 4.1.30 # __2.0.0-preview-12__ __2018-09-18__ ## __AWS SDK for Java v2__ - ### Features - Add mfa_serial to ProfileProperty - Allow clients to add Socket Channel Option - Implement apiCallAttemptTimeout and apiCallTimeout feature for asynchrounous calls. Customers can specify timeout via `ClientOverrideConfiguaration.Builder#apiCallTimeout(Duration)` or `RequestOverrideConfiguration.Builder#apiCallAttemptTimeout(Duration)`. Note: this feature is only implemented for asynchrounous api calls. - Improve logging for debuggability. see `SdkStandardLogger`. - Refactored all services to make module names match the service id from the service model - Removed sdk-core dependency from the profiles module. This allows reading from profile files without pulling in the rest of the SDK. - Replacing legacy `HttpResponse` with `SdkHttpFullResponse`. - Update service models to be current as of 2018-09-07. - ### Bugfixes - Fix Response Fetcher hasNextPage to check if the output token is non null or non empty if it is a collection or map type. Related to [#677](https://github.com/aws/aws-sdk-java-v2/issues/677) - RetryPolicy bug fix: adding throttlingBackoffStrategy to `RetryPolicy.Builder`. see [#646](https://github.com/aws/aws-sdk-java-v2/issues/646) ## __AWS STS__ - ### Features - Add the ability to provide a Supplier to StsAssumeRoleCredentialsProvider ## __Aamazon S3__ - ### Bugfixes - Fix NPE for S3 GET request using http protocol. see [#612](https://github.com/aws/aws-sdk-java-v2/issues/612) ## __Amazon SimpleDB__ - ### Removals - Amazon SimpleDB module is removed from the SDK 2.0. To use SimpleDB, use SDK 1.11.x. Note that you can run SDK 1.11 and 2.0 in the same application. ## __runtime__ - ### Bugfixes - Netty 4.1.26.Final -> 4.1.28.Final # __2.0.0-preview-11__ __2018-07-30__ ## __AWS SDK for Java v2__ - ### Features - Accept `SdkBytes` and `byte[]` instead of `ByteBuffer` in generated setters. - Add support to disable EC2 instance metadata service usage via environment variable and system property. [#430](https://github.com/aws/aws-sdk-java-v2/issues/430) - Caching `XPathFactory` to improve performance of exception handling for services using XML protocol - Exceptions use builders and are immutable. - Incorporate the [Reactive Streams Technology Compatibility Kit](https://github.com/reactive-streams/reactive-streams-jvm/tree/master/tck) and ensure current implementations are compliant. [#519](https://github.com/aws/aws-sdk-java-v2/issues/519) - Modules (annotations, auth, sdk-core, aws-core, profiles, regions) are refactored under the core module. - Refactor signer interfaces to be independent from Amazon/AWS specific classes. Signer interfaces expose a sign method that takes in the request to sign and ExecutionAttributes instance. Parameters needed for signing are to be passed through ExecutionAttributes. SDK signer implementations have overloaded sign methods that can take either generic ExecutionAttributes or modeled params classes as convenience for customers. - Region class clean up including the following: - Flattened GovCloud - Renamed `Region.value()` to `Region.id()` - Dropped `get` prefix in the method names. eg: `getRegions()` -> `regions()` - Renamed all non-service enums to be singular, not plural. - Renaming `SdkBuilder.apply()` -> `SdkBuilder.applyMutation()` and renaming `ResponseTransformer.apply()` to `ResponseTransformer.transform()`. - Return `SdkBytes` instead of `ByteBuffer` from generated getters. - Update all service models to follow V2 naming convention. eg: `WAFException` -> `WafException` - Update service name in clients, requests and exceptions to match 2.0 naming conventions (eg. DynamoDBClient -> DynamoDbClient) - Updated `AwsCredentials` to interface implemented by `AwsBasicCredentials` and `AwsSessionCredentials`. Renamed `AwsCredentialsProvider.getCredentials()` to `AwsCredentialsProvider.resolveCredentials()`. - Use auto constructed containers for list and map members. [#497](https://github.com/aws/aws-sdk-java-v2/pull/497), [#529](https://github.com/aws/aws-sdk-java-v2/pull/529), [#600](https://github.com/aws/aws-sdk-java-v2/pull/600) - Various AsyncClient Refactors:\n - Drop async prefix in `SdkAyncClientBuilder`: `SdkAsyncClientBuilder.asyncHttpClientBuilder() -> SdkAsyncClientBuilder.httpClientBuilder()`\n - Create `SdkEventLoopGroup` to allow users to provide `EventLoopGroup` and `ChannelFactory`. - upgrade Netty 4.1.22.Final to Netty 4.1.26.Final - ### Deprecations - Deprecating `QueryStringSigner` in favor of `Aws4Signer`. - ### Removals - Make paginators resume method private.(We will re-add the feature in the future) - Removing gzipEnabled client configuration. ## __AWS WAF Regional__ - ### Features - AWS Waf Regional clients are now in `software.amazon.awssdk.services.waf.regional` package. ## __Amazon DynamoDB__ - ### Features - Add default DynamoDB specific retry policy. - Update DynamoDB default max retry count to 8. Related to [#431](https://github.com/aws/aws-sdk-java-v2/issues/431) ## __Amazon DynamoDB Streams__ - ### Features - Dynamodb Streams clients are now in `software.amazon.awssdk.services.dynamodb.streams` package. ## __Amazon S3__ - ### Features - Move `AWSS3V4Signer` to auth module. ## __Netty NIO Async HTTP Client__ - ### Bugfixes - Fix the Netty async client to stop publishing to the request stream once `Content-Length` is reached. # __2.0.0-preview-10__ __2018-05-25__ ## __AWS SDK for Java v2__ - ### Features - Add [SdkHttpResponse](https://github.com/aws/aws-sdk-java-v2/blob/master/http-client-spi/src/main/java/software/amazon/awssdk/http/SdkHttpResponse.java) to [SdkResponse](https://github.com/aws/aws-sdk-java-v2/blob/master/core/src/main/java/software/amazon/awssdk/core/SdkResponse.java) so that customers can retrieve Http data such as headers, status code from the response object. - Add a standard User-Agent when making requests to the metadata service. User-Agent pattern: aws-sdk-java/ - Added Consumer-style methods for all client overloads. - Added Consumer-style methods for vararg parameters. - AsyncResponseTransformer byte array and string methods now match the sync model. - Include root causes in the exception message from AWSCredentialsProviderChain to ease troubleshooting. - Moved AWS specific retry policies to aws-core module, created AwsServiceException and moved isThrottlingException and isClockSkewException methods to SdkServiceException. - Renamed "Bytes" overload for streaming operations to "AsBytes", and "String" overload for enums to "AsString" - Renamed AsyncRequestProvider to AsyncRequestBody to better match sync's RequestBody - Renamed AsyncResponseHandler to AsyncResponseTransformer and StreamingResponseHandler to ResponseTransformer. - Renamed `AdvancedServiceConfiguration` to `ServiceConfiguration` - Renamed `RequestOverrideConfig` to `RequestOverrideConfiguration` to match `ClientOverrideConfiguration` naming. - Simplified configuration of HTTP clients. - Split core module to regions, profiles, auth, aws-core and core modules.[#27](https://github.com/aws/aws-sdk-java-v2/issues/27) - Updating default retry policy to include newly added conditions. - ### Removals - Remove httpRequestTimeout and totalExecutionTimeout features ## __AWS Secrets Manager__ - ### Features - Add AWS Secrets Manager to v2. ## __Amazon S3__ - ### Features - Renamed `S3AdvancedConfiguration` to `S3Configuration` # __2.0.0-preview-9__ __2018-03-20__ ## __AWS Lambda__ - ### Features - Added latest model for new service features. ## __AWS SDK for Java v2__ - ### Bugfixes - Fix default user agent to comply with [RFC 7231](https://tools.ietf.org/html/rfc7231#section-5.5.3). Related to [#80](https://github.com/aws/aws-sdk-java-v2/issues/80) - Maven artifact software.amazon.awssdk:bom no longer includes non-SDK dependencies. # __2.0.0-preview-8__ __2018-02-02__ ## __AWS SDK for Java v2__ - ### Features - Added Consumer methods to multiple locations where they were previously missing. - Added `SdkClient` base interface that all service clients implement. - Added and standardized `toString` implementations of public data classes. - Adding the following services from re:invent 2017: - Alexa For Business - AWS Migration Hub - AWS Cost Explorer - AWS Cloud9 - AWS CloudHSM V2 - Amazon Comprehend - AWS Glue - Amazon GuardDuty - Amazon Kinesis Video Streams - AWS Elemental MediaConvert - AWS Elemental MediaLive - AWS Elemental MediaPackage - AWS Elemental MediaStore - AWS Mobile - AmazonMQ - AWS Price List - AWS Resource Groups - Amazon SageMaker - AWS Serverless Application Repository - Amazon Route 53 Auto Naming - Amazon Translate - Amazon WorkMail - Setting `Content-Type` header for streaming requests. Related to [#357](https://github.com/aws/aws-sdk-java-v2/issues/357) - upgrade Netty 4.1.17.Final to 4.1.19.Final - ### Bugfixes - Fixed issue where error message in S3 exceptions could be "null" if the exception did not have a modeled type. ## __Amazon CloudWatch__ - ### Features - Added pagination configuration to CloudWatch ## __Netty NIO Async HTTP Client__ - ### Bugfixes - Fix race condition in the async client causing instability when making multiple concurent requests. Fixes [#202](https://github.com/aws/aws-sdk-java-v2/issues/202) # __2.0.0-preview-7__ __2017-12-15__ ## __AWS SDK for Java v2__ - ### Features - Added `Bytes` methods to all streaming operations. These methods will load the service response into memory and return a `ResponseBytes` object that eases conversion into other types, like strings. eg. `String object = s3.getObjectBytes(request).asUtf8String()`. [#324](https://github.com/aws/aws-sdk-java-v2/pull/324) - Added `ProfileCredentialsProvider.create("profile-name")` helper to `ProfileCredentialsProvider` to account for common use-case where only profile name is provided. [#347](https://github.com/aws/aws-sdk-java-v2/pull/347) - Adds convenience type overloads to allow easier to use types on modeled objects. [#336](https://github.com/aws/aws-sdk-java-v2/pull/336) - Automatically retry streaming downloads to a file if they fail or are interrupted. [#324](https://github.com/aws/aws-sdk-java-v2/pull/324) - Implementation of a generic HTTP credential provider used to get credentials from an container metadata service. Replica of v1 [implementation](https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-core/src/main/java/com/amazonaws/auth/ContainerCredentialsProvider.java#L108) [#328](https://github.com/aws/aws-sdk-java-v2/pull/328) - Refactors the exceptions used by the SDK. [#301](https://github.com/aws/aws-sdk-java-v2/pull/301) - Remove the legacy `AmazonWebServiceRequest`, `AmazonWebServiceResult`, and `AmazonWebServiceResponse` classes. They are replaced with `AwsRequest` and `AwsResponse`. [#289](https://github.com/aws/aws-sdk-java-v2/issues/289) - Updated profile-based region and credential loading to more closely mirror the behavior in the AWS CLI. Notably, profile names in `~/.aws/config` must be prefixed with "profile " (except for the default profile) and profile names in `~/.aws/credentials` must not be prefixed with "profile ". [#296](https://github.com/aws/aws-sdk-java-v2/pull/296) - Upgrade maven-compiler-plugin from 3.6.0 to 3.7.0 - Upgraded dependencies * Wiremock (com.github.tomakehurst:wiremock) 1.55 -> 2.12.0 * Json Path (com.jayway.jsonpath:json-path) 2.2.0 -> 2.4.0 - upgrade to Jackson 2.9.3 - ### Removals - Remove easymock as a dependency, mockito should be used for all mocking going forward. [#348](https://github.com/aws/aws-sdk-java-v2/pull/348) - Removed the following unused dependencies [#349](https://github.com/aws/aws-sdk-java-v2/issues/349): * org.eclipse:text * info.cukes:cucumber-java * info.cukes:cucumber-junit * info.cukes:cucumber-guice * com.google.inject:guice * org.bouncycastle:bcprov-jdk15on * com.google.guava:guava * io.burt:jmespath-jackson * javax.annotation:javax.annotation-api ## __Amazon S3__ - ### Bugfixes - Fixing exception unmarshalling for S3. [#297](https://github.com/aws/aws-sdk-java-v2/issues/297) ## __Netty NIO Async HTTP Client__ - ### Bugfixes - Fixes Issue [#340](https://github.com/aws/aws-sdk-java-v2/issues/340) where connection acquisition time was calculated incorrectly in the Netty client. # __2.0.0-preview-6__ __2017-12-06__ ## __AWS AppSync__ - ### Features - Adding AWS AppSync based on customer request. [#318](https://github.com/aws/aws-sdk-java-v2/pull/318) ## __AWS Lambda__ - ### Removals - Removed high-level utilities. [#247](https://github.com/aws/aws-sdk-java-v2/pull/247) ## __AWS SDK for Java v2__ - ### Features - Add paginators-1.json file for some services [#298](https://github.com/aws/aws-sdk-java-v2/pull/298) - Added a primitive `Waiter` class for simplifying poll-until-condition-is-met behavior. [#300](https://github.com/aws/aws-sdk-java-v2/pull/300) - Adding Consumer to overrideConfiguration on ClientBuilder [#291](https://github.com/aws/aws-sdk-java-v2/pull/291) - Adding helper to Either that allows construction from two possibly null values [#292](https://github.com/aws/aws-sdk-java-v2/pull/292) - Adding knownValues static to enum generation [#218](https://github.com/aws/aws-sdk-java-v2/pull/218) - Adding validation to Region class [#261](https://github.com/aws/aws-sdk-java-v2/pull/261) - Converted all wiremock tests to run as part of the build. [#260](https://github.com/aws/aws-sdk-java-v2/pull/260) - Enhanced pagination for synchronous clients[#207](https://github.com/aws/aws-sdk-java-v2/pull/207) - Implementing Consumer fluent setter pattern on client operations [#280](https://github.com/aws/aws-sdk-java-v2/pull/280) - Implementing Consumer fluent setters pattern on model builders. [#278](https://github.com/aws/aws-sdk-java-v2/pull/278) - Making it easier to supply async http configuration. [#274](https://github.com/aws/aws-sdk-java-v2/pull/274) - Refactoring retry logic out to separate class [#177](https://github.com/aws/aws-sdk-java-v2/pull/177) - Removing unnecessary javax.mail dependency [#312](https://github.com/aws/aws-sdk-java-v2/pull/312) - Replacing constructors with static factory methods [#284](https://github.com/aws/aws-sdk-java-v2/pull/284) - Retry policy refactor [#190](https://github.com/aws/aws-sdk-java-v2/pull/190) - Update latest models for existing services [#299](https://github.com/aws/aws-sdk-java-v2/pull/299) - Upgrade dependencies to support future migration to Java 9. [#271](https://github.com/aws/aws-sdk-java-v2/pull/271) - Upgraded dependencies: * javapoet 1.8.0 -> 1.9.0 [#311](https://github.com/aws/aws-sdk-java-v2/pull/311) * Apache HttpClient 4.5.2 -> 4.5.4 [#308](https://{github.com/aws/aws-sdk-java-v2/pull/308) * Jackson 2.9.1 -> 2.9.2 [#310](https://github.com/aws/aws-sdk-java-v2/pull/310) * Netty 4.1.13 -> 4.1.17 [#309](https://github.com/{aws/aws-sdk-java-v2/pull/309) - Use java.util.Objects to implement equals, hashCode [#294](https://github.com/aws/aws-sdk-java-v2/pull/294) - ### Bugfixes - Attempting to fix class-loader exception raised on gitter. [#216](https://github.com/aws/aws-sdk-java-v2/pull/216) - Call doClose in HttpClientDependencies#close method [#268](https://github.com/aws/aws-sdk-java-v2/pull/268) - Fixing bundle exports [#281](https://github.com/aws/aws-sdk-java-v2/pull/281) - ### Removals - Delete old jmespath AST script [#266](https://github.com/aws/aws-sdk-java-v2/pull/266) - Remove current waiter implementation. [#258](https://github.com/aws/aws-sdk-java-v2/pull/258) - Removed policy builder. [#259](https://github.com/aws/aws-sdk-java-v2/pull/259) - Removed progress listeners until they can be updated to V2 standards. [#285](https://github.com/aws/aws-sdk-java-v2/pull/285) ## __Amazon CloudFront__ - ### Removals - Removed high-level cloudfront utilities. [#242](https://github.com/aws/aws-sdk-java-v2/pull/242) ## __Amazon DynamoDB__ - ### Features - Adding some helpers for being able to create DyanmoDB AttributeValues. [#276](https://github.com/aws/aws-sdk-java-v2/pull/276) - ### Bugfixes - Fixed TableUtils that broke with enum change. [#235](https://github.com/aws/aws-sdk-java-v2/pull/235) ## __Amazon EC2__ - ### Removals - Removed high-level utilities. [#244](https://github.com/aws/aws-sdk-java-v2/pull/244) ## __Amazon EMR__ - ### Removals - Removed high-level utilities. [#245](https://github.com/aws/aws-sdk-java-v2/pull/245) ## __Amazon Glacier__ - ### Removals - Removed high-level utilities. [#246](https://github.com/aws/aws-sdk-java-v2/pull/246) ## __Amazon Polly__ - ### Removals - Removed polly presigners until they can be updated for V2. [#287](https://github.com/aws/aws-sdk-java-v2/pull/287) ## __Amazon S3__ - ### Features - Adding utility that creates temporary bucket name using user-name [#234](https://github.com/aws/aws-sdk-java-v2/pull/234) ## __Amazon SES__ - ### Removals - Removed high-level utilities. [#248](https://github.com/aws/aws-sdk-java-v2/pull/248) ## __Amazon SNS__ - ### Removals - Removed high-level utilities. [#255](https://github.com/aws/aws-sdk-java-v2/pull/255) ## __Amazon SQS__ - ### Bugfixes - Porting SQS test to make use of async and hopefully resolve the bug [#240](https://github.com/aws/aws-sdk-java-v2/pull/240) - ### Removals - Removed high-level utilities and the interceptor that rewrites the endpoint based on the SQS queue. [#238](https://github.com/aws/aws-sdk-java-v2/pull/238) ## __Amazon SimpleDB__ - ### Removals - Removed high-level utilities and unused response metadata handler. [#249](https://github.com/aws/aws-sdk-java-v2/pull/249) ## __Netty NIO Async HTTP Client__ - ### Features - Adding socket resolver helper that will load the appropriate SocketChannel [#293](https://github.com/aws/aws-sdk-java-v2/pull/293) - ### Bugfixes - Netty spurious timeout error fix [#283](https://github.com/aws/aws-sdk-java-v2/pull/283) - Temporarily disable epoll [#254](https://github.com/aws/aws-sdk-java-v2/pull/254) # __2.0.0-preview-5__ __2017-10-17__ ## __AWS SDK for Java v2__ - ### Features - Asynchronous request handler for strings `AsyncRequestProvider.fromString("hello world!!!")` [PR #183](https://github.com/aws/aws-sdk-java-v2/pull/183) - General HTTP core clean-up [PR #178](https://github.com/aws/aws-sdk-java-v2/pull/178) - Get value from request POJO using member model names `String bucketName = s3PutObjectResponse.getValueForField("Bucket", String.class);` [PR #144](https://github.com/aws/aws-sdk-java-v2/pull/144) - Model enums on service POJOs [PR #195](https://github.com/aws/aws-sdk-java-v2/pull/195) - Move `core` classes to their own package `software.amazon.awssdk.core` [PR #194](https://github.com/aws/aws-sdk-java-v2/pull/194) - ### Bugfixes - Resolve potential security issue handling DTD entities [PR #198](https://github.com/aws/aws-sdk-java-v2/pull/198) - Serialization/deserialization of complex model objects [PR #128](https://github.com/aws/aws-sdk-java-v2/pull/128) / [Issue #121](https://github.com/aws/aws-sdk-java-v2/issues/121) ## __Amazon S3__ - ### Features - Handle 100-continue header for PUT object [PR #169](https://github.com/aws/aws-sdk-java-v2/pull/169) ## __Netty NIO Async HTTP Client__ - ### Bugfixes - Better handling of event-loop selection for AWS Lambda container [PR #208](https://github.com/aws/aws-sdk-java-v2/pull/208) - Data corruption fix in streaming responses and stability fixes [PR #173](https://github.com/aws/aws-sdk-java-v2/pull/173) # __2.0.0-preview-4__ __2017-09-19__ ## __AWS SDK for Java v2__ - ### Features - Added convenience methods for both sync and async streaming operations for file based uploads/downloads. - Added some convenience implementation of [AsyncResponseHandler](https://github.com/aws/aws-sdk-java-v2/blob/master/core/src/main/java/software/amazon/awssdk/async/AsyncResponseHandler.java) to emit to a byte array or String. - Immutable objects can now be modified easily with a newly introduced [copy](https://github.com/aws/aws-sdk-java-v2/blob/master/utils/src/main/java/software/amazon/awssdk/utils/builder/ToCopyableBuilder.java#L42) method that applies a transformation on the builder for the object and returns a new immutable object. - Major refactor of RequestHandler interfaces. Newly introduced [ExecutionInterceptors](https://github.com/aws/aws-sdk-java-v2/blob/master/core/src/main/java/software/amazon/awssdk/interceptor/ExecutionInterceptor.java) have a cleaner, more consistent API and are much more powerful. - S3's CreateBucket no longer requires the location constraint to be specified, it will be inferred from the client region if not present. - The [File](https://github.com/aws/aws-sdk-java-v2/blob/master/core/src/main/java/software/amazon/awssdk/sync/StreamingResponseHandler.java#L92) and [OutputStream](https://github.com/aws/aws-sdk-java-v2/blob/master/core/src/main/java/software/amazon/awssdk/sync/StreamingResponseHandler.java#L107) implementations of StreamingResponseHandler now return the POJO response in onComplete. - ### Bugfixes - Fixed a bug in default credential provider chain where it would erroneously abort at the ProfileCredentialsProvider. See [Issue #135](https://github.com/aws/aws-sdk-java-v2/issues/135) - Many improvements and fixes to the Netty NIO based transport. - Several fixes around S3's endpoint resolution, particularly with advanced options like path style addressing and accelerate mode. See [Issue #130](https://github.com/aws/aws-sdk-java-v2/issues/130) - Several fixes around serialization and deserialization of immutable objects. See [Issue #122](https://github.com/aws/aws-sdk-java-v2/issues/122) - Type parameters are now correctly included for [StreamingResponseHandler](https://github.com/aws/aws-sdk-java-v2/blob/master/core/src/main/java/software/amazon/awssdk/sync/StreamingResponseHandler.java) on the client interface. - ### Removals - Dependency on JodaTime has been dropped in favor of Java 8's APIS. - DynamoDBMapper and DynamoDB Document API have been removed. - Metrics subsystem has been removed. # __2.0.0-preview-2__ __2017-07-21__ ## __AWS SDK for Java v2__ - ### Features - New pluggable HTTP implementation built on top of Java's HttpUrlConnection. Good choice for simple applications with low throughput requirements. Better cold start latency than the default Apache implementation. - Simple convenience methods have been added for operations that require no input parameters. - Substantial improvements to start up time and cold start latencies - The Netty NIO HTTP client now uses a shared event loop group for better resource management. More options for customizing the event loop group are now available. - Using java.time instead of the legacy java.util.Date in generated model classes. - Various improvements to the immutability of model POJOs. ByteBuffers are now copied and collections are returned as unmodifiable. # __2.0.0-preview-1__ __2017-06-28__ ## __AWS SDK for Java v2__ - ### Features - Initial release of the AWS SDK for Java v2. See our [blog post](https://aws.amazon.com/blogs/developer/aws-sdk-for-java-2-0-developer-preview) for information about this new major version. This release is considered a developer preview and is not intended for production use cases.