Version 0.9.5
Released on 2014-06-01.
Another month, another Ratpack release…
Tim Yates added support for arbitrary regex path bindings, which makes path binding very flexible and powerful for those that need it. The existing path binding mechanism is now built on Tim's improvements.
Ben Navetta added search functionality to Registry
, making render()
and parse()
operations more efficient, particularly in larger applications.
Jérôme Leleu made significant contributions to Ratpack's integration with his Pac4j multi protocol authn and authz library. Jérôme has created a demo application showing how to use Ratpack with Pac4j, which also serves as an example of building a Ratpack application with Maven.
Rus Hart has been busy adding integration for Netflix's fault tolerance library, Hystrix. Expect examples and docs in next month's release.
This release contains a major breaking change that is likely to affect all users. The modules {}
block, used for configuring Guice bindings, in Ratpack.groovy scripts (and associated backing classes) has been renamed. This block is now named bindings {}
which more accurately reflects that this block contributes Guice bindings, of which modules are one kind of source. There are other breaking API changes in this release, but they are unlikely to affect many users if at all.
Ratpack's implementation and core abstractions continue to strengthen and improve, forming the basis of what is becoming a very powerful toolkit for creating high performance HTTP applications that are enjoyable to develop. We hope that you use Ratpack and give us your feedback and ideas to help shape it on the road to 1.0.
-- Team Ratpack
Links
Pull Requests (10)
- [334] - Adjust pac4j integration to no longer require setting publicAddress launch config property (davidmc24)
- [333] - Fix bug on pac4j support for SAML provider (leleuj)
- [332] - Upgrade HikariCP to 1.3.8 (brettwooldridge)
- [325] - use registry search in parse() impl (bnavetta)
- [320] - use registry search for renderer lookups (bnavetta)
- [316] - Use Clients in ratpack-pac4j (leleuj)
- [314] - searchable registry api + implementation (bnavetta)
- [313] - Add aadamovich to contributor list (aadamovich)
- [311] - Support regex patterns in paths (fixes #82) (timyates)
- [309] - Remove annoying warning on latest versions of Gradle (aadamovich)
Resolved Issues (15)
- [345] - Upgrade to Groovy 2.3.2
- [341] - Allow ReceivedResponse buffers to be persisted
- [338] - Jackson parsing should support generic types
- [329] - ratpack-pac4j doesn't properly send error responses when requested by Clients
- [328] - Upgrade pac4j to 1.5.1
- [327] - Add integration with Hystrix
- [324] - Update parse() impl to use registry search
- [323] - Renaming ModuleRegistry to BindingsSpec and modules {} to bindings {}
- [319] - Cache registry searches internally as a performance improvement
- [318] - Change renderer lookup to use registry search instead of getAll()
- [317] - Support form bodies in pac4j request handling
- [315] - Change registry to return Iterable<T> instead of List<T> to avoid collection creation
- [297] - Make Registry searchable
- [282] - Prevent Groovy @CompileStatic transform from generating `Expression*.class` files in working directory
- [82] - Support regex patterns in paths