-
- Updated to the latest service models.
-
- Changed the region resolution logic for
role_arn
-based profiles: 1. Check for aregion
property in the same profile as therole_arn
definition. 2. Check the default region chain. 3. Fall back to the global endpoint andus-east-1
signing. Fixes #988.
- Changed the region resolution logic for
-
- Fix
SyncChecksumValidationInterceptor
andAsyncChecksumValidationInterceptor
to uselong
instead ofint
for contentLength`. See #963
- Fix
-
- Preserve interrupted flag if
Http2MultiplexedChannelPool#close()
interrupted.
- Preserve interrupted flag if
-
- Disable following redirects automatically since doing so causes SDK response handling to fail
-
- Jackson 2.9.7 -> 2.9.8
-
- Adds the operation name of the calling API to the ExecutionContext class. This exposes a way to get the API name from within an ExecutionInterceptor.
- Updated to the latest service models.
-
- Modify type of S3Object#size member from integer to long. This is a breaking change for customers who are using the size() method currently
- S3 putObject API using UrlConnectionHttpClient goes into infinite loop. See #942 for more details.
-
- Fix a bug where it's possible for an HTTP2 channel pool to be closed while some channels are still being released causing them to be left open and leaked.
-
- Adding a hook to enable custom creation of the initial
HttpURLConnection
. This enables customers to control how a connection is established for a givenURL
including handling any required proxy configuration etc.
- Adding a hook to enable custom creation of the initial
-
- Supporting AWS CodeDeploy
-
- Add
modifyException
API toExecutionInterceptor
. - Add application/gzip mime type
- Update spot bugs version to 3.1.9
- Updated to the latest service models.
- Add
-
- Fix infinite stream of results bug in auto paginator APIs when the next token is an empty string
- Fixes nullpointerexception when server responds with null values in map.
- Use the class loader that loaded the SDK to load the HTTP implementations. See #56
-
- Close created
ChannelPool
s inclose()
method. - Fix the issue where streaming requests with
Expect: 100-continue
header sometimes are hanging because 100Continue response message is not being read automatically. See #459
- Close created
-
- Netty 4.1.32.Final
-
- Updated to the latest service models.
-
- Updated to the latest service models.
-
- Jackson 2.9.6 -> 2.9.7
-
- Add
organizations
toaws-sdk-java
module.
- Add
-
- Fixes Issue #864 by checking for embedded JSON objects while unmarshalling bytes.
-
- Updated to the latest service models.
- Updated to the latest service models.
-
- Fix async pagination javadocs to use the correct method name
SdkPublisher#subscribe
. - Fixed an issue where close() and abort() weren't being honored for streaming responses in all cases.
- Preserve computedChecksum in
ChecksumValidatingInputStream
so that it doesn't throw error if it validates more than once. See #873
- Fix async pagination javadocs to use the correct method name
-
- AWS SDK for Java v2 is generally available now. To get started, please see this blog post.
- Update Netty version to Netty 4.1.31.Final
-
- Temporarily removed OSGi support because the Netty HTTP client does not yet support it. See #726
-
- Not invoke fireExceptionCaught if the channel is not active. see #452
-
- Add
Automatic-Module-Name
manifest entry. - Add
AwsResponseMetadata
support to allow users to retrieve metadata information such asrequestId
,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
- Add
-
- Attach
SdkHttpResponse
to the responses of event streaming operations.
- Attach
-
- Added supplier functionality to StsAssumeRoleWithSamlCredentialProvider. This allows for the saml assertion to be refreshed before getting new credentials from STS.
-
- Remove AWS Step Function high level library for now. We will add them in the future.
-
- 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.
-
- Update S3
EndpointAddressInterceptor
to honor request protocol.
- Update S3
-
- Add support for idle connection reaping.
-
- Apache HttpClient 4.5.5 -> 4.5.6
- Netty 4.1.28 -> 4.1.30
-
- 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)
orRequestOverrideConfiguration.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
withSdkHttpFullResponse
. - Update service models to be current as of 2018-09-07.
-
- Add the ability to provide a Supplier to StsAssumeRoleCredentialsProvider
-
- Fix NPE for S3 GET request using http protocol. see #612
-
- 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.
-
- Netty 4.1.26.Final -> 4.1.28.Final
-
- Accept
SdkBytes
andbyte[]
instead ofByteBuffer
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()
toRegion.id()
- Droppedget
prefix in the method names. eg:getRegions()
->regions()
- Renamed all non-service enums to be singular, not plural.
- Renaming
SdkBuilder.apply()
->SdkBuilder.applyMutation()
and renamingResponseTransformer.apply()
toResponseTransformer.transform()
. - Return
SdkBytes
instead ofByteBuffer
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 byAwsBasicCredentials
andAwsSessionCredentials
. RenamedAwsCredentialsProvider.getCredentials()
toAwsCredentialsProvider.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 - CreateSdkEventLoopGroup
to allow users to provideEventLoopGroup
andChannelFactory
. - upgrade Netty 4.1.22.Final to Netty 4.1.26.Final
- Accept
-
- Deprecating
QueryStringSigner
in favor ofAws4Signer
.
- Deprecating
-
- Make paginators resume method private.(We will re-add the feature in the future)
- Removing gzipEnabled client configuration.
-
- AWS Waf Regional clients are now in
software.amazon.awssdk.services.waf.regional
package.
- AWS Waf Regional clients are now in
-
- Add default DynamoDB specific retry policy.
- Update DynamoDB default max retry count to 8. Related to #431
-
- Dynamodb Streams clients are now in
software.amazon.awssdk.services.dynamodb.streams
package.
- Dynamodb Streams clients are now in
-
- Move
AWSS3V4Signer
to auth module.
- Move
-
- Fix the Netty async client to stop publishing to the request stream once
Content-Length
is reached.
- Fix the Netty async client to stop publishing to the request stream once
-
- 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
toServiceConfiguration
- Renamed
RequestOverrideConfig
toRequestOverrideConfiguration
to matchClientOverrideConfiguration
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.
-
- Remove httpRequestTimeout and totalExecutionTimeout features
-
- Add AWS Secrets Manager to v2.
-
- Renamed
S3AdvancedConfiguration
toS3Configuration
- Renamed
-
- Added latest model for new service 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
-
- Fixed issue where error message in S3 exceptions could be "null" if the exception did not have a modeled type.
-
- Added pagination configuration to CloudWatch
-
- Fix race condition in the async client causing instability when making multiple concurent requests. Fixes #202
-
- Added
Bytes
methods to all streaming operations. These methods will load the service response into memory and return aResponseBytes
object that eases conversion into other types, like strings. eg.String object = s3.getObjectBytes(request).asUtf8String()
. #324 - Added
ProfileCredentialsProvider.create("profile-name")
helper toProfileCredentialsProvider
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
, andAmazonWebServiceResponse
classes. They are replaced withAwsRequest
andAwsResponse
. #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
- Added
-
- 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
-
- Fixing exception unmarshalling for S3. #297
-
- Fixes Issue #340 where connection acquisition time was calculated incorrectly in the Netty client.
-
- Adding AWS AppSync based on customer request. #318
-
- Removed high-level utilities. #247
-
- 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:
- Use java.util.Objects to implement equals, hashCode #294
-
- Removed high-level cloudfront utilities. #242
-
- Adding some helpers for being able to create DyanmoDB AttributeValues. #276
-
- Fixed TableUtils that broke with enum change. #235
-
- Removed high-level utilities. #244
-
- Removed high-level utilities. #245
-
- Removed high-level utilities. #246
-
- Removed polly presigners until they can be updated for V2. #287
-
- Adding utility that creates temporary bucket name using user-name #234
-
- Removed high-level utilities. #248
-
- Removed high-level utilities. #255
-
- Porting SQS test to make use of async and hopefully resolve the bug #240
-
- Removed high-level utilities and the interceptor that rewrites the endpoint based on the SQS queue. #238
-
- Removed high-level utilities and unused response metadata handler. #249
-
- Adding socket resolver helper that will load the appropriate SocketChannel #293
-
- 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 packagesoftware.amazon.awssdk.core
PR #194
- Asynchronous request handler for strings
-
- Resolve potential security issue handling DTD entities PR #198
- Serialization/deserialization of complex model objects PR #128 / Issue #121
-
- Handle 100-continue header for PUT object PR #169
-
- 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.
-
- 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.
-
- 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.
-
- 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.
-
- Initial release of the AWS SDK for Java v2. See our blog post for information about this new major veresion. This release is considered a developer preview and is not intended for production use cases.