jump to navigation

Restlet Framework 2.1 RC1 and 2.0.10 released October 7, 2011

Posted by Jerome Louvel in GAE, RDF, Restlet Releases, Security.
add a comment

Here is the first Release Candidate of 2.1 which freezes the features scope and the public Restlet API. It also marks the beginning of a stabilization and optimization phase.

In order to reach 2.1.0 early next year, we want to fix as many issues reported in our tracked as possible and welcome any help on this front, especially reproducible test cases and patches.

We will also complete the Restlet in Action book, which has already 10 chapters out of 11 written and most appendices ready as well. Manning should be sending a MEAP update emails very soon now, taking into account great feed-back from readers and technical reviewers.

In the coming weeks, we will also start working on version 2.2, but we will come back on this exciting topic in another blog post !

Bug fixed

First, the 2.0.10 version fixes 11 issues on the stable branch including:

  • HTTP DIGEST signature issues when targeting several URIs
  • Web form empty issue on the GAE edition
  • RDF writing issue with XML and n3 formats

Major changes

In addition, version 2.1 RC 1 contains several major enhancements and new features summarized below.

  • Added ChallengeScheme.HTTP_AWS_QUERY constant to Crypto extension with client-side support for Amazon Web Services special authentication scheme (using URI query parameters)
  • Better handling of special URI characters when encoding and decoding to workaround JDK’s URLEncoder/Decoder limitations
  • Added syntactic sugar to the RDF extension
  • Added ClientResource#addQueryParameter and addSegment methods
  • Added ClientInfo#certificates and cipherSuite properties
  • Added Authenticator#multiAuthenticating to better control optional authenticators and prevent several authentications if not necessary.
  • Updated all Apache libraries to recent versions
  • Updated Jackson to version 1.9.0
  • Updated FreeMarker to version 2.3.18 (security fix!)

 

Recent contributors

  • Alex Milowski
  • Arjohn Kampman
  • Avi FlaxBjorn Roche
  • Bryan Hunt
  • Cyril Lakech
  • George Calm
  • Henry Story
  • Matt Stromske
  • Raif S. Naffah
  • Sebastien Schneider
  • Steve Ferris
  • Warren Janssens

Thanks to all others who helped us in various ways for this milestone.

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
http://www.restlet.org/documentation/2.1/jse/changes

Download links:
http://www.restlet.org/downloads/

Maven repositories:
http://maven.restlet.org

Restlet Framework 2.1 M6 and 2.0.9 released August 20, 2011

Posted by Jerome Louvel in GWT, NIO, OData, Restlet Releases.
add a comment

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.

Bug fixed

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.

Major changes

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>

 

Recent contributors

  • 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.

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
http://www.restlet.org/documentation/2.1/jse/changes

Download links:
http://www.restlet.org/downloads/

Maven repositories:
http://maven.restlet.org

Restlet Framework 2.1 M5 and 2.0.8 released June 21, 2011

Posted by Jerome Louvel in Restlet Releases.
Tags: , ,
add a comment

Today was an exciting day for Restlet. First Manning has published a new version of the “Restlet in Action” book in MEAP, including a new chapter covering cloud computing usage of the framework, leaving only two chapters to write (plus some refactoring based on reviews) in order to complete this effort. In addition, we have just released two new versions of the framework!

Bug fixed

First, the 2.0.8 version fixes a couple of issues on the stable branch including:

  • Annoying regression with JAXB due to improper TreeMap usage
  • Fixed regression introduced in 2.0.7 with WriterRepresentation, OutputRepresentation and subclasses when sending long entities (1024 and longer)
  • Fixed Range issue when handling large files
  • Fixed support for Content-Disposition header with HTTP server connectors

Those fixes are of course also available in the new 2.1 release.

Major changes

In addition, version 2.1 Milestone 5 contains several major enhancements and new features summarized below.

  • New “org.restlet.ext.oauth” extension added providing comprehensive support for OAuth 2.0 (draft 10) co-developped with Ericsson Labs. For additional details you can read the extension page in the user guide as well as the specifications page.
  • New “org.restlet.ext.openid” extension added providing initial support for OpenID 2.0 contributed by Ericsson Labs. For additional details you can read the extension page in the user guide as well as the specifications page.
  • Greatly stabilized the internal NIO based HTTP client and server connectors, now passing all our test cases. We are still fighting a couple of issues related to NIO reselection and HTTP pipelining and will complete HTTPS support for 2.1 RC1.
  • Moved all SSL logic within Restlet core into org.restlet.ext.ssl extension, adding a new dependency for some HTTP connectors.
  • Fixed compatbility issues with GWT 2.3.
  • Updated Jetty to version 7.4.2.

 

