Version 0.9.8
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-groovy-test
to 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.
Links
Pull Requests (2)
- [417] - setting the content type on server error responses (tempredirect)
- [420] - Issue #413 - Improve Error Handling Infrastructure (danhyun)
Resolved Issues (13)
- [18] - Examples should be tested with latest code changes
- [304] - Use Ratpack's HTTP client to back the TestHttpClient
- [403] - Enhance default PublicAddress to handle more situations
- [405] - Test Lazybones template as part of the build
- [407] - Update ratpack-site to use groovy markup templating engine
- [408] - Make gradle plugins available via Gradle plugin portal
- [410] - Shadow plugin and MarkupTemplateRenderer are not compatible.
- [411] - Multi subscriber observable chain that does not implement error handler does not trigger execution error handler
- [418] - Detect when a request is not responded to
- [421] - Improve support for building Ratpack with Java 8
- [425] - Errors when using gradlew from lazybones template
- [426] - Rename reloadable launch config to development
- [429] - Can't unit test handlers that redirect