In order to adress several pressing issues, we are releasing those new versions one month after the previous release cycle. The good news is that we had time to add a couple of nice features to the 2.1 development branch!
First, the 2.0.7 version fixes a couple of issues on the stable branch including:
- Dormant threads in some IO operations due to excessive thread pool instantiation (via TaskService). Now a single temporary thread is used when an existing TaskService can’t be found.
- Broken Amazon S3 authentication due to new AWS domain naming strategy
- Cookies management interference when using the Apache HTTP client extension
- Performance issue with JAXB serialization when used by the JAX-RS extension
- Equality testing between Role instances wasn’t properly done (object identity testing)
Those fixes are of course also available in the new 2.1 release.
In addition, version 2.1 Milestone 4 contains several major enhancements and new features summarized below.
- The ClientResource#entityBuffering property now buffers non transient representations of unknown size. This change was necessary to fully prevent HTTP chunking when talking to a GAE backend (which forbids chunk encoding).
- Refactoring of the SSL support to reduce the “org.restlet.jar” size by moving all SSL logic to the “org.restlet.ext.ssl” extension. Now other HTTP extensions including Jetty, Simple and Apache HTTP Client need to add this dependency. The SSL extension also includes an experimental HTTPS client that will be stabilized and completed with a HTTPS server in next milestone.
- The simplified logging format (one line per log entry) used by default in the Java SE edition has now been disabled from the Java EE edition by default as it could interfer with logging behavior of some containers such as Tomcat
- Throwing ResourceExceptions in ServerResource subclasses now properly preserves the given status code back to the client
- The SDC protocol support added in 2.1 M3 via the “org.restlet.ext.sdc” extension is now available in the GAE edition via the “org.restlet.ext.net” extension, with the same syntax for better code portability between cloud platforms (Protocol.SDC and ChallengeScheme.SDC constants also added)
- New “org.restlet.ext.gae” extension added to the GAE edition that supports authentication and enrolement based on the GAE users service
- ClientResource now respects any change to the default client preferences when using dynamic proxies (via wrap() for example), such as change in preferred media types.
- Avi Flax
- Bo Xing
- Christoph Dietze
- John Logsdon
- Julien Landuré
- Kristoffer Gronowski
- Martin Svensson
- Matt Kennedy
- Michael Guiral
- Rhett Sutphin
- Tal Liron
- Tim Peierls
Thanks to all others who helped us in various ways for this fourth milestone.