Recent contributors

  • Aaron Summers
  • John Logsdon
  • Julien Landuré
  • Kristoffer Gronowski
  • Martin Svensson
  • Tim Peierls
  • Tom Moore

Thanks to all others who helped us in various ways for this last milestone before 2.1 RC1.

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
http://www.restlet.org/documentation/2.1/jse/changes

Download links:

http://www.restlet.org/downloads/

Maven repositories:
http://maven.restlet.org

Restlet Framework 2.1 M4 and 2.0.7 released April 27, 2011

Posted by Jerome Louvel in GAE, Restlet Releases, SDC, Security.
add a comment

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!

Bug fixed

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.

Major changes

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.

Recent contributors

  • 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.

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
http://www.restlet.org/documentation/2.1/jse/changes

Download links:
http://www.restlet.org/downloads/

Maven repositories:
http://maven.restlet.org

Restlet Framework 2.1 M3 and 2.0.6 released March 31, 2011

Posted by Jerome Louvel in NIO, Restlet, Restlet Releases, SDC, SIP.
1 comment so far

Past months have been very intense for Noelios in a positive way and we are pleased to release those two new versions today. Our long running effort to develop our own non-blocking NIO connector into Restlet core, comparable in performance to Jetty/Netty/Grizzly but simpler and directly aligned to HTTP/SIP transport semantics is starting to give great results.

First, the 2.0.6 version fixes a couple of issues on the stable branch. In addition, version 2.1 Milestone 3 contains several major enhancements and new features summarized below.

Main changes

  • Support for GWT 2.2 has been added, but due to breaking changes inside GWT core API, we couldn’t maintain compatibility with previous versions of GWT. If you can’t upgrade your GWT version, you can still rely on the 2.0 branch of Restlet.
  • Stabilized the built-in SIP and HTTP client and server connectors based on our non-blocking NIO core layer, refactoring the previous design and fixing many bugs. This should solve most issues related to blocked connections and infinite loops that were encountered. See this blog post for an official announce.
  • Added a new SDC extension providing a client connector for the Google Secure Data Connector protocol compatible with the official SDC agent. This allows usage of this feature during development phases as well as for deployment to private clouds and other public clouds such as Amazon EC2 and Microsoft Azure. See this blog post for an official announce.
  • Improved ClientResource class by adding several properties
    • requestEntityBuffering, responseEntityBuffering properties to make transient entities reusable (retry attempts, chunk encoding issues with GAE, response entity reuse)
    • maxRedirects property to prevent infinite redirects, in addition to the existing infinite loop detection.
  • Added an easy to listener mechanism that facilitates the support of asynchronous representation consumption. We tested this feature successfully by consuming live feeds from CouchDB.
  • Updated several dependencies including Jetty to version 7.3.0 and Jackson to version 1.7.1

Recent contributors

  • Andreas Taube
  • Carolyn Duby
  • Charlie Mason
  • Henry Story
  • Guido Schmidt
  • John Logsdon
  • Kristoffer Gronowski
  • Leandro Oliveira
  • Olivier Miel
  • Phil Dunks
  • Sebastien Gaide

Thanks to all others who helped us in various ways for this third milestone.

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
http://www.restlet.org/documentation/2.1/jse/changes

Download links:

http://www.restlet.org/downloads/

Maven repositories:
http://maven.restlet.org

Restlet Framework 2.0.4 and 2.1 M2 released December 24, 2010

Posted by Jerome Louvel in Restlet Releases, SIP.
add a comment

To celebrate Christmas, we are happy to announce two new releases! First, the 2.0.4 version tagged “stable” and the 2.1 M2 one tagged “testing”. Note that those tags are based on the Debian release terminology.

New stable version 2.0.4

This version fixes about 20 issues related to JAX-RS, XStream, OData, ROME, Atom, Spring extensions, GWT 2.1 support as well as a content negotiation and non-persistent connection bugs.

This is the version you want to use for all your projects in production or that will go in production by mid-2011. Note that version 1.1 is no longer maintained outside our professional support plans, so we urge you to upgrade if you haven’t done so already (see migration instructions).

