# What changed in @aws-sdk/client-s3

> 27 changes in @aws-sdk/client-s3 3 from its official release notes, upgrade guides and advisories: 2 security, 17 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@aws-sdk/client-s3/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @aws-sdk/client-s3 3

### Security

- Adds support for blocking SSE-C writes to general purpose buckets. (3.935.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39350-2025-11-19)
- CopyObject supports conditional writes on the destination key to prevent unintended object modifications. (3.919.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39190-2025-10-28)

### New APIs and options

- Adds an optional S3 Inventory field reporting the reference date used to evaluate an object's Intelligent-Tiering tier-transition eligibility; it is populated for Intelligent-Tiering objects and blank for others. (3.1144.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#311440-2026-09-30)
- S3 Object Lock APIs that support Object Lock parameters now accept DefaultEventHoldDuration at the bucket level. (3.1128.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#311280-2026-09-08)
- S3 Object Lock APIs that support Object Lock parameters now accept EventHold at the object level. (3.1128.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#311280-2026-09-08)
- S3 Object Lock APIs that support Object Lock parameters now accept EventHoldDuration at the object level. (3.1128.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#311280-2026-09-08)
- AWS Backup lets you create read-only access points for Amazon S3 recovery points, so you can access backup data using S3 APIs without initiating a restore. (3.1105.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#311050-2026-08-06)
- S3 Metadata now supports configuring an annotation table. (3.1070.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310700-2026-06-16)
- New APIs let developers create, retrieve, list, and delete annotations attached directly to objects, with up to 1000 annotations of up to 1 MB each. (3.1070.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310700-2026-06-16)
- Adds MD5, SHA-512, XXHash3, XXHash64, and XXHash128 as checksum algorithms for S3 data integrity. (3.1035.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310350-2026-04-22)
- Adds support for S3 Inventory on directory buckets (S3 Express One Zone). (3.1035.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310350-2026-04-22)
- Bucket Metrics configuration is now supported for directory buckets. (3.1021.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310210-2026-03-31)
- Adds support for account regional namespaces, a reserved subdivision of the global bucket namespace where only your account can create general purpose buckets. (3.1008.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310080-2026-03-12)
- Adds support for changing the server-side encryption type of objects in general purpose buckets. (3.978.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39780-2026-01-28)
- Clients can select a protocol by class constructor. (3.953.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39530-2025-12-16)
- Adds the optional LifecycleExpirationDate field to S3 Inventory configurations. (3.952.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39520-2025-12-15)
- Adds FSX_ONTAP as an S3 storage class. (3.943.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39430-2025-12-02)
- Adds support for enabling or disabling ABAC on a general purpose bucket. (3.937.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39370-2025-11-20)
- S3 Express now supports IPv6 dual-stack. (3.925.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39250-2025-11-05)

### Behavior and default changes

- The client validates outpost access point resource names. (3.1044.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310440-2026-05-06)
- The valid AWS Region values for the LocationConstraint parameter for general purpose buckets were updated. (3.1026.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310260-2026-04-07)
- Additional validation is applied to Outpost bucket names. (3.958.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39580-2025-12-23)
- AWS REST XML clients now use schema-serde for serialization. (3.931.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39310-2025-11-13)

### Fixes and other changes

- XML entities are parsed using XML 1.1 behavior. (3.1038.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310380-2026-04-27)
- Errors with a 200 status code are now retried. (3.1035.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310350-2026-04-22)
- The adaptive retry throttling detection fix is synced. (3.1021.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#310210-2026-03-31)
- Service exceptions are decorated with unmodeled fields, making those fields available to developers. (3.932.0) — [release notes](https://github.com/aws/aws-sdk-js-v3/blob/3ce8aa778c22193dad5f7fcefe239e3a74a3cd4f/clients/client-s3/CHANGELOG.md#39320-2025-11-14)
