We are raising the minor version of AWS SDK for Java from 1.11 to 1.12 in order to upgrade the SDK’s dependency on the popular third-party JSON library, Jackson. This release does not change any of the AWS SDK APIs. Even though there are some backwards-incompatible changes in Jackson APIs, it should be a straight-forward upgrade for the majority of our current customers.
Why are we upgrading the dependency on Jackson?
The AWS SDK for Java 1.11 was using Jackson 2.6, which is an old version that is missing numerous improvements that are present in the latest version of Jackson.
How does this Jackson upgrade affect your applications?
If you only use Jackson through the AWS SDK for Java, there is nothing you need to do – your application will not be affected. However, if your application was using a Jackson version prior to 2.12 directly or through libraries other than the AWS SDK, you may observe behavioral changes or compile-time errors relating to Jackson classes once you upgrade to the AWS SDK version 1.12. You can see which version of Jackson your application is using by running mvn dependency:list or gradle dependencies.
You should thoroughly test all non-SDK use cases to ensure that they are not inversely impacted by the new version of Jackson. If they are inversely impacted, we recommend upgrading those use cases to support 2.12 to ensure that your application has all of the improvements in the latest Jackson version.
If you have any questions or concerns, you can contact us on Github.