New Maven repository policy

Listening to regular feed-back from the community, we have decided to refresh our Maven repository daily at 7 am (GMT+1) instead of twice a month. This will facilitate testing and feed-back on ongoing developments of the version in SVN trunk, currently 2.1 snapshots.

We have also retired our private repository, so customers with professional support plans relying on this protected repository are encouraged to update their POM file to point to http://maven.restlet.org For additional instructions, please see our Maven page.

Main changes

  • The logging system, based on JULI (java.util.logging), has been greatly enhanced and simplified. It is now possible to programmatically change the log level using the Engine#setLogLevel(…) and setRestletLogLevel(…) static methods. It is also possible to enable selective call logging by setting the Request#loggable property or by overriding the LogService#isLoggable(Request) method. Note that if you do provide a logging configuration file via the system properties, it will take over the programmatic configuration. Also, the new default log formatter will write each log entry in the console on a single compact line, reducing confusion while debugging.
  • The TaskService has also been enhanced to support scheduled tasks execution based on the standard ScheduledExecutorService interface.
  • New EncoderService added to automatically compress entities sent on both the client and the server side. Note that is turned off by default and that a minimum size and applicable media types can be defined. Note that the DecoderService now also works on the client-side.
  • Added server-side support for Amazon Web Services (S3) authentication.
  • Added a ConfidentialAuthorizer in the org.restlet.security package to limit access to resources via secure protocols such as HTTPS.
  • Added a new SIP extension providing support for the Session Initiation Protocol, largely used for voice over IP. This new extension, available in the Java SE, Java EE and Android editions, ships both client and server SIP connectors over TCP, reusing the NIO/HTTP internal connector engine as SIP is a cousin of HTTP, providing excellent scalability and performance. We will cover this new features in more details in an upcoming blog post. For now, you can read the Restlet/SIP specifications page.
  • Various bug fixes and optimizations were made on the new NIO/HTTP connector, covering TCP socket reuse, buffer overflow issues and IO buffer size configuration.

For those waiting for new content of the Restlet in Action book, we are currently handling the comments made by our editor on the initial drafts submitted. We should have chapter 8 and 10 sent to the MEAP subscribers early in January.

Recent contributors

  • Alex Bass
  • Bruno Gieder
  • David Fogel
  • Eric Hough
  • Florian Bucklers
  • George Calm
  • Guido Schmidt
  • Jean-Philippe Steinmetz
  • Jim Stabile
  • John Logsdon
  • Kristoffer Gronowski
  • Mark Thornton
  • Phil Dunks
  • Rhett Sutphin
  • Rickard Oberg
  • Simon Temple
  • Tim Peierls
  • Tom Andersson

Thanks to all others who helped us in various ways for this second milestone, especially NetDev for funding a large part of the new SIP connector and helping with testing and challenging use cases !

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
http://www.restlet.org/documentation/2.1/jse/changes

Download links:
http://www.restlet.org/downloads/

Maven repositories:
http://maven.restlet.org

Restlet Framework 2.1 M1 released November 7, 2010

Posted by Jerome Louvel in NIO, Restlet Releases.
4 comments

This month we are celebrating 5 years of Restlet open source development! Version 0.9 beta was the first public release made on November 2005.

Five years later, we still feel on the right path : leveraging REST to fully embrace the Web as the new development platform. We are still in the middle of the journey, with an exciting road ahead including the cloud computing, the rise of the mobile web and the upcoming HTML 5 standard.

Updated version tags

Today, we released the first milestone of version 2.1, our new “testing” version, as well as version 2.0.3 which is becoming our new “stable” version recommended for production. As a consequence, the 1.1 branch is still available for download here but has  been archived.

We now encourage all developers to migrate to the latest greatest 2.0 branch for new deployments (see these instructions first). For new development projects, we encourage the usage of version 2.1 M1 which benefits from the stability of branch 2.0 for most parts, and adds new exciting features.

