10 KiB
10 KiB
Change Log
NOT RELEASED
1.18.1
Changed
- AWS enhancement: Documentation updates.
- Fix deprecation by adding return type on reset methods
1.18.0
Added
- Added support for Scheduler
1.17.0
Added
- Added support for Iot Data
1.16.0
Added
- Added support for endpoint discovery
- Added 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
falsefor thesendChunkedBodyoption.
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-1region - AWS api-change: Used regional endpoint for
usregions - 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
finalfromClientExceptionandServerException. - 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
sendChunkedBodydedicated to S3.
1.7.2
- Make sure we can get credentials even if the cache storage fails
- Clear
realpathcache 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
AwsRetryStrategyto define what HTTP request we retry - Support for Elastic Container Registry (ECR) in
AwsClientFactory - Read "region" from ini files.
- Support for hard coded
roleArninConfigurationProvider - Added exception
AsyncAws\Core\Exception\UnexpectedValueandAsyncAws\Core\Exception\UnparsableResponse
Fixed
- Merge configuration if a profile is spread out over multiple files. Ie if
[profile company]is defined in both~/.aws/configand~/.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
debugconfiguration option to log HTTP requests and responses - Use Symfony
RetryableHttpClientwhen 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@regionto an API operation
1.4.1
Fixed
- Make sure passing
@regionto 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
$preferredChunkSizetoStreamFactory::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
PsrCacheProviderandSymfonyCacheProviderto persists crendentials in a cache pool - Add a
Credential::adjustExpireDatemethod for adjusting the time according to the time difference with AWS clock - Support for global and regional endpoints
- Add a
Configuration::optionExiststo allow third parties to check if an option is available (needed by libraries supporting several versions of core)
Deprecation
- Clients extending
AbstractApishould overridegetEndpointMetata. The method will be abstract in 2.0 - Custom endpoints should not contain
%region%and%serviceplaceholder. They won't be replaced anymore in 2.0 - Protected methods
getServiceCode,getSignatureVersionandgetSignatureScopeNameof AbstractApi are deprecated and will be removed in 2.0
Fixed
- Fix signing of requests with a header containing a date (like
expiresinS3). - Fix thread safety regarding env vars by using
$_SERVERinstead ofgetenv().
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.1in test case.
0.5.1
Added
- Add
Configuration::isDefaultmethods.
Fixed
- Allow mocking of Results classes named "*Result"
0.5.0
Added
- Add support for multiregion via
@regioninput parameter. - DynamoDB support.
ResultMockFactorywas updated withcreateFailing()and support for pagination.AbstractApi::presign().Result::wait()for multiplexing downloads.- Interface
AsyncAws\Core\Input. AsyncAws\Core\Stream\ResponseBodyResourceStreamandAsyncAws\Core\Stream\ResponseBodyStream.- Internal
AsyncAws\Core\Responseto encapsulate the HTTP client. - Internal
AsyncAws\Core\RequestContext. - Internal
AsyncAws\Core\Stream\RewindableStream.
Removed
- The input's
validate()function was merged with therequest()function. Configuration::isDefault().- Protected property
AbstractApi::$logger. AsyncAws\Core\StreamableBodyin favor ofAsyncAws\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\*andAsyncAws\Core\Sts\ValueObject*classes are marked final. - Using
DateTimeImmutableinstead ofDateTimeInterface. - Protected properties
AbstractApi::$httpClient,AbstractApi::$configurationandAbstractApi::$credentialProviderare now private. AbstractApi::getResponse()has new signature. New optional second argument?RequestContext $context = nulland the return type isAsyncAws\Core\Response.- The
CredentialProviders andConfigurationare nowfinal. - Renamed
AsyncAws\Core\Stream\StreamtoAsyncAws\Core\Stream\RequestStream. - Renamed
AsyncAws\Core\StreamableBodyInterfacetoAsyncAws\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\RequesttoAsyncAws\Core\Request. - Added constructor argument to
AsyncAws\Core\Request::__construct()to support query parameters. - Renamed
AsyncAws\Core\Request::getUrl()toAsyncAws\Core\Request::getEndpoint() - Class
AsyncAws\Core\Stream\StreamFactoryis not internal anymore. - Removed
requestBody(),requestHeaders(),requestQuery()andrequestUri()input classes. They are replaced withrequest().
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
ResultMockFactoryto helps creating tests
Fixed
- Http method is replaced by PUT in REST calls
0.3.2
Fixed
Configurationdon'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
SignersintoSigner.
0.2.0
Added
- Class
AsyncAws\Core\Credentials\NullProvider - Methods
AwsClient::cloudFormation(),AwsClient::lambda(),AwsClient::sns() - Protected methods
Result::registerPrefetch()andResult::unregisterPrefetch() - Timeout parameter to
InstanceProvider::__construct()
Changed
- Removed
AwsClientand replaced it withAwsClientFactory - Class
AsyncAws\Core\Signer\Requestis marked as internal - Make sure behavior of calling
Result::resolve()is consistent
0.1.0
First version