This is trimmed changelog for AWS Java SDK versions 2.15.57...2.17.102. Only relevant product changes (related to DynamoDB) are shown here
Full changelog is at https://github.com/aws/aws-sdk-java-v2/blob/master/CHANGELOG.md
- Features
- Updated SDK default configurations.
- Updated service endpoint metadata.
- Features
- Introduce a defaults mode configuration that determines how certain default configuration options are resolved in the SDK. See
DefaultsMode
for more information. - Updated SDK default configurations.
- Updated service endpoint metadata.
- Introduce a defaults mode configuration that determines how certain default configuration options are resolved in the SDK. See
- Features
- Add "ConcurrencyAcquireDuration" metric for apache-client
- Features
- If
tlsNegotiationTimeout
is not configured, it will be set to the resolvedconnectionTimeout
. By default,tlsNegotiationTimeout
is now 2s instead of 10s
- If
- Bugfixes
- Ensure in-use channels are not incorrectly closed
- Features
- Updated service endpoint metadata.
- Bugfixes
- Make
ProcessCredentialsProvider
closeable, so that the internal credentials cache (which may be async and need to be closed) can be closed.
- Make
- Features
- Add "ConcurrencyAcquireDuration" metric for netty-nio-client
- Features
- Updated service endpoint metadata.
- Bugfixes
- Ensure initial channel used for protocol detection is released before re-acquiring
- Features
- Lower memory consumption for HTTP requests by enabling fixed-length streaming mode.
- Contributed by: @rtyley
- Lower memory consumption for HTTP requests by enabling fixed-length streaming mode.
- Bugfixes
- Fix to set TokenBucket capacity correctly when requested amount greater than capacity
- Bugfixes
- Complete the future returned by SdkPublisher.subscribe or filter exceptionally if the subscriber or predicate throws an exception.
- Features
- Updated service endpoint metadata.
- Features
- Add support for Table Classes and introduce the Standard Infrequent Access table class.
- Features
- Updated service endpoint metadata.
- Features
- DynamoDB PartiQL now supports ReturnConsumedCapacity, which returns capacity units consumed by PartiQL APIs if the request specified returnConsumedCapacity parameter. PartiQL APIs include ExecuteStatement, BatchExecuteStatement, and ExecuteTransaction.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Adds all fields in RequestOverrideConfiguration when a builder is created from an instance
- Features
- Adds operation type labels to each operation and propagates to the extension write context
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Implement
DescribeTable
operation inDynamoDbTable
andDynamoDbAsyncTable
- Implement
- Features
- Bugfixes
- Update the REST-JSON marshalling logic to conform to the standard expected behavior WRT to the
Content-Type
of the request.
- Update the REST-JSON marshalling logic to conform to the standard expected behavior WRT to the
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated Help section for "dynamodb update-contributor-insights" API
- Features
- Added a new
dualstackEnabled
property to every client builder, which can be used to make calls be invoked against AWS endpoints which return IPv6 records. This can also be enabled via theAWS_USE_DUALSTACK_ENDPOINT
environment variable,aws.useDualstackEndpoint
system property, or theuse_dualstack_endpoint
profile file property.
- Added a new
- Features
- Added a new
fipsEnabled
property to every client builder, which can be used to make calls be invoked against AWS endpoints which are FIPS compliant. This can also be enabled via theAWS_USE_FIPS_ENDPOINT
environment variable,aws.useFipsEndpoint
system property, or theuse_fips_endpoint
profile file property.
- Added a new
- Features
- Add DNS resolver override support for Apache HTTP Client
- Features
- Updated service endpoint metadata.
- Features
- Added the profile key
duration_seconds
to classProfileProperty
- Contributed by: @abrooksv
- Added the profile key
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Allow users to configure tlsNegotiationTimeout on NettyNioAsyncHttpClient
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Added support for @DynamoDBAutoGeneratedTimestamp that can be used for auto updated the last updated timestamp for a record.
- Features
- Provide an error message if a AsyncRequestBody.fromFile source file changes length or update time while the SDK is reading from the file.
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Update the REST-JSON marshalling logic to conform to the standard expected behavior WRT to the
Content-Type
of the request.
- Update the REST-JSON marshalling logic to conform to the standard expected behavior WRT to the
- Features
- Add missing @Override annotations
- Bugfixes
- Allow AwsErrorDetails to be serialized using Java serialization
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fixes a bug in XML error unmarshalling where error responses with empty body won't populate the requestId field. Affects Amazon S3 API calls such as Head object
- Features
- Updated service endpoint metadata.
- Features
- Reduce base delay of STANDARD retry mode to 100ms for non-throttling responses. This reduces tail latency in the event of transient failures.
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- When executing a request, it's possible for multiple threads to interact and modify the channel pipeline without synchronizing which can cause issues. This commit fixes this issue by ensuring that code that modifies the pipeline all run within the context of the channel's event loop.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- This commit introduces DynamoDbTable#updateItemWithResponse() that allows customers to specify additional parameters on the request such as ReturnConsumedCapacity to get additional information the service response.
- Features
- Allow parallel scan via DynamoDBEnhanced client and modify ScanEnhancedRequest to support totalSegments and segment parameters.
The corresponding github issue is aws/aws-sdk-java-v2#1851
- Contributed by: @asanthan-amazon
- Allow parallel scan via DynamoDBEnhanced client and modify ScanEnhancedRequest to support totalSegments and segment parameters.
The corresponding github issue is aws/aws-sdk-java-v2#1851
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Update
netty-tcnative-boringssl-static
to2.0.43.Final
to fix issues loading the native libraries on some platforms.
- Update
- Bugfixes
- Bug fix to handle DocumentType for Explicit payload members.
- Features
- Updated service endpoint metadata.
- Features
- Remove SDK usage of global execution.interceptors files. This reduces the need for customers to use a special transformer for execution.interceptors files when they are creating an uber-jar of all SDK modules. Customers should still consider using such an appender, in case other libraries rely on execution.interceptors files.
- Updated service endpoint metadata.
- Features
- Annotated immutable class introspector now ignores 'toBuilder' method allowing easier integration with libraries that auto-generate this method on immutable data classes.
- Contributed by: @bmaizels
- Annotated immutable class introspector now ignores 'toBuilder' method allowing easier integration with libraries that auto-generate this method on immutable data classes.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Update Sigv4a signer to include the port in the Host header, when the port does not match the standard port for the protocol. This allows requests to endpoints with non-standard ports to succeed.
- Features
- This commit introduces DynamoDbTable#deleteItemWithResponse() that allows customers to specify additional parameters on the request such as ReturnConsumedCapacity to get additional information the service response.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- This commit introduces DynamoDbTable#putItemWithResponse() that allows customers to specify additional parameters on the request such as ReturnValues to get additional information the service response.
- Features
- Upgrade Netty to 4.1.68
- Features
- Updated service endpoint metadata.
- Features
- Add support for authenticated corporate proxies
- Contributed by: @guillepb10
- Updated service endpoint metadata.
- Add support for authenticated corporate proxies
- Bugfixes
- Fix
PutItemEnhancedRequest
andDeleteItemEnhancedRequest
to includeConditionExpression
in theirequals()
andhashCode()
calculations. - Fixes for
UpdateItemEnhancedRequest
:- Include
ConditionExpression
intoBuilder()
- Include
ConditionExpression
inequals()
andhashCode()
calculations
- Include
- Fix
- Features
- Updated service endpoint metadata.
- Features
- Improve performance of generated enum methods
- Features
- Updated service endpoint metadata.
- Features
- Allow customers to specify
ReturnValuesOnConditionCheckFailure
forTransactWriteItems
. Addresses #2283.
- Allow customers to specify
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Added new convenience methods to SdkPublisher: doAfterOnError, doAfterOnComplete, and doAfterCancel.
- Updated service endpoint metadata.
- Bugfixes
- Fixed an issue where event streams might fail with ClassCastException or NoSuchElementExceptions
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fix
NullPointerException
inRetryPolicy.hashCode()
.
- Fix
- Features
- Updated service endpoint metadata.
- Features
- Implement ADAPTIVE retry mode. ADAPTIVE mode builds on STANDARD retry mode and adds rate limiting of requests when the client is throttled.
- Adaptive retry mode dynamically limits the rate of AWS requests to maximize success rate. This may be at the expense of request latency. Adaptive retry mode is not recommended when predictable latency is important.
- Warning: Adaptive retry mode assumes that the client is working against a single resource (e.g. one DynamoDB Table or one S3 Bucket). If you use a single client for multiple resources, throttling or outages associated with one resource will result in increased latency and failures when accessing all other resources via the same client. When using adaptive retry mode, we recommend using a single client per resource.
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Upgrade Netty version to 4.1.66.Final
- Bugfixes
- Fixed connection pooling for HTTPS endpoints. Previously, each request would create a new connection.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fixed an issue where request-level overrides (e.g. credentials) were not applied to endpoint discovery calls.
- Bugfixes
- Use "full jitter" & updated base delay for STANDARD retry mode defaults
- Documentations
- Create a shared, project-level IntelliJ inspection profile
- Move IntelliJ code style & copyright configuration to project-level settings
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fix issue in
FileAsyncRequestBody
where the underlying file channel would only be closed when enough requests are sent to read past the end of the file; if just enough requests are sent to read to the end of the file, the file is not closed, leaving an open file descriptor around longer than it needs to be.
- Fix issue in
- Features
- Updated service endpoint metadata.
- Features
- Add customization.config support for setting default RetryMode
- Updated service endpoint metadata.
- Bugfixes
- Fixed an issue where a bean-based marshallers for request and response models would fail for fluent setters that happened to start with "set", like "settings".
- Bugfixes
- Add IntelliJ .ipr files to gitignore
- Bugfixes
- Don't attempt to use empty session tokens
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Correctly handle multi-value headers in Aws4Signer
- Features
- Updated service endpoint metadata.
- Features
- Annotate and document members that are modeled as deprecated
- Features
- Moved Jackson from an external SDK dependency to an internal dependency: https://aws.amazon.com/blogs/developer/the-aws-sdk-for-java-2-17-removes-its-external-dependency-on-jackson/
- Features
- This changes implements support for the
AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE
environment variable andec2_metadata_service_endpoint
profile file property. - When no endpoint override is set using
AWS_EC2_METADATA_SERVICE_ENDPOINT
, this configuration controls which of the default IMDS endpoints the client will use. Valid values areIPv4
orIPv6
- Updated service endpoint metadata.
- This changes implements support for the
- Features
- Add support for marshalling lists of strings in HTTP headers
- Documentations
- Update pull request template to place motivation before description
- Contributed by: @Bennett-Lynch
- Update pull request template to place motivation before description
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Use EnumMap where possible.
- Contributed by: @Bennett-Lynch
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- [UrlConnectionHttpClient] Wrap erroneous NPE from HttpURLConnection as IOException
- Contributed by: @Bennett-Lynch
- [UrlConnectionHttpClient] Wrap erroneous NPE from HttpURLConnection as IOException
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Add support for encryption in transit to DAX clusters.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fix for PR #2510 by adding Support for customization of contentType for Header ContentType for services like aws WellArchitected service.
- Bugfixes
- Fix for NullPointerException while Marshalling List/Map of TimeStamps
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fixed the issue where the SDK failed to parse timestamps with offsets. See #2477
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Add
tcpKeepAlive
configuration.
- Add
- Features
- Updated service endpoint metadata.
- Features
- Support delete-table operation in DDBEnhanced.
- Bugfixes
- Fixed an issue where an async waiter failed to match exception when the exception was wrapped with CompletionException. See #2460
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- This feature adds client and request overrides of execution attributes prior to request invocation.
- Contributed by: @ndejaco2
- This feature adds client and request overrides of execution attributes prior to request invocation.
- Bugfixes
- Fixed bean-based marshalling for model builder types containing complex collections.
- Features
- Added method to BatchGetItem results to retrieve unprocessed keys for a given table.
- Features
- Added support for short type in Code generator.
- Contributed by: @duy310
- Updated service endpoint metadata.
- Added support for short type in Code generator.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fixed an issue where structure builders containing List<Map<String, Shape>> could not be marshalled using bean-based serializers.
- Features
- Add a new Optional getter for the content length of RequestBody, also add a new fromContentProvider method allowing contentLength to be null.
- Features
- Added
DynamoDbIgnoreNulls
attribute level annotation that specifies attributes with null values should be ignored. See #2303
- Added
- Features
- Updated service endpoint metadata.
- Features
- Added a new method annotation
DynamoDbPreserveEmptyObject
that specifies a class as empty class if all fields are null when mapping a DynamoDb record to a Java bean. See #2280.
- Added a new method annotation
- Bugfixes
- Fixes a bug in issue #2310 where nested attributes aren't sanitized properly for projection expressions.
- Features
- Add a configuration option to enable
TCP_KEEPALIVE
on the ApacheHttpClient.- Contributed by: @ajs139
- Updated service endpoint metadata.
- Add a configuration option to enable
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fix leak of bytebuf on HTTP GoAway
- Features
- Update Netty dependency to
4.1.61.Final
.
- Update Netty dependency to
- Features
- This feature adds client and request overrides of execution attributes prior to request invocation.
- Contributed by: @ndejaco2
- This feature adds client and request overrides of execution attributes prior to request invocation.
- Bugfixes
- Expose the metadata key on SDK client interfaces for use with
ServiceMetadataProvider
- Expose the metadata key on SDK client interfaces for use with
- Features
- Updated service endpoint metadata.
- Bugfixes
- Removal of
--report-unsupported-elements-at-runtime
option from SDK core'snative-image.properties
as the option is not meant to be used in production.- Contributed by: @zakkak
- Removal of
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Removing Freemarker version 2.3.24 since this package is not used in the code.
- Bugfixes
- Use HTTPs for AWS API Documentation links in javadocs
- Contributed by: @Carey-AWS
- Use HTTPs for AWS API Documentation links in javadocs
- Documentations
- Implements web metrics tracking and standard AWS footer for javadocs, and adds a link to submit feedback about the javadocs
- Contributed by: @Carey-AWS
- Implements web metrics tracking and standard AWS footer for javadocs, and adds a link to submit feedback about the javadocs
- Features
- Upgrade Netty version to 4.1.60
- Features
- Updated service endpoint metadata.
- Features
- Change STANDARD mode retry count which was 2 for DynamoDB to match LEGACY retry count which is 8.
- Features
- Include the retry mode STANDARD or LEGACY in the user agents list.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fix for module-path tests failure reported in #2240
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Add GraalVM Native Image configurations for SDK classes
- Created a new archetype,
archetype-app-quickstart
, which allows you to create a simple application with SDK dependencies
- Bugfixes
- Upgrade Jackson dependencies to
2.12.1
.
- Upgrade Jackson dependencies to
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Converts string to NULL attribute if it's null. See #2243
- Bugfixes
- Add support for content-type in AsyncRequestBody.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Reverting synchronization of eventsToDeliver Object in onComplete() PR#1971 since it was causing latency.
- Features
- Upgrade
aws-crt
to version0.9.3
- Upgrade
- Features
- Updated service endpoint metadata.
- Bugfixes
- Correctly select the cipher suites based on the HTTP protocol. See #2159
- Use
SystemPropretyTlsKeyManagersProvider
if noKeyManger
is provided.
- Features
- Updated service endpoint metadata.
- Bugfixes
- Fix for #1684 Some of the Retry attempts which failed due to the API TimeOuts did not successfully retried but ended up with AbortedException.