Main changes

  • All features deprecated in version 2.0 were completely removed, reducing the framework footprint
  • Brand new internal HTTP connector (client and server) based on non-blocking NIO with initial performance close to extension connectors based on Apache HTTP Client 4.0 and Eclipse Jetty 7.1. This connector has already been significantly tested under load, with large entities and is fully configurable
  • Removed the Grizzly and Netty extensions considered as experimental in version 2.0 to focus on our lighter NIO connector
  • Representation class can now notify a listener of asynchronous content availability (ready to be read) or delivery (ready to be written). This has been tested to asynchronously receive CouchDB notifications
  • Added support for GWT 2.1. Support for GWT 2.0 has been removed due to changes in GWT internal APIs, but is still supported in the 2.0 branch

Roadmap

Here is a summary of the planned features and tasks for version 2.1.0 which is scheduled for 2011 Q2:

  • Finish the writing of the Restlet in Action book published by Manning
  • Add a SIP connector extension based on the new NIO internal connector, providing a modern VoIP foundation for convergent web applications
  • Enhance the ConverterService to support direct conversion between representations, from beans to representations and between beans
  • Add a ConnegService to configure HTTP content negotiation and allow its customization. One use case is the negotiation between web representations of a resource based on agent type such as desktop browser and mobile browser
  • Better integration with Eclipse ecosystem, with support for model-driven REST via extensions for EMF, ATL and Acceleo
  • Migration from Tigris to JIRA Studio for SVN hosting, issue tracker, code search, code review, continuous build, etc.

For more information on this roadmap, you can check this wiki page for content details and this main site page for schedule details.

Recent contributors

  • Alex Milowski
  • Alexander Kampmann
  • Alois Cochard
  • Avi Flax
  • Brian Cabana
  • Bruno Harbulot
  • Christophe Vanfleteren
  • Daniel Zhelyazkov
  • Darin Jackson
  • David Fogel
  • Doug Smalley
  • Dustin Jenkins
  • Evan Wang
  • Fabian Mandelbaum
  • Giovani Pieri
  • Jean-Luc Geering
  • John Logdson
  • Laurent Rustuel
  • M. Maksin
  • Marc Portier
  • Michael Terrington
  • Nicolas Rinaudo
  • Olivier Miel
  • Olivier Monaco
  • Rob Kooper
  • Tal Liron
  • Tim Peierls
  • William Pietri

Thanks to all others who helped us in various ways for this first milestone, especially NetDev for funding a part of the new NIO connector and helping with testing and challenging use cases !

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes
http://www.restlet.org/documentation/2.1/jse/changes

Download links:
http://www.restlet.org/downloads/

Maven repositories:
http://maven.restlet.org is updated on the 1st and 15th of each month
http://maven.noelios.com is updated daily with new artifacts (access reserved to subscribers)

Restlet Framework 2.0.0 released ! July 19, 2010

Posted by Jerome Louvel in Restlet Releases.
16 comments

Year after year, the Restlet open source project has been growing and maturing, both technically and through its lively community of users and contributors.

Today, we are proud to announce the general availability of version 2.0 of the Restlet Framework, representing about 2 years of work since version 1.1! This is truly a major release, equivalent to the initial effort that took us from the project launch to the 1.0.0 release.

What’s new ?

Restlet editions

After targeting standalone Java SE virtual machines and Java EE web containers in version 1.0, we introduced a manual port to GWT in version 1.1. During the development of version 2.0, we jumped on two new bandwagons launched by Google:

  • Android for web connected smartphones and tablets
  • GAE for cloud computing hosted applications

As each port required a lot of manual maintenance, we developed a special Restlet forge including a fully automated port mechanism that allows us to work on a single code base while taking into account the specificities of each target environment.

As a result, the framework is now available in five consistent editions covering the most popular Java-based platforms.

Package restructuring

While maintaining an easy migration path from version 1.1, we took the opportunity of this major release to reorganize Restlet extensions, moving “com.noelios.restlet.ext” packages into “org.restlet.ext” ones, merging the “com.noelios.restlet.jar” into a single core “org.restlet.jar” including both the Restlet API and the core engine.

Enhanced Restlet API

We completed our support for HTTP headers, mapping almost all standard ones to the Restlet API as illustrated in this mapping table and also introduced a higher level way to develop Restlet resources that works equally well on both client and server side.

Those new ServerResource and ClientResource classes support the traditional class-oriented approach previously used in Restlet and added on top of it using custom Java annotations, providing the benefits of the JAX-RS API (that we keep supporting as a Restlet extension) but with much less annotations (just 5 currently) and a rich and extensible Java API as a solid foundation.

