

# Changes in working with Amazon S3 from version 1 to version 2 of the AWS SDK for Java
<a name="migration-s3"></a>

The AWS SDK for Java 2.x introduces significant changes to the S3 client, including a new package structure, updated class names, and revised method signatures. While many methods can be automatically migrated from V1 to V2 using the [migration tool](migration-tool.md), some require manual migration, such as `listNextBatchOfObjects` and `selectObjectContent`. Additionally, V2 replaces certain V1 classes like `AccessControlList` and `CannedAccessControlList` with new implementations.

**Topics**
+ [S3 client differences between version 1 and version 2 of the AWS SDK for Java](migration-s3-client.md)
+ [Migrate the Transfer Manager from version 1 to version 2 of the AWS SDK for Java](migration-s3-transfer-manager.md)
+ [Changes in parsing Amazon S3 URIs from version 1 to version 2](migration-s3-uri-parser.md)
+ [Changes in the S3 Event Notifications API from version 1 to version 2](migration-s3-event-notification.md)