Released on 2014-09-01.
August has been a bumper month for Ratpack. Many cool new features and improvements have landed.
There are two big breaking changes in this release. The
reloadable property of
LaunchConfig has been renamed to
development to more accurately reflect its purpose. Secondly, Jeff Beck completed the epic task of migrating the existing
TestHttpClient to be based on Ratpack's own
HttpClient where it was previous based on the RestAssured. This allows a similar API to be used when performing HTTP requests inside your app and when testing your app with a HTTP client. It also moves the
HttpTestClient from the
ratpack-test module as it no longer uses Groovy. If you require any assistance dealing with these breaking changes, please ask for help via the forum.
An exciting new improvement is what we term “dangling request detection”. If you've ever written a handler and forgotten to call
context.next() or another handler termination method you have experienced a dangling request. Previously, if a handler didn't render to the response or pass control to another handler (e.g. via
context.next()) the request would go unhandled and eventually timeout. This no longer happens. If a handler doesn't respond or pass on control, an error will be raised terminating the response (with a 500). In development mode, the response will identify the faulty handler that can then be fixed. This is a big improvement to the development cycle.
Much work has also been done on streaming data, making use of the emerging Reactive Streams standard as the basis of the API. See our the new “Streams” chapter of the manual for more information.
Thanks to all who contributed code, issues and ideas to Ratpack 0.9.8. We hope you enjoy it.
-- Team Ratpack.
Pull Requests (2)
-  - setting the content type on server error responses (tempredirect)
-  - Issue #413 - Improve Error Handling Infrastructure (danhyun)
Resolved Issues (13)
-  - Examples should be tested with latest code changes
-  - Use Ratpack's HTTP client to back the TestHttpClient
-  - Enhance default PublicAddress to handle more situations
-  - Test Lazybones template as part of the build
-  - Update ratpack-site to use groovy markup templating engine
-  - Make gradle plugins available via Gradle plugin portal
-  - Shadow plugin and MarkupTemplateRenderer are not compatible.
-  - Multi subscriber observable chain that does not implement error handler does not trigger execution error handler
-  - Detect when a request is not responded to
-  - Improve support for building Ratpack with Java 8
-  - Errors when using gradlew from lazybones template
-  - Rename reloadable launch config to development
-  - Can't unit test handlers that redirect