As a result, you can use representation beans that can get automatically serialized to and from XML, JSON, GWT object, Java object formats thanks to extensions such as Jackson, XStream, JiBX or JAXB.

We also added a brand new security API that supports HTTP centric authentication and authorization in simple yet extensible way, for example with extensions for the JAAS, jSSLutils and javax.crypto APIs.

OData extension

A new extension for OData technology was added, thanks to a collaboration with Microsoft Interop teams. It provides a high-level client API based on the ClientResource class that lets you access remote OData services, typically hosted in an ASP.NET servers or on the Windows Azure cloud computing platform.

The extension contains both a code generator for the representation beans and a runtime layer. Advanced features such as projections, blobs, server-side paging, row counts, customizable feeds or version headers are supported.

RDF extension

We also want to make Restlet a great framework for building applications for the Semantic Web. The relationship between REST and RDF is perfect : the core concept of resources and their representations with REST and the expression of meaningful links between them with RDF.

This new extension contains a full RDF API, leveraging the Restlet API, and capable of processing RDF documents either in a DOM-like way or in a SAX-like way. It is also capable of writing large RDF documents is a SAX-like way. We currently support two serialization formats: RDF/XML, RDF/n3, Turtle and N-Triples. Finally, a RdfClientResource class facilitates the hypermedia navigation in the Web of Data.

Other changes

It is impossible to be exhaustive in such a post, but we have collected all major changes in our new user guide. For those interested in a more exhaustive list, there is always the changes log.

“Restlet in Action” book

Last year we have started writing a book on the Restlet Framework for Manning. It will contain 12 chapters covering all major aspects of Restlet applications development and RESTful web APIs design based on our home-grown ROA/D methodology.

Today, we released chapter 6 on documenting and versionning web APIs, as well as chapter 7 on Restlet security contributed by Bruno Harbulot. To celebrate version 2.0.0 release, Manning is offering to Restlet users a time limited 35% discount with the “rest35au” code. Happy reading!

What’s next

Today is a time to step back and thank our community of users and contributors, all readers providing feed-back on the book in the authors’ forum or during the external review and of course to our growing list of customers at Noelios Technologies, the commercial entity backing the open source project, making this open source project economically sustainable.

After nearly 5 years after the project launch, the road ahead has never been as exciting. REST is finally recognized as the best way to design web applications and distributed architectures in general.

We have already prepared a roadmap for version 2.1 which will add incremental features such as better hypermedia support, enhanced converter service, a pure JavaScript edition, production-ready internal HTTP connectors based on non blocking NIO, support for VoIP via SIP and an even better user documentation.

Your feedback, funding and continuous support will make a difference.

Best regards,

Jérôme Louvel – Founder and Technical lead
ThierryBoileau – Core developer and Community manager

Contributors since 2.0 RC4

  • Aleskandr Shekhter
  • Alex Milowski
  • Alexander J. Perez Tchernov
  • Alistair Dutton
  • Bruno Harbulot
  • Christopher Gokey
  • David Fogel
  • Dustin Jenkins
  • Eric Hough
  • Felix Leipold
  • Giovani Pieri
  • Greg Hengeli
  • Guillaume Maillard
  • Guillermo Vega
  • Iestyn Evans
  • Jeroen Goubert
  • Kristoffer Gronowski
  • Louis Huh
  • Martin Svensson
  • Rickard Oberg
  • Sriram Chavali
  • Tim Kuntz
  • Tim Peierls
  • TK Kocheran
  • Valdis Rigdon
  • Vassilis Touloumtzoglou

Thanks to all others who helped us in various ways during the 2.0 development!


The development of this version was funded in part by the Hauts-de-Seine department based on Noelios Technologies participation to a collaborative HD3D2 R&D project. We are grateful for their support which will also help us develop the next 2.1 version.

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes

Download links:
http://www.restlet.org/downloads/testing

Maven repositories:
http://maven.restlet.org is updated on the 1st and 15th of each month
http://maven.noelios.com is updated daily with new artifacts (access reserved to subscribers)

Updates

Restlet Framework 2.0 RC4 released June 1, 2010

Posted by Jerome Louvel in Restlet, Restlet Releases.
add a comment

Continuing our road towards the 2.0.0 version, the release candidate 4 is ready for testing. Since RC3 released one month ago, about 28 issues were fixed.

