Hi all, I've released a new snapshot containing many changes. The Restlet API is staying very stable this time but the NRE implementation had a large refactoring (mostly about classes/packages moving).
Please find below the current changes log. Note that for changes inside classes or classes removal, I've added the deprecation tags as discussed. For the classes moving, you'll have to fix the broken import statements (easy with IDEs). http://www.restlet.org/downloads/current.zip Best regards, Jerome Louvel --- [Bugs fixed] - Fixed bug causing the ServerServlet to create an extra HTTP server connector if one is available on the classpath. Reported by Sean Landis. - Fixed bug in StatusFilter, method dohandle() renamed to doHandle(). - Removed getStatusCode() and getReasonPhrase() methods in ServletCall hiding the actual value set. Reported by Sean Landis. - Fixed bug preventing the restart of a Jetty 6 connector. Added RestartTestCase. Reported by Piyush Purang. [API breaking changes] - Moved Atom, FreeMarker and FileUpload extensions to org.restlet.ext.atom/freemarker/fileupload packages. - Moved implementation-independent classes from NRE into a org.restlet.ext/.data/.model/.util packages. - Renamed LogService."loggerName" and "format" properties to add the "access" prefix. Added "contextLoggerName" property. - Moved WrapperRequest|Response|Representation to org.restlet.ext.util. [Other changes] - Reorganized Javadocs into three parts: Restlet API, Restlet Extensions, Noelios Restlet Engine. - Added JSON library as an external plugin project. See http://www.json.org - Added org.restlet.ext.json extension to manipulate JSON representations. - Added MediaType.APPLICATION_JSON and added entry for "*.json" in common extensions. - Now adds the mandatory "Date" header to all responses. - Added modifiable "identifier" and "secret" properties to ChallengeResponse, in addition to the raw "credentials" property. - Added support for Amazon Web Services authentication scheme for HTTP client requests. Added ChallengeScheme.HTTP_AWS constant and a sample example at com.noelios.restlet.example.misc.AwsTest. Suggested by Mikkel Jensen. - StatusService now has its "overwrite" property set to "false" by default. - Now the StatusService (and associated StatusFilter classes) also catch unhandled Errors. Suggested by Vincent Lari. - Added createStatusFilter and createLogFilter to NRE's ApplicationHelper and ContainerHelper to allow overriding. Reported by Vincent Lari. - Added workaround for AWS authentication caused by HttpUrlConnection in JDK < 1.6 causing sending of "application/x-www-form-urlencoded" content type. - The SPI mechanism now uses the classloader of the Factory's class. get/setClassLoader() methods also added. Suggested by Kabe. - Made package org.restlet.spi visible like other JDK's SPI packages - Moved interfaces from org.restlet.util to org.restlet.spi. Shouldn't impact user code at all. - Implemented support for multiple choices in org.restlet.Handler. Added a "negotiateContent" property to disable automatic content negotiation. - Added "decoderService" to Application to auto-decompress incoming entities. - Implemented support for multiple choices (300 status) in org.restlet.Handler. - Added a "negotiateContent" property to disable automatic content negotiation. - Refactored DirectoryResource: removed unused handle*() methods and duplicate "negotiationEnabled" property. - Added Reference.encode() and decode() methods, easier to use than raw URLDecoder/URLEncoder classes. - Renamed StringTemplate.process() into format() to make place for a parse() method.

