FYI, I've just updated the snapshot to fix a regression:
 - Fixed handler starting bug (forcing status to 501).
 - Optimized the ByteUtils.write(is, os) method.

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

Thanks,
Jerome

> -----Message d'origine-----
> De : Jerome Louvel 
> Envoyé : mardi 17 octobre 2006 14:05
> À : Restlet discuss
> Objet : New snapshot of beta 19 
> 
> 
> Hi all,
> 
> The next release has been delayed several times already, 
> sorry for that. This time I'm confident to release this week, 
> probably on Friday, unless unexpected bugs occur over the 
> week. As it contains numerous changes, any effort to test the 
> latest snapshot is very welcome. 
> 
> Beware that significant changes were done to the API. Check 
> the changes log, the updated examples and the Javadocs in the 
> distribution. The code is stable and all known bugs are 
> fixed. Support for the Servlet adapter has been upgraded to 
> work with Applications.
> 
> I've copied below the full changes log. The snapshot is available at:
> http://www.restlet.org/downloads/current.zip
> 
> Best regards,
> Jerome Louvel
> 
> ---
> 1.0 beta 19 (2006-10-17)
> 
> [Bugs fixed]
>  - Fixed issue with error status preventing the setting of 
> response headers with Servlet containers like Tomcat. Report 
> and solution by Evan DiBiase.
>  - Completed support for content streaming in the HTTP client 
> connector extension. Issue reported by Mikkel Jensen.
>  - Fixed bug in ParameterList.getFirstValue(String, boolean) 
> ignoring the "ignoreCase" parameter.
>  - Fixed issue with ServerServlet preventing the returning of 
> an output representation with an error status code. Reported 
> by Sean Landis.
>  - Fixed incomplete plugin descriptors for some extensions.
>  - Added workaround for JDK's bug #6472250 when using the 
> fixed length mode with the HTTP client.
>  
> [API breaking changes]
>  - Renamed Representation.isContentAvailable() to 
> isAvailable() and isContentTransient() to isTransient().
>  - Merged Client and GenericClient into a single Client class.
>  - Moved com.noelios.restlet.connector into hidden 
> com.noelios.restlet.impl.connector package.
>  - Moved internal utilities from com.noelios.restlet.util 
> into hidden com.noelios.restlet.impl.util package.
>  - Moved com.noelios.restlet.spi into hidden 
> com.noelios.restlet.impl package.
>  - Moved org.restlet.component.ContainerContext to 
> com.noelios.restlet.impl.component.ContainerContext.
>  - Renamed Server."next" property into "target". "Next" was 
> assuming that a previous Restlet existed, which is false for 
> Server connectors.
>  - Moved com.noelios.restlet.util.WrapperMap into org.restlet.util.
>  - Removed Restlet.compareTo() method. No apparent usage.
>  - Renamed Reference.getProtocol() into getSchemeProtocol().
>  - Scorer now derives from Filter to improve factorization.
>  - Renamed Handler into Finder. Note: Handler is still used, 
> but for a new purpose!
>  - Renamed DirectoryHandler* classes into DirectoryFinder*.
>  - Added Context.getClient() returning a generic ClientInterface.
>  - Removed get/post/put/delete methods on Context as 
> getClient() is preferred.
>  - Added a post() method on Resource returning an instance of 
> the new org.restlet.data.Result class as well as put() and delete().
>  - Renamed Chainer.findNext(Call) into getNext(Call). Chainer 
> is now abstract.
>  - Scorer is now abstract to force implementation of the 
> score() method.
>  - Renamed "name" property into "agent" for ClientData and ServerData.
>  - Added "name" (for domain name) and "port" properties to 
> ServerData, matching HTTP's "Host" header.
>  - Refactored HttpCall and related classes to better handle 
> and preserve the "Host" header information.
>  - Renamed CallModel variable "clientName" into 
> "client.agent" and "serverName" into "server.agent", also
>    "serverAddress" into "server.address" and "clientAddress" 
> into "client.address".
>  - Removed Context.getClient(protocol) method, now Context 
> directly implements ClientInterface.
>  - Replaced com.noelios.restlet.HostRouter by a portable 
> org.restlet.component.VirtualHost class. See updated tutorial 
> to know how to migrate.
>  - Moved com.noelios.restlet.PatternScorer to 
> com.noelios.restlet.impl.PatternScorer as this is related to 
> the API implementation.
>  - Refactored and completed the Application class to act as a 
> portable component, deployable on any Restlet engine and 
>    any (virtual) host without any change.
>  - Moved "root" property from Component to Application.
>  - Added new org.restlet.component.VirtualHost class, as a 
> Router subclass to target applications or handlers.
>  - Split org.restlet.Call into org.restlet.Request and 
> org.restlet.Response to solve overweight issue. Suggested by 
> Piyush Purang.
>    Also added a parent Message class following the HTTP 
> semantics. Merged "input" and "output" properties into a 
> single "entity" property on Message.
>  - Merged AbstractResource and Resource into a single Resource class.
>  - Merged AbstractRepresentation and Representation into a 
> single Representation class.
>  - Removed the "com.noelios.restlet.builder" package as the 
> new Application feature broke this approach and makes it less useful. 
>    We may reintroduce a refactored version in a later release.
>  - Moved LogFilter and StatusFilter to com.noelios.restlet.impl.
>  - Moved ClientList and ServerList to org.restlet.util 
>  - Moved ScorerList to org.restlet.util and changed it to an 
> interface.
>  - Renamed ClientData and ServerData to ClientInfo and 
> ServerInfo to be less ambiguous about the type of data.
>    Also renamed "Response.server" property to "serverInfo" 
> and "Response.client" property to "clientInfo".
>  - Moved EmptyValue to org.restlet.util.
>  - Renamed ConditionData to Conditions.
>  - ServerServlet now only works with applications as target. 
> Review updated Javadocs before upgrading.
>  - GuardFilter now logs messages via the context's logger. 
> Changed constructor.
>  - Moved all remaining classes of org.restlet.component and 
> org.restlet.connector into org.restlet for simplification 
> purpose. Suggested by Piyush Purang.
>  - Added Holder filter to hold an attached handler and apply 
> call logging and status setting.
>  - Refactored hierarchy : Restlet, Chainer, Connector and 
> Component directly derive from base Handler class.
>  - Extended usage of contexts.
>  - Removed WrapperRestlet class, replaced by a wrapping 
> constructor on Restlet.
>  - Renamed "input" and "output" to "entity" or "request" or 
> "response" in all properties name for CompressFilter, 
> DecompressFilter, 
>    ExtractFilter, HttpClientCall, HttpServerCall, Result
>  - Moved ClientInterface to org.restlet.util.
>  - Replaced WrapperCall by wrapper constructors on Message, 
> Request and Response.
>  - Replaced WrapperRepresentation by wrapper constructors on 
> Resource and Representation.
>  
> [Other changes] 
>  - Updated Jetty 6 extension to 6.0.1 release and Jetty 5 
> extension to 5.1.11 release.
>  - Added Resource.setVariants() and setIdentifiers() methods. 
> Can be easier than doing a getVariants().clear() then a 
> getVariants().addAll(newList). 
>    Suggested by Chris Winters.
>  - org.restlet.ReferenceList now derives from 
> WrapperList<Reference> to factorize code and to clarify (in 
> Javadocs) which extra methods are provided.
>  - Improved Javadocs for the org.restlet.Handler class to 
> explain what is the default behavior of each handle*() method. 
>  - Refactored all HTTP client and server classes to work with 
> the new call converter mechanism.
>  - Renamed AbstractHttpServer to HttpServer, 
> AbstractHttpServerCall to HttpServerCall and 
> AbstractHttpClientCall to HttpClientCall.
>  - Merged HttpCall interface and DefaultHttpCall class into 
> single HttpCall class.
>  - Added com.noelios.restlet.connector.HttpServerConverter as 
> the base call converter (from HTTP calls to uniform REST calls).
>  - Refactored the HttpUrlConnection-based HTTP client to 
> extract a generic HttpClientConverter and added a base 
> HttpClient class.
>  - Added support of HTTP headers in high-level calls. The 
> headers are available in 
> Request|Response.getAttributes().get("org.restlet.http.
>    headers") as an instance of ParameterList. Additional 
> headers can also be added by setting a "org.restlet.http.headers" 
>    attribute in Request or Response. Note that only 
> non-standard HTTP headers are allowed to be added to prevent 
> conflicts with the connector's behavior.
>  - Added sample application illustrating the access raw HTTP 
> headers. Used suggestion from John D. Mitchell.
>  - Added static valueOf() methods to ChallengeScheme, 
> CharacterSet, Encoding, Language, MediaType, Method, Protocol 
> and Status. 
>    Sometimes renamed existing create() method. Suggested by 
> Piyush Purang.
>  - Clarified the Javadocs of root classes in org.restlet.
>  - Added more constructors to Chainer, Context, Filter and Finder.
>  - Added a Message.setEntity(String, MediaType) method 
> facilitating the setting of string-based entities.
>  - Fully updated the FAQ.
>  - Updated pictures in the tutorial to reflect the latest API 
> changes (Application, hierarchy changes, etc.).
>  - Form handling code don't throw IO exceptions anymore for 
> Call.getInputAsForm() and Reference.getQueryAsForm(). Issue 
> reported by Piyush Purang.
>  - Added modification support (PUT and DELETE) to 
> DirectoryFinder. Suggested by Don Dwoske and John D. Mitchell. 
>    Implementation contributed by Thierry Boileau.
>  - Added "protocol" property on Call.
>  - Added FTP constant to Protocol.
>  - Improved detection of default ports in 
> Reference.toString() static methods. Added new toString() variant.
>  - HTTP client connectors now set the "Host" header manually 
> when proper information is found via Call.getServer()."name" 
> and "port".
>  - Refactored the parsing/construction of the target resource 
> reference to handle both relative and absolute URIs.
>  - Improved robustness of Reference when handling relative URIs.
>  - Added a "javadoc-hide" property to "build.properties" to 
> hide the Javadocs of implementation packages (true by default).
>  - Added shortcut attach/detach methods to Router, equivalent 
> to getScorers().add()/removeAll().
>  - Method Filter.getNext(Call) is now final to prevent 
> overriding. If needed, use Chainer as base class.
>  - Added ScorerList.removeAll(UniformInterface) method to 
> remove all scorers pointing to a given handler.
>  - Added Protocol.ALL constant as a protocol wildcard.
>  - Added "hosts" and "localHost" properties to Container.
>  - Added support "Allow" HTTP headers. New allow*() methods 
> added on Resource and support for setting the 405 status in 
> the Finder (ex-Handler) class.
>    The list of allowed methods is then set to the Response 
> (ex-Call) object. Subclasses of Finder can customize the list 
> of allowed methods.
>    Suggested by AJ Barnes and Lars Heuer.
>  - Updated tutorial examples to leverage application concept.
>  - Refactored all usages of the JDK's loggers in order to 
> reuse the Context's logger, allowing separation of messages 
> for each application.

Reply via email to