What's Changed
New Contributors
- @mattcookio made their first contribution in #680
[1.3.46] — 2026-05-21
Added
- S3
PutObjectconditional writes —If-None-Match: "*"(create-once) andIf-Match: "<etag>"(optimistic concurrency) are now enforced onPutObject, matching the AWS feature shipped November 2024. Precondition violations return 412PreconditionFailed, exceptIf-Match: "<etag>"against a missing key which returns 404NoSuchKeyper the AWS user guide. ETag comparison strips surrounding quotes on both sides. The symmetricx-amz-copy-source-if-matchheaders onCopyObjectwere already supported; this closes the gap on plainPutObject. Contributed by @mattcookio.
Fixed
- Cognito JWT
issclaim uses the pool's region, not the request region — when a SigV4 scope carried a different region from the pool's creation region, the JWTissmismatched the pool ID prefix and standards-compliant validators rejected the token. A new_pool_region(pool_id)resolver parses the region from the pool ID ({region}_{suffix}) and is applied to theissclaim, the PreTokenGeneration trigger event region, the user-pool ARN, the OIDC discoveryissuer, and the hosted-UI CloudFront URL onCreateUserPoolDomain/DescribeUserPoolDomain. The parser accepts 3-segment commercial regions and 4-segment GovCloud / ISO regions (us-gov-east-1,us-iso-east-1, etc.). Contributed by @subrotosanyal.