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.
10 KiB
10 KiB
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 thesendChunkedBody
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
fromClientException
andServerException
. - 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
inConfigurationProvider
- Added exception
AsyncAws\Core\Exception\UnexpectedValue
andAsyncAws\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
toStreamFactory::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
andSymfonyCacheProvider
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 overridegetEndpointMetata
. 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
andgetSignatureScopeName
of AbstractApi are deprecated and will be removed in 2.0
Fixed
- Fix signing of requests with a header containing a date (like
expires
inS3
). - Fix thread safety regarding env vars by using
$_SERVER
instead 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.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 withcreateFailing()
and support for pagination.AbstractApi::presign()
.Result::wait()
for multiplexing downloads.- Interface
AsyncAws\Core\Input
. AsyncAws\Core\Stream\ResponseBodyResourceStream
andAsyncAws\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 therequest()
function. Configuration::isDefault()
.- Protected property
AbstractApi::$logger
. AsyncAws\Core\StreamableBody
in 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
DateTimeImmutable
instead ofDateTimeInterface
. - Protected properties
AbstractApi::$httpClient
,AbstractApi::$configuration
andAbstractApi::$credentialProvider
are now private. AbstractApi::getResponse()
has new signature. New optional second argument?RequestContext $context = null
and the return type isAsyncAws\Core\Response
.- The
CredentialProvider
s andConfiguration
are nowfinal
. - Renamed
AsyncAws\Core\Stream\Stream
toAsyncAws\Core\Stream\RequestStream
. - Renamed
AsyncAws\Core\StreamableBodyInterface
toAsyncAws\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
toAsyncAws\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\StreamFactory
is 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
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
intoSigner
.
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
AwsClient
and replaced it withAwsClientFactory
- Class
AsyncAws\Core\Signer\Request
is marked as internal - Make sure behavior of calling
Result::resolve()
is consistent
0.1.0
First version