-
- 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 improvments 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 improvments 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.