We are still on track for the 2.1 RC1 release in September, but so many enhancements and bug fixes were added since 2.1 M5 that we thought it would be useful to many users to have this intermediary milestone.
First, the 2.0.9 version fixes 10 issues on the stable branch including:
- Inappropriate warning message about child contexts
- IO flushing issue that could create troubles with writer based representations such as JsonRepresentation
- Conversion of representations to instances of primitive type using the default converter
- Handling of binary data in OData extension
- Default converter took precedence over specialized converters when converting incoming representations
- Lack of warning message when an unexpected error happen during the invocation of an asynchronous callback
Those fixes are of course also available in the new 2.1 release.
In addition, version 2.1 Milestone 6 contains several major enhancements and new features summarized below.
- Improved Restlet annotation value syntax to support alternate variants using ‘|’ and combination of several metadata for a single variant using ‘+’ separator. Also, all metadata are now supported, not just media types. In addition, support for URI query constraints was added to allow annotations such as @Get(“form:json?light”) or @Get(“?level=2”), working on both client and server side
- Added org.restlet.ext.html extension supporting writing HTML forms in either URL encoded format or multipart form data, with the same FormDataSet class. Parsing of multipart form data isn’t supported yet.
- Added CookieAuthenticator in the org.restlet.ext.crypto extension to provide customizable and secure authentication via cookies, in a way that is as compatible as possible with HTTP challenge based authentication
- Added ConnegService providing a way to control the content negotiation behavior at the application level. It offers two modes: strict and flexible (default) but additional algorithms can be implemented.
- Added org.restlet.ext.emf extension supporting the conversion between EMF generated beans and XML or XMI representations. It can also automatically write simple HTML representations for navigating your web API.
- Added HTTPS server connector based on the internal non-blocking NIO connector. Co-developed with NetDev.
- Many minor enhancement to the Restlet API for conveniency purpose such as a new Representation.append(Appendable) method.
API breaking change
When retrieving or updating the raw headers in the Request or Response attributes, the type should now be Series<Header> instead of Series<Parameter>
- Bryan Hunt
- Cyril Lakech
- David Bordoley
- David Hamilton
- Glenn Bruns
- Jean-Pascal Boignard
- Jeroen Goubert
- John Logdson
- Konstantin Pelykh
- Martin Svensson
- Nikhil Purushe
- Ray Waldin
- Remi Dewitte
- Scott S. McCoy
- Tim Peierls
- Thomas Eskenazi
Thanks to all others who helped us in various ways for this milestone.