- November 20, 2009

With the release of Restlet 2.0 M6, we are getting close to a feature freeze. This will happen with the next release, Restlet 2.0 RC1, due for the end of the year. In addition, we are also continuing the support of Restlet 1.1 with the release of version 1.1.7, fixing 11 bugs and adding the EPL 1.0 licensing option.

With less than two months since Restlet 2.0 milestone 5, it’s encouraging to see how much work has been accomplished and the number of contributions that we received. As usual, let’s review the main changes.

Main changes

  • The Apache HTTP Client extension has been updated from 3.1 to 4.0 version. Note that some parameters have been changed, so be sure to verify your configuration. In addition, it is now possible to specify a different proxy server to use for each Restlet connector.
  • The Resource API has been stabilized and enhanced. The Restlet annotations now support “|” and “:” separators to express alternative variants and both input and output variants.
  • The Security API has been trimmed down and refactored based on experience in the field. The classes relying on the package have been moved to a new JAAS extension; and the digest related ones relying on the javax.crypto package moved to a new Crypto extension along with Amazon S3, Azure client HTTP authentication.
  • The support for HTTP DIGEST has been vastly improved, especially on the client-side, with proper mapping of its properties to AuthenticationInfo (new), ChallengeMessage (new), ChallengeRequest and ChallengeResponse classes.
  • Additional standard HTTP headers are now fully supported by the Restlet API : “Age”, “Authentication-Info”, “Date”, “If-Range”, “Retry-After”, “Warning”, and the frequently asked “Cache-Control” header! For a detailled mapping of those headers to the Restlet API, please consult this page of the user guide.
  • The edition for GWT has been stabilized and heavily improved to be closer to the other Restlet editions. For example, the ClientResource class is now available, JSON and XML extensions have been added. The base package has been reverted to “org.restlet.gwt” due to issues with GWT projects combining client-side and server-side usage of Restlet. The remaining task for 2.0 RC is to support annotated interfaces to achieve the same level of productivity than GWT-RPC, in a RESTful way. We will leverage GWT deferred binding for this purpose.
  • The edition for Android has been improved, with the port of the Crypto, Apache HTTP Client, JAAS, JSON, Net extension (without FTP client).
  • The Servlet extension has been improved to support multiple declarations of the ServerServlet in the same Servlet application.
  • The Jetty extension has been updated to leverage the recent Jetty 7.0 version now hosted at Eclipse.
  • A new Netty extension has been contributed by Gabriel Ciuloaica, leveraging the new NIO framework from JBoss.
  • The Restlet logging, based on JULI (java.util.logging), now has an extension mechanism allowing an efficient redirection to alternate mechanisms like log4j as explained in the wiki. A new SLF4J extension has been added to facilitate the replacement of Restlet’s default logger facade.
  • The OAuth extension has been moved to the Restlet Incubator as it would require too much work to get aligned with the new Restlet security and resource APIs in version 2.0. Note that this is temporary and we definitely want to reintroduce this feature in Restlet 2.1.
  • Some dependencies have been updated: GWT 1.7.1, Apache Commons Logging 1.1.1 and Simple Framework 4.1.5.
  • About 24 bugs have been fixed, including the regression with the deprecated “createRoot” method leading to broken routing in 2.0 M5. Several annoying issues with OSGi and Spring have especially been fixed.

Direct contributors

  • Adam Harrison
  • Arjohn Kampman
  • Ben Vesco
  • Bob Resendes
  • Bruno Harbulot
  • Bryan Hunt
  • Carlos Alexandre Moscoso
  • Carsten Lohmann
  • David Fogel
  • Dustin Jenkins
  • Emily Toop
  • Fabian Mandelbaum
  • Gabriel Ciuloaica
  • Georges-Etienne Legendre
  • Guido Schmidt
  • Kelly McLaughlin
  • Kevin Pauli
  • Patrick Logan
  • Paul Austin
  • Rickard Oberg
  • Simon Guest
  • Stefan Maassen
  • Tal Liron
  • Thierry Templier
  • Warren Janssens

Thanks to all others who helped us in various ways!

Additonal resources

Changes log:

Download links:

Maven repositories: is updated on the 1st and 15th of each month is updated daily with new artifacts (access reserved to subscribers)

  • Great news, and happy 4th birthday! (a few days late)

  • Benjamin Gagnon

    Hi Jerome, I just wanted to let you know that I really appreciate Restlet and your contributions.

    Pretty much every time I look for info regarding Restlet I see your name.

    I wish to contribute an example war file for Restlet usage. Is there a proper channel that I need to go through? Please note that I will not be doing this until my school project is complete… this means you can expect something in January or February.

    Thanks for all your hard work.


    • Thank you for your feed-back! I have to mention that I’m not alone, my associate Thierry Boileau is doing a lot of work as well as the regular Restlet contributors, like Bruno 🙂 Benjamin, when you have something ready, a first step would be discussing it in our mailing list.

      Best regards,

  • Anwar

    For newbies, the restlet2.0 tutorial is incomplete and very confusing. It’s a great pity for the Restlet framework!!

    • Hi Anouar;

      Are you talking about this tutorial or the first steps in the user guide?

      FYI, the 2.0 tutorial has been integrated in the user guide since version 2.1 and we are finished the “Restlet in Action” book for 2.1 release. Next in version 2.2, we will write a new tutorial, more comprehensive and up to date, as indicated in this roadmap document.

      We are also looking for contributors on the documentation front.

      Best regards,