We are announcing that version 2 of the AWS SDK For Ruby will enter maintenance mode on 11/20/2020. Support for version 2 will end on 11/21/2021. During maintenance mode we will continue to fix bugs and patch security issues until support for version 2 ends, at which point no further updates to version 2 will be released. We encourage customers to upgrade from version 2 to version 3 to continue receiving regular updates.
Version 3 of the AWS SDK For Ruby released in August of 2017. Version 3 maintains API compatibility with version 2 making upgrades easy.
Benefits of upgrading to V3
Version 3 introduces many improvements over the version 2 SDK, including modularization. Benefits of modularization include:
- Per-service semantic versioning and change logs. Each new release of V2 does not indicate what services have been updated.
- Statically typed and generated code improves performance, load times, provides better stack traces and is easier to read source code. Version 2 generates clients and types at runtime.
- Users can depend on individual services reducing package sizes when deployed.
For more detailed benefits, please read the initial V3 Modularization blog post.
Migrating from V2 to V3
The shortest path to upgrade is to move from version 2 to version 3 of the aws-sdk gem.
# Gemfile gem 'aws-sdk', '~> 3'
The V3 aws-sdk gem is an umbrella package for the 220+ service gems. To reduce the number of gems your application downloads, we recommend that you move your dependencies to the service specific gems. This will reduce the time to install and update dependencies, and will reduce the disk space used. For example, if your application relies on Amazon S3 and Amazon DynamoDB, you can now do the following:
# Gemfile # Replace the aws-sdk umbrella gem with service gems gem 'aws-sdk-s3', '~> 1' gem 'aws-sdk-dynamodb', '~> 1' # replace require 'aws-sdk' with service specific gems require 'aws-sdk-s3' require 'aws-sdk-dynamodb' s3 = Aws::S3::Client.new ddb = Aws::DynamoDB::Client.new
For more details, checkout our V3 upgrading guide on GitHub or this blog post. Upgrading will be straightforward as the client APIs for V3 are backwards compatible with V2. If you are having trouble upgrading, feel free to open an issue on Github!
Please share your questions, comments, issues, etc. with us on Gitter and GitHub.