AWS Developer Tools Blog
Upcoming Stable Release of AWS SDK for Ruby – Version 2
We plan to release version 2 of the AWS SDK for Ruby next week. We will remove the preview flag from the 2.0 version of aws-sdk
.
Specify Your Version Dependencies
The AWS SDK for Ruby uses semantic versioning. Updates within version 1 are backwards compatible.
Version 2 of the aws-sdk gem is not backwards compatible.
If you depend on the aws-sdk
gem today, and do not specify the major version, please add this now. If not, you may run into issues when you bundle update.
# Gemfile gem 'aws-sdk', '< 2.0' # gemspec spec.add_dependency('aws-sdk', '< 2.0')
NameError: uninitialized constant AWS
If you receive this error, you likely have a dependency on aws-sdk
and have updated so that you now have version 2 installed. Version 2 uses a different module name, so it does not define AWS
.
To resolve this issue, specify your version dependency as instructed above.
Using Both Versions
The following diagram shows how the version 1 and version 2 gems are organized.
The aws-sdk
gem is empty, and simply requires version 1 or version 2 specific gems. This allows you to install version 1 and version 2 in the same application.
Option A, for existing users
# Gemfile gem 'aws-sdk', '~> 1' gem 'aws-sdk-resources', '~> 2' # in code require 'aws-sdk' require 'aws-sdk-resources'
Option B, for new users
# Gemfile gem 'aws-sdk-v1' gem 'aws-sdk', '~> 2' # in code require 'aws-sdk-v1' require 'aws-sdk'
Attention Library Authors
If you maintain a gem that has a dependency on version 1 of aws-sdk
, I strongly recommend that you replace it with a dependency on aws-sdk-v1
. This allows end users to require version 2 of aws-sdk
.
Please report any issues you have on our GitHub repository.