Version restriction of AWS SDK to migrate to Encryption V2 client

When I was reading the changelog of v3.3.0, I noticed that AWS’s official document on the migration plan from Encryption V1 to V2 suggested to upgrade AWS SDK V3 before the migration.

https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/s3-encryption-migration.html

According to the document, the version of aws-sdk-s3 seems to be required higher than 1.76.0 to make V1 client compatible with V2 format for reading. But in current Shrine’s gemspec, the version for aws-sdk-s3 is “~> 1.69”, which uses AWS SDK V2 and is lower than required version specified in the document.

I am wondering if the difference of the versions affects the behavior of v3.3.0 when developers use AWS SDK V2 based gems.

Note that a development dependency specified in the gemspec doesn’t affect application code. So, the version specifier used here for aws-sdk-s3 doesn’t affect which versions of aws-sdk-s3 a Shrine user can use.

Also, the aws-sdk-s3 gem is part of AWS SDK V3, in AWS SDK V2 everything was in the aws-sdk gem. Shrine requires aws-sdk-s3 (and thus AWS SDK V3) since version 3.0.

1 Like