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 - 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
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
- RetryPolicy bug fix: adding throttlingBackoffStrategy to
RetryPolicy.Builder
. see #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
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
- 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 and ensure current implementations are compliant. #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, #529, #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
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 to SdkResponse 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
- 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. Related to #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 - 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
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 - Added
ProfileCredentialsProvider.create("profile-name")
helper to ProfileCredentialsProvider
to account for common use-case where only profile name is provided. #347 - Adds convenience type overloads to allow easier to use types on modeled objects. #336
- Automatically retry streaming downloads to a file if they fail or are interrupted. #324
- Implementation of a generic HTTP credential provider used to get credentials from an container metadata service. Replica of v1 implementation #328
- Refactors the exceptions used by the SDK. #301
- Remove the legacy
AmazonWebServiceRequest
, AmazonWebServiceResult
, and AmazonWebServiceResponse
classes. They are replaced with AwsRequest
and AwsResponse
. #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 - 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
- Removed the following unused dependencies #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
Netty NIO Async HTTP Client
Bugfixes
- Fixes Issue #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
AWS Lambda
Removals
- Removed high-level utilities. #247
AWS SDK for Java v2
Features
- Add paginators-1.json file for some services #298
- Added a primitive
Waiter
class for simplifying poll-until-condition-is-met behavior. #300 - Adding Consumer to overrideConfiguration on ClientBuilder #291
- Adding helper to Either that allows construction from two possibly null values #292
- Adding knownValues static to enum generation #218
- Adding validation to Region class #261
- Converted all wiremock tests to run as part of the build. #260
- Enhanced pagination for synchronous clients#207
- Implementing Consumer fluent setter pattern on client operations #280
- Implementing Consumer fluent setters pattern on model builders. #278
- Making it easier to supply async http configuration. #274
- Refactoring retry logic out to separate class #177
- Removing unnecessary javax.mail dependency #312
- Replacing constructors with static factory methods #284
- Retry policy refactor #190
- Update latest models for existing services #299
- Upgrade dependencies to support future migration to Java 9. #271
- Upgraded dependencies:
- javapoet 1.8.0 -> 1.9.0 #311
- Apache HttpClient 4.5.2 -> 4.5.4 #308
- Jackson 2.9.1 -> 2.9.2 #310
- Netty 4.1.13 -> 4.1.17 #309
- Use java.util.Objects to implement equals, hashCode #294
Bugfixes
- Attempting to fix class-loader exception raised on gitter. #216
- Call doClose in HttpClientDependencies#close method #268
- Fixing bundle exports #281
Removals
- Delete old jmespath AST script #266
- Remove current waiter implementation. #258
- Removed policy builder. #259
- Removed progress listeners until they can be updated to V2 standards. #285
Amazon CloudFront
Removals
- Removed high-level cloudfront utilities. #242
Amazon DynamoDB
Features
- Adding some helpers for being able to create DyanmoDB AttributeValues. #276
Bugfixes
- Fixed TableUtils that broke with enum change. #235
Amazon EC2
Removals
- Removed high-level utilities. #244
Amazon EMR
Removals
- Removed high-level utilities. #245
Amazon Glacier
Removals
- Removed high-level utilities. #246
Amazon Polly
Removals
- Removed polly presigners until they can be updated for V2. #287
Amazon S3
Features
- Adding utility that creates temporary bucket name using user-name #234
Amazon SES
Removals
- Removed high-level utilities. #248
Amazon SNS
Removals
- Removed high-level utilities. #255
Amazon SQS
Bugfixes
- Porting SQS test to make use of async and hopefully resolve the bug #240
Removals
- Removed high-level utilities and the interceptor that rewrites the endpoint based on the SQS queue. #238
Amazon SimpleDB
Removals
- Removed high-level utilities and unused response metadata handler. #249
Netty NIO Async HTTP Client
Features
- Adding socket resolver helper that will load the appropriate SocketChannel #293
Bugfixes
- Netty spurious timeout error fix #283
- Temporarily disable epoll #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 - General HTTP core clean-up PR #178
- Get value from request POJO using member model names
String bucketName = s3PutObjectResponse.getValueForField("Bucket", String.class);
PR #144 - Model enums on service POJOs PR #195
- Move
core
classes to their own package software.amazon.awssdk.core
PR #194
Bugfixes
- Resolve potential security issue handling DTD entities PR #198
- Serialization/deserialization of complex model objects PR #128 / Issue #121
Amazon S3
Features
- Handle 100-continue header for PUT object PR #169
Netty NIO Async HTTP Client
Bugfixes
- Better handling of event-loop selection for AWS Lambda container PR #208
- Data corruption fix in streaming responses and stability fixes PR #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 to emit to a byte array or String.
- Immutable objects can now be modified easily with a newly introduced copy 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 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 and OutputStream 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
- 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
- Several fixes around serialization and deserialization of immutable objects. See Issue #122
- Type parameters are now correctly included for StreamingResponseHandler 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 for information about this new major version. This release is considered a developer preview and is not intended for production use cases.