Version 1.6.0-rc-1
Released on 2018-11-17.
These are the release notes for a Ratpack 1.6.0 release candidate. Please see the pending release notes for the final release for the complete list of closed issues.
A little over a year from our last minor release, and 6 months since our last patch, Ratpack 1.6.0 is now available. This release adds integration with additional reactive programming libraries and many improvements that allow Ratpack to integrate more seamlessly with external libraries.
The following core dependencies have been upgraded:
- Netty 4.1.22.Final → 4.1.31.Final
- Jackson 2.9.4 → 2.9.5
- ReactiveStreams 1.0.0.final → 1.0.2
- Caffeine 2.4.0 → 2.6.2
- SnakeYAML 1.18 → 1.20
The new ratpack-reactor
module adds support for integrating Ratpack with Project Reactor types.
The new ratpack-rx2
module adds support for integrating Ratpack with version 2 of RxJava. This is a new module to support the new types introduced in RxJava 2.0.
The new ratpack-thymeleaf3
module adds support for integrating Ratpack with version 3 of Thymeleaf templating.
The new ratpack-gson
module adds support for parsing request bodies and rendering responses using Google's Gson library.
The new Promise.flatOp
method allows for mapping a Promise
directly into an `Operation.
The new Promise.mapError
and Promise.flatMapError
which allow for providing a conditional Predicate
for the mapping.
The ability to configure request and response interceptors for Ratpack's HttpClient
through the HttpClientSpec.requestIntercept
, HttpClientSpec.responseIntercept(Action)
, HttpClientSpec.responseIntercept(Operation)
, and HttpClientSpec.errorIntercept
methods.
Create a new HttpClient
instance by by inheriting from another instance using the HttpClient.copyWith
method.
Improvements in Ratpack's integration with Retrofit by allowing the underlying HttpClient
to be specified with the RatpackRetrofit.Builder.httpClient
method. This allows for utilizing Retrofit outside of a Ratpack HTTP request (e.g. from a background service)
Forked executions can now obtain references to their parent executions through the Execution.getParent()
and Execution.maybeParent()
methods.
Applications can now register their own JVM shutdown hook to perform custom behaviors instead of Ratpack's default hook. Applications using a custom hook can disabled the default hook by setting ServerConfigBuilder.registerShutdownHook(false)
The ratpack-dropwizard-metrics
module now supports exporting metrics to Prometheus (DropwizardMetricsConfig.prometheusCollection(true)
) and collecting metrics on ByteBuf
(DropwizardMetricsConfig.byteBufAllocator(Action)
) and HttpClient
(DropwizardMetricsConfig.httpClient(Action)
)
There are also many other new convenience methods, bug fixes and generally cool stuff added in this release. Thanks to all who contributed.
We hope you enjoy Ratpack 1.6.
--
Team Ratpack