Version 1.4.0

Released on 2016-08-08.

Ratpack 1.4 is a very exciting release. There's lots of good stuff.

The following dependencies have been upgraded:

The following are new Promise methods:

The new SerialBatch and ParallelBatch classes make it convenient to process batches of promises in different ways.

The new PathBinding.getDescription() method provides a description of how the different path binding handlers bound to the request path so far. This provides strings like ":foo/:bar?/baz". This is the same “language” that is used when specifying path binding handlers with methods such as Chain.prefix() and Chain.path() etc. This effectively provides a representation of the kind of the request, by using token names instead of values.

It is now possible to use plain objects as configuration sources, via the new ConfigDataBuilder.object() method. It is also now possible to bind objects of a parameterized type to config, via the new ServerConfigBuilder.require() method variant.

Retrofit 2 integration is available with this release. It provides declarative type-safe HTTP clients, built on top of Ratpack's HTTP capabilities.

The RxRatpack.fork() and RxRatpack.forkEach() methods were added to allow more convenient parallel processing of RxJava observables. This was contributed by Ted Naleid.

Last but not least, Ratpack's HTTP client now supports connection pooling. This dramatically increases throughput when many requests are made to the same server. To enable connection pooling, create a HttpClient via HttpClient.of() and specify a poolSize. This feature was contributed by Dan Maas, Derek Olk and Patrick Schilling.

This release also contains many documentation improvements and bugfixes that came by way of contribution. Thanks to everyone who submitted such enhancements.

If you missed it, “Learning Ratpack” has been published since the release of the 1.3.x line. This is the best and most complete resource available for Ratpack today. Just ask Craig Burke.

We hope you enjoy Ratpack 1.4.


Team Ratpack

Pull Requests (22)

Resolved Issues (24)