Skip to content

Latest commit

 

History

History
527 lines (435 loc) · 30.8 KB

CHANGELOG.md

File metadata and controls

527 lines (435 loc) · 30.8 KB

2.3.0 2019-01-09

AWS SDK for Java v2

  • Features

    • Updated to the latest service models.
  • Bugfixes

    • ChecksumValidatingPublisher deals with any packetization of the incoming data. See #965
    • Fix an issue where dates were being unmarshalled incorrectly for the CBOR protocol used by Amazon Kinesis.
    • Make default asyncFutureCompletionExeuctor a true multi-threads executor. See #968

AWS STS

  • Bugfixes

    • Changed the region resolution logic for role_arn-based profiles: 1. Check for a region property in the same profile as the role_arn definition. 2. Check the default region chain. 3. Fall back to the global endpoint and us-east-1 signing. Fixes #988.

Amazon S3

  • Bugfixes

    • Fix SyncChecksumValidationInterceptor and AsyncChecksumValidationInterceptor to use long instead of int for contentLength`. See #963

Netty NIO HTTP Client

  • Bugfixes

    • Preserve interrupted flag if Http2MultiplexedChannelPool#close() interrupted.

URLConnection HTTP Client

  • Bugfixes

    • Disable following redirects automatically since doing so causes SDK response handling to fail

core

  • Features

    • Jackson 2.9.7 -> 2.9.8

2.2.0 2018-12-14

AWS SDK for Java v2

  • Features

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

Amazon S3

  • Bugfixes

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

Netty NIO HTTP Client

  • Bugfixes

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

URLConnection HTTP Client

  • Features

    • Adding a hook to enable custom creation of the initial HttpURLConnection. This enables customers to control how a connection is established for a given URL including handling any required proxy configuration etc.

2.1.4 2018-12-07

AWS CodeDeploy

  • Features

    • Supporting AWS CodeDeploy

AWS SDK for Java v2

  • Features

    • Add modifyException API to ExecutionInterceptor.
    • Add application/gzip mime type
    • Update spot bugs version to 3.1.9
    • Updated to the latest service models.
  • Bugfixes

    • 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

Amazon S3

  • Bugfixes

    • Turns off trailing checksums when using SSE-C or SSE-KMS
    • Update S3 headObject/headBucket operations to throw NoSuchKey/NoSuchException when S3 is returning 404. See #123, #544

Netty NIO Async HTTP Client

  • Bugfixes

    • Close created ChannelPools in close() 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

core

  • Features

    • Netty 4.1.32.Final

2.1.3 2018-11-29

AWS SDK for Java v2

  • Features

    • Updated to the latest service models.

2.1.2 2018-11-28

AWS SDK for Java v2

  • Features

    • Updated to the latest service models.

core

  • Features

    • Jackson 2.9.6 -> 2.9.7

2.1.1 2018-11-27

AWS Organizations

  • Bugfixes

    • Add organizations to aws-sdk-java module.

AWS SDK for Java V2

  • Bugfixes

    • Fixes Issue #864 by checking for embedded JSON objects while unmarshalling bytes.

AWS SDK for Java v2

  • Features

    • Updated to the latest service models.
    • Updated to the latest service models.
  • Bugfixes

    • 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

2.1.0 2018-11-19

AWS SDK for Java v2

  • Features

    • 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
  • Bugfixes

    • Temporarily removed OSGi support because the Netty HTTP client does not yet support it. See #726

Netty NIO Async HTTP Client

  • Bugfixes

    • Not invoke fireExceptionCaught if the channel is not active. see #452

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

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 veresion. This release is considered a developer preview and is not intended for production use cases.