Hi all,

The new release is almost there, only the documentation needs to be updated.
I've uploaded a new snapshot at:
http://www.restlet.org/downloads/current.zip 

If you have some spare time, please test it for any show stopper. Here is a
summary of the main changes:
 - support for URI templates in Routers/PatternScorer (see updated tutorial,
part 11)
 - support for Velocity templates (in addition to existing FreeMarker
templates)
 - support for JSON representation (input and output modes)
 - support for Amazon Web Services authentication scheme
 - separated portable Restlet Extensions from NRE Extensions
 - added new Application services (DecoderService, ConverterService,
TunnelService, ...)

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.
 - Fixed bug in AWS authentication algorithm if no AMZ_* header present.
Reported by Mikkel Jensen.
 - Patched Simple connector to not return a "Content-length" header when
size is 0.
 - Bug bug in the Simple connector causing a "Transfer-Encoding: chunked"
header to be returned even if no entity was present. May be the cause of
problems with the Safari browser.
 - Fixed issue with StringRepresentation wrongly computing its length in
certain cases. Reported by Richard G.

[API breaking changes]
 - Moved Atom, FreeMarker and FileUpload extensions to
org.restlet.ext.atom/freemarker/fileupload packages.
 - Moved implementation-independent classes from NRE into org.restlet
packages. 
 - Renamed LogService."loggerName" and "format" properties to add the
"access" prefix. Added "contextLoggerName" property.
 - Moved Resource and Representation to new org.restlet.resource package.
 - Moved *Service classes to new org.restlet.service package.
 - Renamed RedirectRestlet into org.restlet.Redirector.
 - Renamed ExtractFilter into org.restlet.Extractor.
 - Renamed TunnelFilter into org.restlet.Tunnel.
 - Moved StringTemplate data model to org.restlet.util.Model. Removed
ReadableModel and WritableModel.
 - Replace Representation.toString() by getValue() to prevent unwanted
consumption of the content. Reported by Vincent Lari.
        Note that getValue() throws IOException instead of eating them as to
older toString() implementation. 
 - Refactored TunnelFilter into a TunnelService enabled by default. 
 - Also refactored and renamed LocalService into MetadataService used by the
TunnelService and local client connectors.
 - Refactored VirtualClient interface into a Dispatcher class. Renamed
Context.getClient() into getDispatcher().

[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
 - 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.
 - The create*() methods in ApplicationHelper simply require an instance of
Filter as result parameter.
 - Clarified description for 304 status code.
 - Added @Override annotation to all example source code. Suggested by
Piyush Purang.
 - Added a constructor to ObjectRepresentation taking a serialized object
representation. getObject() will return the deserialized object.
 - Added callback methods beforeSend() and afterSend() to ConnectorService
in order to allow custom actions like transaction closing. 
   Suggested by Diggory Briercliffe for integration with Seam.
 - Renamed tutorial examples to
com.noelios.restlet.example.tutorial.Part**.java
 - Updated Java Service Wrapper to version 3.2.3.
 - Added support for Velocity templates in addition to FreeMarker templates.
See org.restlet.ext.velocity package.
 - Merged NRE's ClapReference, JarReference and FileReference into a single
org.restlet.data.LocalReference.
 - Merged org.restlet.spi into org.restlet.util (only Factory and Helper
were remaining).
 - Added Protocol.JAR constant.
 - Renamed NRE's LogFileHandler and LogFormatter to AccessLogFileHandler and
AccessLogFormatter (use for WWW access logs).
 - Moved "indexName" property from Directory to MetadataService (remove the
previous "indexNames" list).
 - Added "converterService" to Application to converts between
Representations and higher-level Objects (like JDOM documents, etc.). 
   Suggested by Chris Winters.
 - Added support for URI templates to facilitate the routing of dynamic
URIs. 
 - Reworked tutorial part 11 to illustrate usage of URI templates.

Reply via email to