Main changes

  • Character oriented subclasses of OutputRepresentation now extend WriterRepresentation for consistent character set handling. StringRepresentation now derives from CharacterRepresentation. This fixed several character set issues in extensions such as GWT, XStream, Jackson or JAXB.
  • Status name is now returned to clients for display instead of the status description, in order to not expose internal information by default for security reasons. It is also shorter and doesn’t normally contain line feeds and carriage return forbidden characters.
  • OData extension issues related to complex types generation, redirection or unnecessary client connector instantiations were fixed.
  • Engine class was refactored to allow the usage of Restlet in constrained environments (such as Applets) where it is forbidden to create a new classloader.
  • Security related classes (JaasVerifier, DigestAuthenticator and DigesterRepresentation) were fixed.
  • Unecessary log entries under Android were removed, due to usage of BufferedReader without specifying a buffer size.
  • The design of the Engine class was fixed to allow custom subclasses to be registered without systematically creating a new EngineClassLoader. This is useful when the security manager is activated. A typical use case is for running Restlet inside Applets.
  • Deprecated GwtShellServletWrapper and WadlResource classes, SpringBeanFinder#getSpringBeanRouter method.
  • Javadocs improvements with links to online user guide (wiki) and more detailed description of classes such as ServerResource and Finder.
  • Optimization of StringRepresentation#getStream() speed by a factor 10 using the ByteArrayInputStream().
  • Clarified server connector start message by displaying the protocol and the port number they are listening on.

Direct contributors

  • Alex Milowski
  • Bruno Harbulot
  • George Calm
  • Jean-Baptiste Dusseaut
  • Jean-Philippe Steinmetz
  • Kevin Pauli
  • Marc Knaup
  • Martin Krasser
  • Matthew Drooker
  • Myriam Leggieri
  • Pierre-Yves Ricau
  • Rob Heittman
  • Roger Heim
  • Tal Liron
  • Thierry Templier
  • Yang Xudong

Thanks to all others who helped us in various ways!

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes

Download links:
http://www.restlet.org/downloads/testing

Maven repositories:
http://maven.restlet.org is updated on the 1st and 15th of each month
http://maven.noelios.com is updated daily with new artifacts (access reserved to subscribers)

Restlet Framework 2.0 RC3 released April 23, 2010

Posted by Jerome Louvel in Restlet Releases.
add a comment

About one month after RC2, here comes a new release candidate. We fixed about 20 issues, including bugs and API problems. Final 2.0.0 version is still scheduled for the end of June 2010 and we are already quite happy about the overall stability.

In addition, Restlet Framework version 1.1.10 was released, fixing three bugs (unwanted console trace, WADL “Resource” element order and “content-length” header for range requests).

Main changes

  • Thread blocking issues with the internal HTTP client connector were fixed.
  • The internal HTTP client works again on the Android edition.
  • Fixed issues preventing multi-threaded usage of ClientResource and dynamic client proxies.
  • Fixed concurrency bug with annotated interfaces causing
    405 errors (method not allowed).
  • HTTP proxy configuration was added to internal HTTP client connector.
  • Removed lesser used MediaType constants in the GWT edition to reduce the compiled size by 6 Kb. Now using Restlet in your GWT application only adds 159 Kb of JavaScript. If you GZip your HTTP traffic, this even gets down to 65 Kb. See this issue for more optimizations ideas.
  • Fixed several bugs related to HTTP DIGEST authentication.
  • Fixed support of conditional processing for non-GET methods and allowed entity headers to be returned if conditions were not matched.
  • “onSent” and “onResponse” callbacks now also work with synchronous HTTP connectors (Net and HttpClient extensions).
  • XStream annotations are now detected and allow customization of XML and JSON representation from the representation beans.
  • ServletUtils class introduced in RC2 was moved into the org.restlet.ext.servlet package. It also the easy retrieval of Servlet request and response objects from the Restlet equivalents.

Direct contributors

  • Antonio Fiestas
  • Bruno Harbulot
  • Carsten Lohmann
  • Dan Simpson
  • Graham Smith
  • Leigh Klotz
  • Mark Drew

Thanks to all others who helped us in various ways!

Additional resources

Changes log:
http://www.restlet.org/documentation/2.0/jse/changes

Download links:
http://www.restlet.org/downloads/testing

Maven repositories:
http://maven.restlet.org is updated on the 1st and 15th of each month
http://maven.noelios.com is updated daily with new artifacts (access reserved to subscribers)