NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #471 most downloaded on Packagist
Core package to integrate with AWS. This is a lightweight AWS SDK provider by AsyncAws.
Last release 29 days ago
09 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 57 of 57 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
57 releases · first in 2020
One column per quarter.
See change log for changes.
See change log for changes.
See change log for changes.
See change log for changes.
See change log for changes.
@template annotations for more precise static analysisSee change log for changes.
See change log for changes.
imageBuilder() method for the new async-aws/image-builder clientec2() method for the new async-aws/ec2 client<Response><Errors><Error>...)See change log for changes.
See change log for changes.
See change log for changes.
See change log for changes.
us-isob-west-1 regionDescribeLogGroups methodeusc-de-east-1 regionnull as an array offset.See change log for changes.
See change log for changes.
See change log for changes.
See change log for changes.
ResultMockFactory does not call ReflectionProperty::setAccessible() on PHP 8.1+See change log for changes.
See change log for changes.
eu-isoe-west-1 regionSee change log for changes.
See change log for changes.
us-isof-east-1 and us-isof-south-1 regionsSee change log for changes.
See change log for changes.
AWS enhancement: Documentation updates.
Added support for EKS Pod Identity
null !== instead of !Enable compiler optimization for the sprintf function.
sprintf function.Added support for exception based on response http status code only.
Support for AWS_ENDPOINT_URL environment variable
Allow passing explicit null values for optional fields of input objects
Support for hostPrefix in requests
Support for IMDS v2 authentication
Fix deprecation by adding return type on reset methods
### Added - Support for Scheduler
### Added - Support for Iot Data
### Added - Support for endpoint discovery - Support for Iot Core
AWS enhancement: Documentation updates.
false for the sendChunkedBody option.Make the injected HttpClient decorated by our RetryableHttpClient
RetryableHttpClientAWS api-change: Added us-iso-west-1 region
us-iso-west-1 regionus regionsSupport for psr/log 2.0 and 3.0
Support for Symfony contracts v3
AWS enhancement: STS now supports assume role with Web Identity using JWT token length upto 20000 characters
Support for psr/cache v2 and v3
Make sure mocked results have a response with Response::$bodyDownloaded = true.
Response::$bodyDownloaded = true.Changed case of object's properties to camelCase.
final from ClientException and ServerException.Added option sendChunkedBody dedicated to S3.
sendChunkedBody dedicated to S3.Make sure we can get credentials even if the cache storage fails
realpath cache to make sure we get the latest credentials tokenFix for an edge case where aws config file could be a directory
A AwsRetryStrategy to define what HTTP request we retry
AwsRetryStrategy to define what HTTP request we retryAwsClientFactoryroleArn in ConfigurationProviderAsyncAws\Core\Exception\UnexpectedValue and AsyncAws\Core\Exception\UnparsableResponse[profile company] is defined in both ~/.aws/config and ~/.aws/credentials.AsyncAws\Core\Exception\ExceptionSupport for Rekognition in AwsClientFactory
AwsClientFactorySupport for debug configuration option to log HTTP requests and responses
debug configuration option to log HTTP requests and responsesRetryableHttpClient when available.Fixed logic in AbstractApi::getSigner() when passing @region to an API operation
AbstractApi::getSigner() when passing @region to an API operationMake sure passing @region to an API operation has effect.
@region to an API operation has effect.Allow to pass additional content to ResultMockFactory::createFailing()
ResultMockFactory::createFailing()Added second parameter $preferredChunkSize to StreamFactory::create()
$preferredChunkSize to StreamFactory::create()AwsClientFactoryAwsClientFactoryProtected methods getServiceCode, getSignatureVersion and getSignatureScopeName of AbstractApi are deprecated and will be removed in 2.0
AwsClientFactoryAwsClientFactoryPsrCacheProvider and SymfonyCacheProvider to persist credentials in a cache poolCredential::adjustExpireDate method for adjusting the time according to the time difference with AWS clockConfiguration::optionExists to allow third parties to check if an option is available (needed by libraries supporting several versions of core)AbstractApi should override getEndpointMetadata. The method will be abstract in 2.0%region% and %service placeholder. They won't be replaced anymore in 2.0getServiceCode, getSignatureVersion and getSignatureScopeName of AbstractApi are deprecated and will be removed in 2.0expires in S3).$_SERVER instead of getenv().Support for ECS Credentials Provider
AwsClientFactoryAwsClientFactorySupport for CodeDeploy client in AwsClientFactory
AwsClientFactory### Added - Logging on HTTP exceptions.
Support for SSM client in AwsClientFactory
AwsClientFactoryResultMockFactoryAdd support for Content-Type: application/x-amz-json-1.1 in test case.
Content-Type: application/x-amz-json-1.1 in test case.Add Configuration::isDefault methods.
Configuration::isDefault methods.The input's validate() function was merged with the request() function.
validate() function was merged with the request() function.Configuration::isDefault().AbstractApi::$logger.AsyncAws\Core\StreamableBody in favor of AsyncAws\Core\Stream\ResponseBodyStream.@region input parameter.ResultMockFactory was updated with createFailing() and support for pagination.AbstractApi::presign().Result::wait() for multiplexing downloads.AsyncAws\Core\Input.AsyncAws\Core\Stream\ResponseBodyResourceStream and AsyncAws\Core\Stream\ResponseBodyStream.AsyncAws\Core\Response to encapsulate the HTTP client.AsyncAws\Core\RequestContext.AsyncAws\Core\Stream\RewindableStream.AsyncAws\Core\Sts\Input\* and AsyncAws\Core\Sts\ValueObject* classes are marked final.DateTimeImmutable instead of DateTimeInterface.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.CredentialProviders and Configuration are now final.AsyncAws\Core\Stream\Stream to AsyncAws\Core\Stream\RequestStream.AsyncAws\Core\StreamableBodyInterface to AsyncAws\Core\Stream\ResultStream.ResultStream::getChunks() now returns a iterable of string.WebIdentityProviderPublic AbstractApi::request() was removed.
AbstractApi::request() was removed.AbstractApi::getEndpoint() was made private.AsyncAws\Core\Test\SimpleStreamableBodyAsyncAws\Core\Signer\Request to AsyncAws\Core\Request.AsyncAws\Core\Request::__construct() to support query parameters.AsyncAws\Core\Request::getUrl() to AsyncAws\Core\Request::getEndpoint()AsyncAws\Core\Stream\StreamFactory is not internal anymore.requestBody(), requestHeaders(), requestQuery() and requestUri() input classes. They are replaced with request().Added a ResultMockFactory to helps creating tests
ResultMockFactory to helps creating testsConfiguration don't mix anymore attributes injected by php array and env variables.
Configuration don't mix anymore attributes injected by php array and env variables.AbstractApi::getConfiguration()
AbstractApi::getConfiguration()Configuration::create(['foo'=>null]) is using the default value of "foo".Streamable request accepts iterable alongside string, callable, resource
WebIdentityProvider)Signers into Signer.Class AsyncAws\Core\Credentials\NullProvider
AsyncAws\Core\Credentials\NullProviderAwsClient::cloudFormation(), AwsClient::lambda(), AwsClient::sns()Result::registerPrefetch() and Result::unregisterPrefetch()InstanceProvider::__construct()AwsClient and replaced it with AwsClientFactoryAsyncAws\Core\Signer\Request is marked as internalResult::resolve() is consistentFirst version
First version
Your coding agent can read these notes before it upgrades. Set up the MCP server →