Version 0.9.6
Released on 2014-07-01.
While June wasn't the biggest month in Ratpack's history in terms of commits, some very interesting and important work happened along with some significant Ratpack related events.
Some very significant work has taken place right at the core regarding the execution. Ratpack now guarantees deterministic execution for a given logical execution thread (e.g. handling a request), even when asynchronous callback based APIs are used. The upshot of this is that a class of potential sporadic race conditions that can occur in any multi threaded non blocking system are effectively avoided, which just means more stable apps for free.
Work continues on the RxJava and Hystrix integration, notably with improved support for doing parallel data processing with RxJava. The distribution of work is integrated with the main application event loop, which keeps resource usage low.
An important event that took place in June was the release of the Ratpack powered, Gradle Plugin Portal. This is a production class Ratpack application using RxJava. The application is not open source, but expect to see blog posts from Luke Daley over the coming weeks discussing some of the techniques used in the app.
Team Ratpack member Dan Woods also gave a talk on Ratpack at UberConf 2014 that discusses the asynchronous model, testing and other important Ratpack concepts. Dan has made the slides and code available on GitHub.
Thanks to Roy Schumacher, Chip McCormick and Stefano Gualdi for their contributions to 0.9.6. There are already some interesting contributions queued up for 0.9.7.
We are always looking for contributions to Ratpack, so if you're interested don't hesitate to get in contact through the GitHub issues or the forum.
-- Team Ratpack
Links
Pull Requests (4)
- [330] - Add UriBuilder for building well encoded URLs (for use with the HTTP client) (rjschu)
- [359] - Use slf4j as basis for all Ratpack logging (chipmccormick)
- [361] - add test for response.sendFile (danveloper)
- [365] - Upgrade Thymeleaf to version 2.1.3 (stefanogualdi)
Resolved Issues (10)
- [213] - Logging support
- [321] - Add UriBuilder for building well encoded URLs (for use with the HTTP client)
- [335] - Compress all responses (not just files)
- [336] - Make whether-to-compress default heuristic smarter and customizable
- [351] - The arg to classpath in the ratpack-gradle build.gradle template dependencies-block is missing an ending quote
- [352] - Star import from Registries introduces troublesome add() method, Registries should remove this method
- [353] - Add support for forking execution
- [354] - Install a Ratpack aware computation scheduler when using Rx
- [357] - Upgrade Netty to 4.0.20.Final
- [362] - pump the maxContentLength default value