You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
422 lines
10 KiB
422 lines
10 KiB
2 months ago
|
# Change Log
|
||
|
|
||
|
## NOT RELEASED
|
||
|
|
||
|
## 1.19.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for Symfony 7
|
||
|
- Support for Athena
|
||
|
- Support for MediaConvert
|
||
|
- Support for IMDS v2 authentication
|
||
|
- Support for using endpoint discovery with parameters passed in the query string or the path
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Fix potential malformed URI in discovered endpoints
|
||
|
|
||
|
## 1.18.1
|
||
|
|
||
|
### Changed
|
||
|
|
||
|
- AWS enhancement: Documentation updates.
|
||
|
- Fix deprecation by adding return type on reset methods
|
||
|
|
||
|
## 1.18.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for Scheduler
|
||
|
|
||
|
## 1.17.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for Iot Data
|
||
|
|
||
|
## 1.16.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for endpoint discovery
|
||
|
- Support for Iot Core
|
||
|
|
||
|
## 1.15.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for CodeBuild
|
||
|
- Support for CodeCommit
|
||
|
- Support for TimestreamQuery
|
||
|
- Support for TimestreamWrite
|
||
|
- AWS enhancement: Documentation updates.
|
||
|
- Reverted the automated decoration of the injected HttpClient
|
||
|
- Added an AwsHttpClientFactory to help people creating retryable clients
|
||
|
- Add 403 errors in the list of potential retryiable operations
|
||
|
|
||
|
### Changed
|
||
|
|
||
|
- Set default value to `false` for the `sendChunkedBody` option.
|
||
|
|
||
|
## 1.14.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Make the injected HttpClient decorated by our `RetryableHttpClient`
|
||
|
- Support for KMS
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Issue with symfony http-client when posting empty payload
|
||
|
|
||
|
## 1.13.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- AWS api-change: Added `us-iso-west-1` region
|
||
|
- AWS api-change: Used regional endpoint for `us` regions
|
||
|
- AWS enhancement: Documentation updates.
|
||
|
- Support for AppSync
|
||
|
- Support for XRay
|
||
|
|
||
|
## 1.12.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for Firehose
|
||
|
- Support for ElastiCache
|
||
|
- Support for CloudWatchClient
|
||
|
- Support for psr/log 2.0 and 3.0
|
||
|
|
||
|
## 1.11.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for StepFunctions
|
||
|
- Support for Kinesis
|
||
|
- Support for SecretsManager
|
||
|
- Support for Symfony contracts v3
|
||
|
- AWS enhancement: Documentation updates for AWS Security Token Service.
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Wrap the HttpClient's decoding exception in UnparsableResponse.
|
||
|
|
||
|
## 1.10.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- AWS enhancement: STS now supports assume role with Web Identity using JWT token length upto 20000 characters
|
||
|
- AWS api-change: This release adds the SourceIdentity parameter that can be set when assuming a role.
|
||
|
- Support for Symfony 6
|
||
|
|
||
|
## 1.9.2
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Support for psr/cache v2 and v3
|
||
|
- Fix forming signature with multiple spaces
|
||
|
|
||
|
## 1.9.1
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Make sure mocked results have a response with `Response::$bodyDownloaded = true`.
|
||
|
|
||
|
## 1.9.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Changed case of object's properties to camelCase.
|
||
|
- Added documentation in class headers.
|
||
|
- Removed `final` from `ClientException` and `ServerException`.
|
||
|
- Make Responses thrown Business Exception when AwsErrorCode <-> Exception class mapping provided through RequestContext.
|
||
|
- Added domain exceptions.
|
||
|
- Improved Aws Error parsing by using specialized AwsErrorFactory.
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Exception thrown twice by waiters.
|
||
|
|
||
|
## 1.8.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Added option `sendChunkedBody` dedicated to S3.
|
||
|
|
||
|
## 1.7.2
|
||
|
|
||
|
- Make sure we can get credentials even if the cache storage fails
|
||
|
- Clear `realpath` cache to make sure we get the latest credentials token
|
||
|
|
||
|
## 1.7.1
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Fix for an edge case where aws config file could be a directory
|
||
|
- Fix when AWS profile name is only digits
|
||
|
|
||
|
## 1.7.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- A `AwsRetryStrategy` to define what HTTP request we retry
|
||
|
- Support for Elastic Container Registry (ECR) in `AwsClientFactory`
|
||
|
- Read "region" from ini files.
|
||
|
- Support for hard coded `roleArn` in `ConfigurationProvider`
|
||
|
- Added exception `AsyncAws\Core\Exception\UnexpectedValue` and `AsyncAws\Core\Exception\UnparsableResponse`
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Merge configuration if a profile is spread out over multiple files. Ie if `[profile company]` is defined in both `~/.aws/config` and `~/.aws/credentials`.
|
||
|
- All exceptions thrown must extend `AsyncAws\Core\Exception\Exception`
|
||
|
|
||
|
## 1.6.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for Rekognition in `AwsClientFactory`
|
||
|
|
||
|
## 1.5.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for `debug` configuration option to log HTTP requests and responses
|
||
|
- Use Symfony `RetryableHttpClient` when available.
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Allow signing request with non-standard region when using custom endpoint?
|
||
|
- Fix unresolved Env Variable in some php configuration
|
||
|
|
||
|
## 1.4.2
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Fixed logic in `AbstractApi::getSigner()` when passing `@region` to an API operation
|
||
|
|
||
|
## 1.4.1
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Make sure passing `@region` to an API operation has effect.
|
||
|
- Check that both AWS access id and secret exists before using them.
|
||
|
|
||
|
## 1.4.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Allow to pass additional content to `ResultMockFactory::createFailing()`
|
||
|
|
||
|
## 1.3.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for PHP 8
|
||
|
- Added second parameter `$preferredChunkSize` to `StreamFactory::create()`
|
||
|
- Support for CloudFront in `AwsClientFactory`
|
||
|
- Support for RdsDataService in `AwsClientFactory`
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Allows non-AWS regions when using custom endpoints
|
||
|
|
||
|
### Changed
|
||
|
|
||
|
- Add more context to error logs
|
||
|
- Log level for 404 responses changed to "info".
|
||
|
|
||
|
## 1.2.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for EventBridge in `AwsClientFactory`
|
||
|
- Support for IAM in `AwsClientFactory`
|
||
|
- Add a `PsrCacheProvider` and `SymfonyCacheProvider` to persists crendentials in a cache pool
|
||
|
- Add a `Credential::adjustExpireDate` method for adjusting the time according to the time difference with AWS clock
|
||
|
- Support for global and regional endpoints
|
||
|
- Add a `Configuration::optionExists` to allow third parties to check if an option is available (needed by libraries supporting several versions of core)
|
||
|
|
||
|
### Deprecation
|
||
|
|
||
|
- Clients extending `AbstractApi` should override `getEndpointMetata`. The method will be abstract in 2.0
|
||
|
- Custom endpoints should not contain `%region%` and `%service` placeholder. They won't be replaced anymore in 2.0
|
||
|
- Protected methods `getServiceCode`, `getSignatureVersion` and `getSignatureScopeName` of AbstractApi are deprecated and will be removed in 2.0
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Fix signing of requests with a header containing a date (like `expires` in `S3`).
|
||
|
- Fix thread safety regarding env vars by using `$_SERVER` instead of `getenv()`.
|
||
|
|
||
|
## 1.1.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for ECS Credentials Provider
|
||
|
- Support for Cognito Identity Provider client in `AwsClientFactory`
|
||
|
- Support for Cloud Watch Log client in `AwsClientFactory`
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Fixed invalid chunking of request with large body for most clients but S3. This version removed the invalid code from SignerV4 to make sure requests are not chunked.
|
||
|
- Use camelCase for all getter methods.
|
||
|
|
||
|
## 1.0.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for CodeDeploy client in `AwsClientFactory`
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Handle Aws Error type in JsonRest error responses
|
||
|
|
||
|
## 0.5.4
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Logging on HTTP exceptions.
|
||
|
|
||
|
## 0.5.3
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Support for SSM client in `AwsClientFactory`
|
||
|
- Support for Waiters in `ResultMockFactory`
|
||
|
|
||
|
## 0.5.2
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Add support for `Content-Type: application/x-amz-json-1.1` in test case.
|
||
|
|
||
|
## 0.5.1
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Add `Configuration::isDefault` methods.
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Allow mocking of Results classes named "*Result"
|
||
|
|
||
|
## 0.5.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Add support for multiregion via `@region` input parameter.
|
||
|
- DynamoDB support.
|
||
|
- `ResultMockFactory` was updated with `createFailing()` and support for pagination.
|
||
|
- `AbstractApi::presign()`.
|
||
|
- `Result::wait()` for multiplexing downloads.
|
||
|
- Interface `AsyncAws\Core\Input`.
|
||
|
- `AsyncAws\Core\Stream\ResponseBodyResourceStream` and `AsyncAws\Core\Stream\ResponseBodyStream`.
|
||
|
- Internal `AsyncAws\Core\Response` to encapsulate the HTTP client.
|
||
|
- Internal `AsyncAws\Core\RequestContext`.
|
||
|
- Internal `AsyncAws\Core\Stream\RewindableStream`.
|
||
|
|
||
|
### Removed
|
||
|
|
||
|
- The input's `validate()` function was merged with the `request()` function.
|
||
|
- `Configuration::isDefault()`.
|
||
|
- Protected property `AbstractApi::$logger`.
|
||
|
- `AsyncAws\Core\StreamableBody` in favor of `AsyncAws\Core\Stream\ResponseBodyStream`.
|
||
|
|
||
|
### Changed
|
||
|
|
||
|
- Exceptions will contain more information from the HTTP response.
|
||
|
- Moved STS value objects to a dedicated namespace.
|
||
|
- The `AsyncAws\Core\Sts\Input\*` and `AsyncAws\Core\Sts\ValueObject*` classes are marked final.
|
||
|
- Using `DateTimeImmutable` instead of `DateTimeInterface`.
|
||
|
- Protected properties `AbstractApi::$httpClient`, `AbstractApi::$configuration` and `AbstractApi::$credentialProvider` are now private.
|
||
|
- `AbstractApi::getResponse()` has new signature. New optional second argument `?RequestContext $context = null` and the return type is `AsyncAws\Core\Response`.
|
||
|
- The `CredentialProvider`s and `Configuration` are now `final`.
|
||
|
- Renamed `AsyncAws\Core\Stream\Stream` to `AsyncAws\Core\Stream\RequestStream`.
|
||
|
- Renamed `AsyncAws\Core\StreamableBodyInterface` to `AsyncAws\Core\Stream\ResultStream`.
|
||
|
- The `ResultStream::getChunks()` now returns a iterable of string.
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Bugfix in `WebIdentityProvider`
|
||
|
|
||
|
## 0.4.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Test class `AsyncAws\Core\Test\SimpleStreamableBody`
|
||
|
|
||
|
### Changed
|
||
|
|
||
|
- Moved `AsyncAws\Core\Signer\Request` to `AsyncAws\Core\Request`.
|
||
|
- Added constructor argument to `AsyncAws\Core\Request::__construct()` to support query parameters.
|
||
|
- Renamed `AsyncAws\Core\Request::getUrl()` to `AsyncAws\Core\Request::getEndpoint()`
|
||
|
- Class `AsyncAws\Core\Stream\StreamFactory` is not internal anymore.
|
||
|
- Removed `requestBody()`, `requestHeaders()`, `requestQuery()` and `requestUri()` input classes. They are replaced with `request()`.
|
||
|
|
||
|
### Removed
|
||
|
|
||
|
- Public `AbstractApi::request()` was removed.
|
||
|
- Protected function `AbstractApi::getEndpoint()` was made private.
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Fix Instance Provider Role fetching
|
||
|
|
||
|
## 0.3.3
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Added a `ResultMockFactory` to helps creating tests
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Http method is replaced by PUT in REST calls
|
||
|
|
||
|
## 0.3.2
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- `Configuration` don't mix anymore attributes injected by php array and env variables.
|
||
|
|
||
|
## 0.3.1
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- `AbstractApi::getConfiguration()`
|
||
|
|
||
|
### Fixed
|
||
|
|
||
|
- Make sure `Configuration::create(['foo'=>null])` is using the default value of "foo".
|
||
|
|
||
|
## 0.3.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Requests can now be streamed
|
||
|
- Streamable request accepts iterable alongside string, callable, resource
|
||
|
- Support for getting credentials from Web Identity or OpenID Connect Federation. (`WebIdentityProvider`)
|
||
|
|
||
|
### Changed
|
||
|
|
||
|
- Rename namespace `Signers` into `Signer`.
|
||
|
|
||
|
## 0.2.0
|
||
|
|
||
|
### Added
|
||
|
|
||
|
- Class `AsyncAws\Core\Credentials\NullProvider`
|
||
|
- Methods `AwsClient::cloudFormation()`, `AwsClient::lambda()`, `AwsClient::sns()`
|
||
|
- Protected methods `Result::registerPrefetch()` and `Result::unregisterPrefetch()`
|
||
|
- Timeout parameter to `InstanceProvider::__construct()`
|
||
|
|
||
|
### Changed
|
||
|
|
||
|
- Removed `AwsClient` and replaced it with `AwsClientFactory`
|
||
|
- Class `AsyncAws\Core\Signer\Request` is marked as internal
|
||
|
- Make sure behavior of calling `Result::resolve()` is consistent
|
||
|
|
||
|
## 0.1.0
|
||
|
|
||
|
First version
|