Yesterday, Amazon announced the general availability of its AWS SDK for Java 2.x. The SDK is production ready and fully supported. 2.x is a rewrite from 1.11.x and includes Java 8+ support and the addition of frequently requested features (e.g. nonblocking I/O, improved start-up performance, and automatic iteration over paginated responses). On the whole, Amazon focused on consistency, immutability, and ease of use in developing 2.x.
2.x runs the same JVM as 1.11x. Accordingly, migration should be simpler than most rewrites. Developers can utilize 2.x features without migrating an entire product. Not all features from 1.11x have made it into 2.x. Such features include certain high-level libraries, waiters, SDK metric publishing, and progress listeners.
Those interested can find the 2.x source on GitHub. The nonblocking I/O is built on Netty. Automated pagination occurs by breaking up a result across multiple pages of responses (to maximize availability and minimize latency). 2.x ships with Apache as the default HTTP client, but users can replace it with options that better suit certain needs. Unlike 1.11.x, all objects used by the SDK are immutable and created using builders, so SDKs can be used in concurrent environments without worrying about unsafe mutations. Finally, 2.x supports a large number of streaming input types.
For more detailed descriptions of the new features and changes, check out Amazon's blog post announcement. Join the 2.x conversation on Gitter. Developers can make feature requests, upvote existing features requests, and log issues on the GitHub Issues page.