Version 0.9.17
Released on 2015-05-31.
This is a big release.
This release features a brand new session API, along with support for client side sessions (i.e. storing the session data in the user's cookies). The new session API makes it very easy to plug in your own persistent store of session data, via the SessionStore
interface. The new SessionModule
provides an in memory session store by default. This is a drastically breaking change for users of the old session API. We hope you agree that the change was worth it.
It is now easier more convenient to use externalised config, through the new ServerConfig.Builder.require()
method. This method puts an object of the given type directly into the server registry making it available for later retrieval. If using Guice, the object will also be bound as an override. This makes externalising config for a ConfigurableModule
very convenient.
The Pac4j integration has been rewritten from scratch, and is no longer based on Guice modules. See RatpackPac4j. This is another breaking change.
The version of Guice used has been uggraded to 4.0-final, and the version of Netty has been upgraded to the latest 4.1-beta-5.
As usual, there are a host of other bug fixes and improvements in this release as well as some improved documentation.
Happy Ratpacking.
-- Team Ratpack
Links
Pull Requests (1)
Resolved Issues (19)
- [436] - Implement Reactive-Streams TCK
- [491] - Simple way to unit test classes whose collaborators return promises
- [493] - BindingSpec allows class with bindInstance
- [504] - Add a cookie based session store
- [536] - Implement pooling of file system bindings in FileSystemBindingHandler
- [552] - Re-organize ratpack-pac4j to allow increased flexibility without using internal classes
- [558] - Define/improve usage of promise/blocking with a blocking {} block
- [617] - Merge ratpack-config into core
- [618] - Improve and simplify base dir configuration
- [643] - Streams.flatMap() does not work
- [649] - Current way to specify an HTTP status with type safety uses an internal class
- [653] - Manual: Suggest reordering 2.1 and 2.2
- [657] - Add construct for using async api with sync api
- [664] - Provide serialization options for ClienSideSessionModule
- [670] - Use the dropwizard metrics json serializer
- [678] - Upgrade Google Guice to 4.0
- [681] - Session support redesign
- [685] - HttpClient call hangs indefinitely when the server closes the connection prematurely
- [688] - Changes to base dir files are not visible immediately in development