Version 2.0.0-rc-1

Released on 2022-05-13.

Ratpack 2.0.0-rc-1 is now available!

This release is the first candidate for the next major version of Ratpack and is intended to identify any significant issues or regressions that may have occurred. As a major version release, this release include a number of breaking changes for applications.

Package & Module Changes

This release includes changes to Ratpack's modules and Java package naming structure to align with Java Platform Module System (JPMS) introduced in Java 9. Each module now contains one unique package name across the framework's libraries. The libraries do not contain module-info.java files at this time.

To facilitate this change, a number of core API classes were moved to new packages and some additional package were added.

New Modules

Removed Modules

The following deprecated modules have now been removed and are not published in this release.

Package Relocations

The following package relocations are provided as assistance in identifying the updates needed in client applications. This list may not be exhaustive.

Breaking Required Version Updates

A number of dependencies were updates to their latest versions and support for older versions dropped. This may result in breaking changes to applications builds and tests when using Ratpack 2.0.0-rc-1.

A number of other core dependencies have been upgraded:

Breaking Code Changes

All previously @Deprecated methods have been removed from the public API. Client application's will need to updated accordingly. Refer to the javadoc of your current version to identify the replacement version.

The Request.getClientCertificates() method has been removed and replaced with [Request.getSslSession()](https://ratpack.io/manual/2.0.0-rc-1/api/ratpack/core/http/Request.html#getSslSession()). This method allows a Ratpack server to access all available SSL session information for an incoming request.

The [ExecController.of](https://ratpack.io/manual/2.0.0-rc-1/api/ratpack/exec/ExecController.html#of(ratpack.func.Action)) method has been added to support initializing Ratpack's Execution and Promise model outside of a Ratpack server. Users that were previously using internal API of new DefaultExecController() should now migrate to this public API.

The Ratpack server can now be configured to handle multiple SSL server certificates using SNI. This may require changes to an application's configuration if configuring SSL. See the SSL Configuration docs to more details.

There are also a few other new convenience methods added to support easier development and testing of Ratpack applications. Thanks to all who contributed.

We hope you enjoy Ratpack 2.0-rc-1 and open issues for any regression that are discovered when migrating applications.

--

Team Ratpack

Pull Requests (20)

Resolved Issues (16)