Released on 2014-04-01.
March has been a big month.
Our newest committer, David Carr has already made many contributions including a new ratpack-pac4j module which brings many authentication and authorization options and is the successor to the popular Scribe library. This module allows you to effortlessly delegate authentication to OpenID and OAuth providers like Google for example.
Russell Hart has done some great work on the support for metric collection and health checks, for which there is now some introductory documentation.
Some significant work has gone into the manual for this release, including new chapters on "Deploying to Heroku" and "Building with Gradle". Work continues on the documentation and we've (hopefully) made it easier for you to contribute to it by fleshing out the documentation on the documentation, which explains how it all works and what it's all about.
Another significant piece of work performed this month was the creation of the initial version of the project's performance testing suite. This suite will effectively micro benchmark the in-development version of Ratpack against the previous release to both highlight performance regressions and quantify optimizations. Hopefully by the next release, we'll have these tests running nightly with the results published publicly.
A special mention to Craig Burke as the sole contributor for 0.9.3 with some improvements to unmarshalling JSON requests into objects with the
ratpack-jackson module (which is unfortunately severely under documented).
There have been a mix of other improvements and new features added, the details of which are below.
We hope you enjoy Ratpack 0.9.3.
-- Team Ratpack.
Pull Requests (2)
-  - Initial attempt at fromJson method in jackson module (craigburke)
-  - Adding myself to contibutors list (craigburke)
Resolved Issues (22)
-  - Blocking operation metrics
-  - Support setting Ratpack's port through environment variables
-  - Document deploying Ratpack applications to Heroku
-  - Add integration with pac4j
-  - Allow interception when moving to and coming back from the background
-  - Specify handling of double-slash in URLs
-  - Allow arbitrary data to be attached to the request object, for use by downstream processing
-  - Guarantee (under intended usage) that no two threads are operating on a request at a given time
-  - Allow request processing to be intercepted/wrapped
-  - Add lifecycle task to Gradle plugins to make it easier to integrate tasks that generate content
-  - Upgrade to RxJava 0.17.1
-  - Remove ratpack-heroku Gradle plugin
-  - Update ratpack-site to use recommended Heroku deployment
-  - Store the session objects in the request registry
-  - Add shorthand for adding other ratpack dependencies in Gradle builds
-  - Set Healthchecks to be "off" by default
-  - Add launch config option for implicitly adding a response timing header.
-  - When using one of the main classes, the process should terminate if the app fails to launch
-  - Jackson module allow parsing of request as POJO
-  - Enable SpringLoaded caching to speed up development time app startup
-  - Make the jackson module pretty print by default
-  - Support in app response compression