===========
Changes log  
===========

- 1.1.10 (2010-04-23)
    - Bugs fixed
        - Removed debug trace when using the Basic authentication.
        - Fixed generation of the Content-length header in requests 
          when using ranges.
        - Fixed generation of Resource tags in a WADL document 
          according to the 2009 WADL RNC (generate the Parameter 
          elements before the Method ones).
          Reported by Leigh Klotz.

- 1.1.9 (2010-03-30)
    - Bugs fixed
        - Allowed to specify its own user agent.
        - Fixed support of latin1 characters in credentials for 
          the HTTP_BASIC scheme.

- 1.1.8 (2010-01-29)
    - NRE and Extension Enhancements
        - War client now sets the modification date, if available. 
          Suggested by Warren Janssens.
    - Bugs fixed
        - Fixed generation of Atom document.
          Reported by Bedwyr Humphreys.
        - Issue with line breaks that were removed when PUTting 
          a file. Contributed by Daniel Truemper.
        - Precondition check was wrong for 'if-unmodified-since' if
          dates were equals. Reported by Andreas Schneider.
        - WadlApplication wasn't exposing the default route of routers.
          Reported by John Wismar.

- 1.1.7 (2009-11-20)
    - Bugs fixed
        - Some Jetty parameters (maxThreads, etc.) had to be set at the
          connector creation time instead. Now they only need to be set
          at start time. Reported by Avi Flax.
        - Fixed issue with Grizzly Maven artifact ID. 
          Reported by Daniel Peters.
        - Fixed issue with TransformRepresentation which should not use 
          XMLFilter in getSaxSource(). Contributed by Warren Janssens.
        - Fixed bug in hours formatting in text elements of Atom feeds.
          Reported by Moisei Rabinovich.
        - Fixed potential NPE in ContentType.
          Reported by Eugeniy Chemezov. 
        - Fixed bug in engine causing "connectTimeout" property to 
          always be zero, for all connectors. 
          Reported by Evgeny Shepelyuk.
        - Fixed bug in internal HTTP client causing "connectTimeout"
          property on Client to be ignored. Reported by Rahul Juneja.
        - Fixed bug in Apache HTTP client causing "connectTimeout"
          property on Client to be ignored. Reported by Jim Alateras.
        - PUT with empty entities were causing 400 errors. The test
          in Resource has been removed. 
          Reported by Nicolas Rinaudo and Rhett Sutphin
        - Fixed bug in InputEntityStream causing issue with mark/reset
          logic. Reported by Arjohn Kampman.
        - Fixed bug that generates WADL documentation with wrong base 
          ref. Reported by Carsten Lohmann.
        - Updated the response with all ChallengeRequests sent by the 
          server. Reported by Murugesh Krishnamurthy.
    - Misc
        - Updated license file to mention distribution under EPL 1.0 in
          addition to other licenses, like for Restlet 2.0.
        - Added Series#getValuesArray(String, boolean) method.

- 1.1.6 (2009-09-28)
    - Bugs fixed
        - Fixed bug in Template class when the pattern is updated.
        - Fixed bug when a Restlet application is deployed in Weblogic 
          10 listening on port 80. Reported by Sondre Eikanger Kvalø.
        - Fixed bug with the type of the content tag of Atom documents.
        - Fixed bug regarding reading of WriterRepresentation.
          Patch contributed by Bruno Dumon.
        - GWT client now accepts relative HTTP URIs.
          Reported by Wish Gandhi and fixed by Bruno Harbulot.
        - Fixed potential NPE in ContentType class.
          Reported by Eric Runquist. 
        - Fixed bug with range service and redirections.
        - The "Location" header must contain an absolute URI.
          Reported by Simon Reinhardt.
        - The internal HTTP server now shuts down in all cases after
          30 seconds. Reported by Martin Pernollet.
        - Fixed potential NPE in internal HTTP server.
        - Fixed potential bug with RangeInputStream causing 100% CPU
          utilization with java NIO.
          Reported and contributed by Tal Liron.
        - Router#attachDefault() method now relies on the protected
          createRoute() method. Reported by Rob Heittman. 
    - Misc
        - Updated Grizzly to version 1.9.17.
        - Updated FileUpload to version 1.2.1.
        - Updated JavaMail to version 1.4.2.
        - Updated JAXB RI to version 2.1.12.
        - Updated JSON library to version from 2009/08/16.
        - Updated OAuth library to version from 2009/06/17.
        - Removed console traces when Restlet-GWT starts and stops the
          HTTP client. Reported by Frank Rousseau.

- 1.1.5 (2009-05-26)
    - Bugs fixed
        - Fixed bug in Directory AlphaNumComparator. 
          Reported and fixed by Rob Heittman.
        - Fixed bug in S3 authentication algorithm when bucket name was
          specified in the host name. Reported by Matt J. Watson.
        - Fixed potential NPE with Reference#getMatrix. Reported by Tal 
          Liron.
        - Fixed matching of Firefox2 for Windows agent name. Reported by
          Peter Childs.
        - Fixed jSSLutils Maven group ID. Reported by John Wismar.
        - Fixed innacurate warnings in logs for 304 (Not modified) 
          statuses with empty response entities. 
          Reported by Nicholas Brown.
        - Fixed bug in ReaderRepresentation causing some issues while
          writing itself. Reported by Nicolas Rinaudo.
        - Fixed bug regarding the resolution of relative URI used in 
          IncludeInfo. Reported by Jerome Bernard.
        - Fixed potential NPE in FreeMarker's TemplateRepresentation.
          Reported by Matt J. Watson.
        - Fixed MediaType.APPLICATION_W3C_XSLT value to 
          application/xslt+xml (was application/xsd+xml).
          Reported by Jean-Yves Cronier.
        - ObjectRepresentation was closing the outputstream too early 
          instead of simply flushing.
        - Fixed potential IllegalStateException when updating the allowed 
          methods on Resource subclasses. Reported by Micah Whitacre.
        - Fixed issue between Tomcat and Servlet adapter when the 
          response could be sent too early due to "Content-Length" 
          header triggering the sending too early. 
          Reported by Stephen Colebourne. 
        - Fixed potential NPE in DomRepresentation when creating the 
          transformer. Reported by Micah Whitacre.
        - Fixed bug preventing the TunnelService to process full media
          types passed in query parameter. Reported by Michael Berman.
        - Fixed flushing bug with HTTP server connectors.
        - Fixed parsing bug in Atom extension for inline content.
        - Fixed flushing bug with HTTP server connectors when the client
          party closes its connection at shutdown stage. Reported and 
          contributed by Attila Babo.
    - Misc
        - The Template implementation now uses "\\d" as a regex for the
          Variable.TYPE_DIGIT constant.
        - The "com.noelios.restlet" OSGi bundle is now lazily activated.
          Suggested by Micah Whitacre.
         
- 1.1.4 (2009-04-06)
    - Bugs fixed
        - Fixed issue in JettyHandler mixing HTTP and HTTPS requests.
          Reported by Albert Boehmler.
        - When updating a file via the FILE connector, some deletion
          issue could occur on Windows due to JVM integration issues
          with the OS. A workaround to reduce this was to invoke the
          garbage collection. Reported by Kevin Conaway.
        - The CLAP connector didn't set the expiration date based on
          its 'timeToLive' parameter. Reported by Peter Becker.
        - Added dependencies to the fileupload and dbcp modules for 
          OSGi runtime. Reported by Rob Heittman.
        - Fixed "Content-location" header value set by the 
          DirectoryResource when files are served from a CLAP connector. 
          Reported by David Fogel.
        - Fixed starting issue with the range service.
        - Fixed POM generation issue with dependencies release version.
          Reported by Paul Austin. 
        - Fixed selector exhaustion issue with Grizzly connector.
          Reported by Bruce Lee.
        - Fixed content negotiation bug in JAX-RS extension.
          Reported by Fabio Mancinelli.
        - Fixed bug in TunnelService preventing the replacement of 
          client preferences if the HTTP header was "Accept" and not
          "accept".
        - Fixed flushing bug with WriterRepresentation and 
          SaxRepresentation classes. Reported by Tal Liron.
    - Misc
        - Updated DirectoryTestCase (tested directory are made unique).
          May help fix a bug with Windows and deleted files reported by 
          Kevin Conaway.
        - Made several JAX-RS imports optional in the OSGi manifest.
          Suggested by Hendy Irawan.  
        - Updated Jetty to version 6.1.15.
        - JAX-RS extension now dynamically load the default providers
          to not throw class not found exceptions if they are not
          available in the classpath (JavaMail, JAXB, etc.)
        - Updated JAXB to version 2.1.10.
        - Upgraded Grizzly to version 1.9.10.
    
- 1.1.3 (2009-02-26)
    - Bugs fixed
        - Fixed Regex issue in Template with fixed variables. 
          Contributed by Bruno Dumon.
        - Fixed bug in ReadableRepresentation preventing channel from
          closing. Reported by Janne Husberg.
        - Fixed bug with jSSLutils integration. Reported by Dan Noble 
          and fixed by Bruno Harbulot.
        - Handler is now capable of discovering allowed methods, even
          in protected Handler subclasses. Reported by Leigh Klotz.
        - Fixed the inclusion test of media types when one contains a 
          "*+".
        - Fixed wrong computed "content-length" header when encoding 
          representations using the Encoder. Reported by Tamas 
          Cservenak.
        - Fixed wrong computed "content-location" header generated by 
          the DirectoryResource. Reported by David Fogel.
        - Fixed potential bug with EncodeRepresentation when only 
          Identity applies.
    - Misc
        - Upgraded JAXB to version 2.1.9.
        - Upgraded Grizzly to version 1.9.5.

- 1.1.2 (2009-01-23)
    - Bugs fixed
        - org.restlet.util.Engine#getClassLoader() didn't return
          the system classloader when all other were null. Fixed by
          Rob Heittman.
        - Fixed bug when JsonRepresentation are instantiated with a 
          JSONArray object. Reported by Adrian Nadeau.
        - Fixed bug that occurs when a request with a query part is 
          sent to a Directory Restlet.
        - Fixed values of headers "Content-length" and "Content-Range" 
          issues when serving a range. Clarified the non support of 
          multiple ranges and cases where the content-range cannot be 
          properly deduced. Reported by Diego Ballve.
        - The Maven POM for the JAX-RS extension was referencing the
          JAX-RS 1.0 snapshot version instead of the final 1.0 version.
          Reported by Hendy Irawan
        - ServerServlet was not always leveraging the createWarClient()
          method. Reported by Marcelo Ochoa.
        - Fixed NPE when using the "cri" and "crs" variables in log 
          format. Reported by Maxence Bernard.
        - Fixed NPE with OSGi. Reported by Hendy Irawan and fixed by
          Xuhui Wang.
        - When a Resource was returning a 204 (No content) status, it
          was converted into a 404 error. Now it is left untouched.
          Reported by Ryan Niemeyer.
        - Added translation of the HttpUrlConnectionCall class for the 
          backport to JDK 1.4. Contributed by Taras Puchko.
        - Fixed some bugs in JAX-RS extension:
            - in Util.doesImplements(..) and renamed it to 
              Util.doesImplement(..). Reported by Luke Studley and 
              Bruno Dumon.
            - JaxRsUriBuilder.path(Class, String). Reported by 
              Juergen Zimmermann
            - NPE in JaxRsProviders.getContextResolver(..). Reported
              by Juergen Zimmermann
        - Fixed bug in StatusService preventing the "homeRef" property
          from being taken into account. Reported by Remi Dewitte.
        - Fixed bug in servlet extension pom which causes the 
          javax.servlet api archive to be mistakenly packaged in 
          generated war file. Reported by Daniel Woo.
        - Fixed potential NPE in Servlet logging. 
          Reported by Yuri de Witt.
        - Fixed bug in the internal HTTP client preventing the 
          sending of requests with a relative resource reference.
          Reported by Paul Austin.
        - Fixed NPE in DecodeRepresentation when the wrapped
          representation has no stream. Reported by Nicolas Rinaudo.
        - Fixed potential encoding bug with ReaderRepresentation.
          Reported by Nicolas Rinaudo.
        - The ServerServlet now sets the HTTP headers after the status 
          to prevent issues with Tomcat 5.0 and "Content-Length: 0" 
          headers sending the response immediately. This also fixes 
          a similar issue with GWT that forced to return an empty
          representation. Reported by Eirik Bjorsnos.
        - Fixed potential recursion in ServletWarClientEntity.
          Reported by Nicholas Brown.
        - Fixed bug in Restlet-GWT preventing the callback to work 
          with broken connections. Reported by Bill Greenseth.
    - Misc
        - Fully moved org.restlet.gwt.internal content into 
          org.restlet.gwt.engine package.
        - Fixed backport issue with the NRE core (Class not found: 
          javax.security.auth.login.CredentialException). Contributed 
          by Taras Puchko.
		- Fixed Javadocs of Reference regarding invalid URI characters.
		- Upgraded jSSLutils to version 0.5.1.
		- Upgraded Grizzly to version 1.9.4.
        - Upgraded JSON library to latest version.
        - Upgraded FreeMarker to 2.3.15.
		- Upgraded Spring to 2.5.6.
		
- 1.1.1 (2008-10-31)
    - Bugs fixed
        - Fixed regression with applications deployed in Servlet 
          container hosted on Windows (Path "\WEB-INF\restlet.xml" 
          does not start with a "/" character). Reported by Brian 
          E. Williams.

- 1.1.0 (2008-10-28)
    - Important change
        - The servlet extension now tries to instantiate the single 
          application with the empty constructor first, then the one 
          with the parameter of type Context. The aim is to encourage 
          most people to use the empty constructor as it is the 
          recommended way since release 1.1M5. The other constructor 
          is still working but logs once a warning message.
    - Bugs fixed
        - Updated the type of the digest value from String to array of 
          bytes. Reported and contributed by Kevin Conaway.
        - Fixed potential NPE in NIO caused by ByteUtils. Reported by
          Bruce Lee.
        - Added missing CGLib imports in Spring library manifest. 
          Reported by Adam Harris.
        - Added missing parsing of the "published" tag in Atom feeds.
        - XPath expression evaluation could swallow some exceptions
          in XmlRepresentation subclasses. Reported by Richard 
          Hoberman.
        - Fixed potential NPE with Digest authentication when the 
          client's identifier is not known.
        - Fixed potential thread safety issues with client connectors.
          Reported by Tim Peierls.
        - Fixed potential NPE in Guard#doHandle method. Reported by 
          Diego Ballve.
        - Fixed 404 response with Directory Restlet when the file's name 
          contains "%" character. Reported by Andrew Herbert.
        - ResourceException was sometimes calling Status#toString() 
          instead of Status#getDescription() to get the exception
          message. Reported by Aron Roberts.
    - API enhancements
        - Added a "tcpNoDelay" option for internal and Apache HTTP 
          clients. Contributed by Kevin Conaway.
        - Added a DigestRepresentation that allows to both use an 
          entity and compute its digest value. Suggested by Kevin 
          Conaway.
        - Added the handling of server or client connector's context 
          when adding a connector respectively to servers and clients 
          list of a component.
        - Refactored constructors of the ParameterInfo class in the 
          WADL extension in order to reflect the fact that "name" and 
          "style" attributes are required.
        - Added the ability the give a title to WadlApplication or 
          WadlResource instances. Suggested by Jerome Bernard.
        - The Request#isConfidential() method has been refactored to 
          be supported by Message and Response as well. The method
          Request#setConfidential() has been removed (back to Restlet
          1.0 state). Added Protocol#isConfidential() method to support
          the new implementation which rely on Request#getProtocol().
          Reported by Kevin Conaway. 
    - Misc
        - Updated JAX-RS API to version 1.0. The implementation of the
          runtime environment is not fully finished yet. We are 
          waiting for an access to the TCK.
        - Updated Grizzly to latest 1.8.6.2 version.
        - Improved the performance of the ByteUtils#toString() methods
          significantly using a buffer. Impact the performance of the 
          Representation#toString() method. Reported by Aaron Crow.
        - Removed unecessary 'final' modifiers in catch clauses.
          Reported by Richard Hoberman.
        - ServerServlet now copies all attributes from the Servlet 
          context into the component's context.
        - Fixed Resource#allowPut() error in Javadocs. Reported by 
          Erik Beeson.
        - Added the support of content negotiation to the WAR client.
          This was done by refactoring and sharing the existing logic
          available in the FILE client connector.
        
- 1.1 Release Candidate 2 (2008-09-24)
    - Bugs fixed
        - Fixed bug when a webapp is mounted on the root instead of 
          some context path. Reported by Bruno Dumon.
        - Fixed bug regarding the deeplyAccessible property for a 
          directory. Reported by Carlos Alexandre Moscoso.
        - Fixed GWT javascript recursion with the Engine#getInstance 
          method. Reported by Doug Alcouffe.
        - Fixed potential NPE with Spring integration when the 
          component is not declared in the servlet configuration file. 
          Reported by Alexander Koppelhuber.
        - Using a Engine.loadClass(), a ClassNotFound exception was
          not returning the missing class name. Reported by Vincent 
          Ricard.
        - Fixed potential NPE in Restlet constructor when Engine is
          missing. Reported by John Logdson.
        - Fixed parsing of the HTTP WWW-Authenticate header when no
          realm is provided. Reported by Roman Geus.
        - Now the caller's classloader is used to try to load classes
          to fix a regression introduced in 1.1 RC1. Reported by 
          Bruno Dumon.
        - Unknown challenge schemes used to hide the actual status of
          response for client HTTP connectors. Now only a warning is
          logged. Reported by Tamas Cservenak.
        - Lowered the log message for connectors without protocols 
          from SEVERE to FINE. Reported by Paolo Borelli.
        - WadlApplication now correctly handles nested resources when
          the parent resource has no 'id' attribute. Also supports
          root resources with no leading slash. Patches contributed 
          by Vincent Ricard.
        - Fixed error in Conditions.getStatus() sometimes returning
          304 for methods other than HEAD and GET. Contributed by
          Stephan Koops.
        - Fixed uncessary assumption that an input stream would 
          return -1 several times at the end. Reported by Marcelo
          Ochoa. 
        - SpringHost were created without context, causing some NPE
          when trying to access client dispatchers. Reported by 
          Alexei Sokolov.
        - Fixed potential ClassCastException with 
          ReadableRepresentation when used with a non selectable
          channel. Reported by Rob Heittman. 
        - Fixed IO exception "Resource temporarily unavailable" that
          could occur on Linux during file transfers due to a bug 
          fixed in JDK 7 only (#5103988). Reported by Emblem Parade,
          Roman Geus.
        - Fixed bug causing blockings when exchanging an entity for a
          DELETE method with internal connectors. Reported by 
          Tamas Cservenak.
        - Fixed autowiring of the default routes. Reported by Paolo 
          Borelli.
        - Fixed potential security exception at 
          ServerServlet#isDefaultComponent method. Reported by Marcelo 
          Ochoa.
        - Fixed "Too many open files" exception with the internal 
          server connector that did not close the socket after sending 
          the response. Reported by Christoph Korn.
        - Fixed race issue in SSL unit test with Jetty. Server was 
          stopped too early.
        - Fixed potential "Address already in use" exception with the 
          grizzly connector when the server is required to connect on 
          ephemeral port.
        - Fixed Grizzly exceptions "Unable to write to the non-blocking 
          channel. Unable to select the channel to write to it. 
          Selection timed out.". Reported by Bruce Lee, Emblem Parade
          and Roman Geus.
    - Misc
        - Removed deprecated code in GWT module not need for a first 
          release.
        - Added initial support for HTTP challenges in GWT module.
          Suggested by Gabor Dolla. Help from Rasmus Agerholm.
        - Updated db4o to version 7.4.58.
        - Updated FreeMarker to version 2.3.14.
        - Updated JAX-RS API to version 0.11.
        - Updated GWT to version 1.5.2 (final).
        
- 1.1 Release Candidate 1 (2008-08-20)
    - Breaking change
        - The logger names used by Restlet have been fully refactored 
          to allow use more predictable names, to facilitate logging
          configuration, filtering, etc. See the wiki for details:
          http://wiki.restlet.org/docs_1.1/g1/13-restlet/29-restlet/98-restlet/101-restlet.html
    - Bugs fixed
        - Fixed NPE with WadlApplications that host Restlet subclasses.
          Reported by François Renard.
        - Removed all 'volatile' declaration in the Restlet-GWT module
          to prevent compilation issues. Reported by Nitin Gupta and
          fixed by Rob Heittman.
        - Fixed NPE occuring in JaxbRepresentation due to recent usage
          of representation's character set.
        - Fixed NPE in HttpRequest when using a Server instance without
          context. Reported by Bruno Dumon.
        - Fixed NPE in WadlApplication. Reported by Vincent Ricard.
        - Fixed blockings in internal HTTP connectors while processing
          requests. Reported by Zsolt Czinkos.
        - Refactored the ImmutableDate class since comparison operations
          ("after", etc) may fail. Reported by Mike Brzozowski.
        - Fixed bug in InputEntityStream when entity was containing '0' 
          bytes.
        - Fixed instantion of application with a child context when 
          deployed in a servlet container. Reported by Vincent Ricard.
        - Fixed bug in Grizzly connector causing retrieval of a request
          entity to fail.
        - Fixed bug in chunked encoding reading, forgetting to read the
          trailing new line. That caused connection resets between the
          JDK.net HTTP client and the Grizzly connector. Reported by
          Ralf Bommersbach. Debugging help from Kevin Conaway.
        - Fixed bug in Restlet example with HTTPS server configuration.
          Reported by Christy Ring and fixed by Bruno Harbulot.
        - Fixed context issue in Spring RestletFrameworkServlet.
          Contributed by Rhett Sutphin.
        - Fixed NPE when an application runs inside a servlet container 
          as compressed WAR file. Reported by Jorge L. Williams.
    - API Enhancements
        - Added warning message when no client connector supports the 
          request's protocol. Suggested by François Renard.
        - Added the ability to provide Wadl documentation to any 
          Restlet instances.
        - Added an org.restlet.data.Digest class, a "digest" property 
          to Representation and a DigestService for applications. 
          Suggested by Chris Winters and Benoit Maujean.
        - Filtered broken connection based on French messages in 
          addition to English ones.
        - Vastly improved internal client performances on all operations
          including chunked reading and writing.
        - Status#toString() now appends the description if available 
          for more meaningful messages.
        - Added Representation#exhaust() method to read and discard 
          content optimally (better than getText()).
        - Now a Reference that gets some invalid URI characters will
          automatically encode those characters instead of throwing
          an IllegalArgumentException. A message will still be logged
          with a "fine" level. Suggested by Brad Peabody.
        - Added static Context.getCurrentLogger() method which always
          returns a non-null logger, if possible the current context's
          logger.
        - Deprecated Form and Template constructors with a logger.
        - Added static Engine.setUserClassLoader() and 
          getUserClassLoader() methods to allow a user to provide his
          own class loader to use in priority for all class loading
          actions done by Restlet code. Also kept the previous
          getClassLoader() static method to return the 'best' class
          loader available. Issue with Groovy reported by Avi Flax.
    - NRE and Extension Enhancements
        - Refactored WADL extension based on John Logsdon's feed-back.
          Added convenience methods and constructors on FaultInfo, 
          MethodInfo and RepresentationInfo. Removed unecessary methods
          on WadlResource like getRepresentationInfo(Variant) and
          getParametersInfo(RequestInfo|ResponseInfo|Representation-
          Info). Added MethodInfo#add*() short-cut methods.
        - JAX-RS provider exception handling improved in the
          MessageBodyReader class. Contributed by Bruno Dumon. 
        - Updated jSSLutils to version 0.5.
        - Added com.noelios.restlet.util.TraceHandler for debugging 
          purpose displaying the logger name and message of each log
          record received by the log manager.
    - Misc
        - Updated Grizzly to version 1.8.4.
        - Uniformized logger names relying on the static method 
          Context.getCurrentLogger().
        - Added maven-metadata.xml files in the Maven repositories. 
          Suggested by Guillaume Chatelet.
    
- 1.1 Milestone 5 (2008-08-07)
    - Security warning
        - The handling of Context has been significantly refactored in 
          this release. A new Context#createChildContext() method has
          been added to create a new isolated child context from a 
          parent component's context. Application(Context) constructor
          doesn't wrap the given context anymore. Attach methods on
          virtual hosts and internal component router now automatically
          set the child context on the target application is a null 
          context is detected.
    - Bugs fixed
        - Allowed subclasses of StatusService to get the throwable 
          that generate the error in getRepresentation() method. 
          Reported by Loic Mathieu.
        - The Servlet adapter now stops the whole Component instead
          of just the Application.
        - Fixed Apache HttpClient extension bug regarding multiple 
          headers. Reported by Stephan Koops.
        - Fixed potential concurrency issues in Response and
          WrapperList/Series/Form. Reported by Stephan Koops.
        - Fixed potential NPE when using Velocity with template 
          representations having no modification date. Reported by 
          Evan Worley.
        - Moved generation of entries at the the end of Atom feeds. 
          Reported by Bruno Harbulot.
        - Fix potential NPE in Template class. Reported by Ralf
          Bommersbach
        - Fixed bug in HTTP client connectors causing a null response
          entity to be returned when no entity headers were found but
          when chunked encoding was detected.
        - Each connector now has its own instance of Context to allow
          setting of different parameter values on different 
          connectors.
        - Fixed issue with character sets and proxies where a character
          set could be written twice in HTTP headers. Reported by Alex
          Milowski.
        - The Router.defaultMatchQuery property wasn't properly taken
          into account by the Route class. Now it sets the default 
          value for Route.matchQuery property.
        - Fixed bug in Grizzly connector causing some requests to hand.
          Contributed by Bruno Harbulot.
    - API Enhancements
        - Added a "Request.originalRef" property containing the URI 
          reference originally requested by the client. Clarified the
          purpose of "Request.resourceRef". Suggested by Alex Milowski
          and Rob Heittman.
        - Client now has a new constructor taking a string with the 
          protocol name instead of a Protocol instance.
        - Replaced "Response.challengeRequest" by "challengeRequests" 
          list property to conform to HTTP semantics. Contributed by
          Bruno Harbulot.
        - Clarified concurrency constraints on Uniform/Restlet 
          subclasses and on Resource class. 
          Suggested by Bruno Harbulot.
        - Added public Resource#getAllowedMethods() method.
        - Allow the routing of URIs with or without taking into 
          account the query part. Suggested by Jim Alateras and 
          contributed by Bruno Dumon.
        - Completed the Component's XML config with the default query 
          match setting defined on routers. Suggested by Bruno Dumon.
        - Replaced the Context#getThread(Runnable) method with a more
          flexible org.restlet.service.TaskService class and a new
          "taskService" property on Application. Many design 
          contributions from Tim Peierls. Suggestions by Kevin Conaway.
        - Clarified Javadocs for static getCurrent() methods. Suggested
          by Patrick Logan.
        - Replaced Map<String, Object> parameters by Map<String, ?>
          in Template and Resolver classed. Suggested by Leigh Klotz.
        - Added shortcut Route#getMatchingMode() and setMatchingMode()
          methods that redirect calls to the "template" property.
        - Documented the default matching mode on Router.
        - Deprecated Context#setLogger() as there is no compelling use
          for it and synchronized setParameters() and setAttributes()
          methods. Updated Javadocs of Context related to concurrent
          access and modifications of those collections. Suggested by
          Tim Peierls.
        - Added HTTP OAuth authentication scheme constant.
        - Completed the Component's XML config with the support of 
          parameters under the component, client and server elements. 
          Reported by Bruno Harbulot.
        - Added a org.restlet.service.Service class, super class of all
          existing service classes, with "enabled" and "started" 
          properties. Enabled services are automatically started by
          their parent application or component.
        - Added an org.restlet.data.Range class to represent content
          ranges.
        - Added "enabledCipherSuites" and "disabledCipherSuites" 
          parameters to HTTPS connectors supporting those settings.
          Contributed by Bruno Harbulot.
        - Added Representation.range property to indicates the partial
          content available. Corresponds to Content-Range HTTP header.
          Also added a getAvailableSize() to return the range size in
          case it is set, or getSize() otherwise.
        - Added a RangeService class and an Application.rangeService
          property to control to automatic handling of range of 
          response entities.
        - Added "resumeUpload" and "temporaryExtension" properties on
          the Directory class to enable resumable uploads. This 
          limit the number of concurrent uploads on the same file to
          one client at a time. 
    - NRE and Extension Enhancements
        - Added a static HttpServletRequest getRequest(Request) method
          to the Servlet extension.
        - DirectoryResource now exposes isDirectoryTarget() and 
          isFileTarget() methods. Suggested by Jean-Yves Cronier.
        - Enhanced WADL extension to support all WADL description 
          properties and both formatting and parsing. Also added new
          WadlRepresentation and WadlResource classes to facilitate the
          description of Resources as WADL documents. 
          Sponsored by NetDev Ltd (http://www.netdev.co.uk).
        - The Apache HTTP Client extension can now have a retry handler
          parameter set. Suggested by Sanjay Acharya.
        - Added a "sslContextFactory" parameter and attribute to HTTPS 
          connectors to improve the flexibility of SSL configuration. If
          this parameter isn't set, the previous parameters are used 
          instead. Contributed by Bruno Harbulot.
        - Exceptions occuring while writing the response entities are 
          now reported as severe errors instead of just info messages.
          Broken connections are still reported as info messages to 
          reduce log size. Contributed by Bruno Dumon.
        - Made the com.noelios.ext.ssl extension public to provide more 
          flexibility in configuring SSL certificates. Depends on 
          jSSLutils library 0.4. Contributed by Bruno Harbulot.
        - Added a port of Restlet to GWT. This is a subset of the 
          Restlet API and Engine, mostly the client side working on top
          of GWT 1.5 RC1.
        - Slightly refactored and documented OAuth extension.
        - Renamed the "org.restlet.ssl.hostnameVerifier" attribute into
          just "hostnameVerifier" for consistency with existing naming.
        - SpringBeanRouter can now search beans in ancestors. 
          Contribution from James Maki.
        - JaxbRepresentation now takes into account its "characterSet"
          property to set the "jaxb.encoding" property on the JAXB 
          marshaller internally used. Reported by Sanjay Acharya.
    - Misc
        - Refactored WAR client to remove remaining class in NRE core.
        - Refactored OSGi support to not require one activator for each
          bundle/extension anymore. Only the NRE bundle has an activator 
          which introspects the installed bundles for the usual 
          descriptor files in "META-INF/services" directories. Suggested
          by Hendy Irawan.

- 1.1 Milestone 4 (2008-05-20)
    - Bugs fixed
        - Fixed NPE with internal HTTP server when no reason phrase is
          available for the response status. Reported by Stephan Koops.
        - Fixed potential NPE in request processing code when a request
          was not fully set (missing properties like the method).
        - Fixed issues with chunked encoding and socket closing. 
          Contributed by Kevin Conaway.
        - Fixed potential NPE in ApplicationClientDispatcher. Reported
          by Alex Milowski.
        - Series.getValues() was not respecting the 'ignoreCase' 
          parameter. Contributed by Stephan Koops.
        - Allowed only UTF-8 character set for JsonRepresentation. 
          Reported by Michael B?ckling.
    - API Enhancements
        - Matrix parameters are now fully supported by the Reference 
          and the Form classes. Added many new methods, similar to the
          ones available for query strings.
        - File-like extensions are now fully supported by the Reference
          class. See getExtensions(), getExtensionsAsArray() and setter
          methods. 
        - Added Reference.hasExtensions(), hasFragment(), hasMatrix(), 
          hasQuery() and hasScheme() methods.
        - Matrix parameters are now ignored by tunnel service. 
          Contributed by Stephan Koops.
        - Refactored the TunnelService implementation, renamed the 
          "extensionTunnel" to "extensionsTunnel" and added the
          "queryTunnel" property for consistency. Suggested by Chuck 
          Mortimer.
        - Deprecated the Restlet.init() method. In Restlet 1.2, this 
          method will be removed and its logic directly put in the
          handle(Request, Response) method.
        - Added static Response.getCurrent()/setCurrent() and Request.
          getCurrent() methods. Implementation based on thread local
          variables updated by component and applications when they
          handle a request/response couple. Suggested by Stephan Koops.
        - Added new Response.setStatus() methods and new Status 
          constructors for more flexibility in setting status with 
          associated exceptions.
        - Ensured the all NRE core and extensions classes properly pass
          the throwable/exceptions to the error statuses so they can be
          later retrieved or printed. Suggested by Steve Loughran.  
        - Added support for new RIAP authority: HOST to issue requests 
          relative to the current virtual host. 
          Suggested by Rob Heittman.
        - Added APPLICATION_ALL_XML constant and proper changes to the
          MediaType.includes() to recognize those patterns. Contributed
          by Stephan Koops.
        - Moved shared initialization logic of Resource constructor ands
          init() method into initialization block.
        - Static valueOf() methods now treat "" as null.
        - Added connectTimeout attribute on both Client and 
          ClientHelper classes. Reported by Avi Flax.
        - Added static "current" property on Application and 
          VirtualHost returning the instance associated with the 
          current thread.
        - Added Context.getThread(Runnable) method to centralize usage
          of thread (potentially doing some pooling and currently 
          copying the thread local variables).
        - Deprecated Context.getApplication(). Use static method
          Application.getCurrent() instead.
        - Removed several unecessary throw clauses in ByteUtils and 
          added some missing Javadocs. Contributed by Stephan Koops.
     - NRE and Extension Enhancements
        - Atom extension is now able to write Feed and Service XML
          documents and not just reading/parsing them. This can be used
          to return Atom feeds as representations.
        - Added Velocity's RepresentationTemplateLoader class and a new
          constructor to TemplateRepresentation which allows the 
          processing of a Velocity template provided as a Restlet
          Representation.
        - Deprecated Protocol.SMTP_STARTTLS, replaced by a "startTls" 
          parameter on JavaMail connector.
        - Added Protocol.POP and POPS constants.
        - Added ChallengeScheme.POP_BASIC (USER+PASS) and POP_DIGEST 
          (APOP) constants.
        - Added support for POP v3 and POP/SSL v3 to the JavaMail 
          connector and refactored existing code. 
          Sponsored by RunMyProcess (http://www.runmyprocess.com).
        - The debugging mode of the JavaMail connector is now optional
          and can be changed with a connector parameter "debug".
        - Refactored the JavaMail connector to separate the message 
          parsing and formatting into three new classes: 
          MessageRepresentation, MessagesRepresentation and 
          RepresentationMessage. Suggested by Matthieu Hug.
        - Added an ObjectFactory to the JAX-RS extension for customized
          root resource class and provider instantiation. Contributed
          by Bruno Dumon.
        - The local connectors (FILE and CLAP connectors for now) have 
          a new "defaultLanguage" parameter that is uses when no parent
          application is available (no MetadataService accessible).
          Limitation reported by Jules Milner-Brage.
        - Added SslContextFactory and DefaultSslContextFactory to the
          com.noelios.restlet.util package. Contributed by Bruno 
          Harbulot.
    - Misc 
        - Updated Grizzly to 1.7.3.
        - Improved logging consistency.
        - Expressed the Eclipse plugin dependencies using the
          "Import-Package" instructions instead of "Required-Bundle".
        - All connector and authentication modules now have OSGi 
          activator to automatically register themselves with the 
          engine. The engine module also registers itself with the API.
          Suggested by Hendy Irawan, with help from Edward Yakop.
        - Updated db4o 7.2 to latest stable build.
        - Added Spring example based on REST book chapter 7. 
          Contributed by Konstantin L?ufer.
        - Removed unecessary libraries from distribution.
        - The WAR client is now only available for Application deployed
          using ServletServer or a subclass. 
        - Made javax.servlet.* dependencies optional for the fileupload
          extension. Reported by Hendy Irawan.

 - 1.1 Milestone 3 (2008-04-01)
    - Bugs fixed
        - Fixed setRedirectRef(String) method which wasn't supporting 
          relative URIs when no base reference was available on the 
          resource reference. Now it uses the resource reference 
          instead. Reported by Steve Loughran.
        - Made the SpringApplication constructor public. Reported by 
          Peter Neubauer.
        - The AWS authentication wasn't properly detected by the
          engine. Reported by Steve Loughran.
        - Fixed directory redirections in DirectoryResource class.
        - Fixed NPE in RestletFrameworkServlet. Reported by Yuri de Wit
          and fixed by Rhett Sutphin.
        - Fixed socket closing issues with the internal HTTP 
          connectors. Reported and fixed by Kevin Conaway.
        - Fixed potential NPE in CLAP connector. Reported by Rob 
          Heittman. 
        - Fixed potential NPE in Freemarker extension when the 
          template is provided under the form of a representation.
        - Request.getProtocol() now returns the protocol of the 
          targetRef instead of the baseRef when the targetRef itself is
          absolute. Patch contributed by Jeroen Goubert (Schaubroeck).
        - When using new Reference(baseref, "absolute-path"), calling 
          getTargetRef() now returns a reference with the baseRef 
          cleared. Patch contributed by Jeroen Goubert (Schaubroeck).
    - API Enhancements
        - Added OAuth extension as a pluggable authentication scheme.
          Contributed by Adam Rosien.
        - Added XDB extension providing integration with Oracle 
          embedded JVM. Contributed by Marcelo Ochoa.
        - Made the org.restlet.util.Resolver generic and used it in 
          Guard to allow the user to provide a secret resolver without
          needing to subclass Guard.
        - DomRepresentation.getDocument() now creates a new empty 
          document if no document is available or can't be parsed.
        - Reference class now enforces the usage of valid URI 
          characters only. Suggested by Avi Flax.
        - Static methods added to Reference: isGenericDelimiter(char),
          isReserved(char), isSubDelimiter(char), isUnreserved(char)
          and isValid(char).   
        - DomRepresentation now has a protected createTransformer()
          method that can be overridden to customize the properties of
          the JAXP Transformer. Contributed by Rob Heittman.
        - All getters in Reference returning URI encoded string now
          have an additional method taking a 'decode' parameter. 
          Suggested by Paul J. Lucas.
        - TransformRepresentation can now be reused multiple times by 
          multiple threads in parallel. Contributed by Marc Portier.
        - Parameters and output properties can now be set on the 
          TransformRepresentation and are automatically passed to the 
          created JAXP Transformers. Suggested by Marc Portier and
          Joe Nellis.
        - Added new constructors to TransformRepresentation making the
          creation of the internal URI resolver optional and allowing
          to pass a JAXP Templates precompiled instance directly.
          Suggested by Joe Nellis. 
        - Added Context.getCurrent() and setCurrent(..) static methods
          based on a thread local variable. The static property is also
          updated when Component and Application instances are handling
          a call. This can be useful to get access to the context even
          when it isn't possible to manually pass it down the call 
          stack. 
        - Added a new constructor to Client and Server allowing to 
          specify the class name of the connector to use. Suggested by
          Dan Diephouse.
        - Added a "getValuesArray(String name):String[]" method on the
          Series class. Suggested by Paul J. Lucas.
        - Method getDocumentBuilder() on XmlRepresentation is now 
          protected, allowing reuse by subclasses like 
          JaxbRepresentation, JibxRepresentation or DomRepresentation.
        - Method XmlRepresentation.getSource() was renamed to 
          getStreamSource() and new getSaxSource() and getDomSource()
          methods were added. DomRepresentation has an optimized 
          implementation of getDomSource() and SaxRepresentation was
          refactored to support this approach as well with many new
          constructors added. Suggested by Marc Portier.
        - TransformRepresentation has been refactored to support SAX
          pipelining when multiple TransformRepresentation are nested.
          Suggested by Marc Portier. 
        - Added a getValuesMap() method to the Series class.
        - Added "authenticated" property on ChallengeResponse and 
          refactored Guard and engine to update this property upon
          authentication. 
        - Added getPrincipal() method on ChallengeResponse.
        - Added support of client preferences tunnelling by extensions.
          Suggested by Chuck Mortimore and contributed by Stephan 
          Koops.
    - NRE and Extension Enhancements
        - Made the ServerServlet.create*() method protected instead of 
          public.
        - Added a ServerServlet.createCall() and createWarClient() 
          methods for easier subclassing by the XDB extension. 
          Some contributions from Marcelo Ochoa.
        - Added new javax.annotation library for the JAX-RS extension.
        - Added ServerServlet.getClass() method to facilitate 
          subclassing by the XDB extension. Suggested by Marcelo Ochoa.
        - Added new constructors to JiBX extension not requiring the
          binding name parameter.
        - Distributed experimental JAX-RS extension implementing the
          JSR-311 draft specification. Contributed by Stephan Koops.
        - All HTTP server connectors now expose the client certificates
          using the "org.restlet.https.clientCertificates" request 
          attribute. Contributed by Bruno Harbulot.
        - Updated Java Activation Framework to version 1.1.1.
        - Updated JavaMail library to version 1.4.1.
        - Removed the SpringApplication class as an XML configuration
          alternative is now documented. 
        - Updated db4o to version 7.2 with transparent activation 
          and update.
        - Improve logging for internal HTTP server when created thread
          throw uncaught exceptions. Contributed by Kevin Conaway.
        - HTTPS server connectors expose new attributes related 
          to SSL: "org.restlet.https.cipherSuite" and 
          "org.restlet.https.keySize". Contributed by Bruno Harbulot.
        - Improved the Grizzly connector to support returning chunked
          responses.
    - Misc
        - Reformatting of the changes log. Contributed by Avi Flax.
        - All Component subclasses now use a main method that throws 
          exceptions and takes a string array as parameter.
        - More precise log message for a Resource with no variant.
        - Optimized Eclipse dependencies by leveraging reexport option.
        - Updated Spring to version 2.5.2.
        - Improved handling of connectors created without a protocol.
          Contributed by Avi Flax.
        - Representations returned by the CLAP connector now have their
          modification date set if it is based on a file. Suggested by
          Keke.
        - Refactored and improved logging for Guard and challenge
          processing. Suggested by Alex Milowski.
        - Updated Reference's Javadocs to mention that getters do not 
          automatically do URI decoding. Suggested by Paul J. Lucas.
        - Refactored NRE helpers hierarchy to take advantage of generics
          and remove duplications.
        - Added SSL unit test contributed by Bruno Harbulot.
        - Completed the list of known media-types with Tomcat's 
          entries. Reported and contributed by Alex Milowski.
        - The engine can now registers an URLStreamHandlerFactory 
          adapter on the java.net.URL class that is based on the 
          current context as retrieved via Context.getCurrent() 
          method. 
        - Added condition on javadocs flag for the stage-classic task 
          in the Ant build script. reported by Kevin Conaway.
        - Changed licensing scheme to a choice between CDDL 1.0, LGPL
          3.0 or LGPL 2.1.
        - Ensured that all the framework (API, Engine and extensions) 
          are thread safe, especially the representation and
          the request/reponse related ones. This will allow the usage
          of separate reader / worker / writer threads to work on the
          same request/response cycle. Reported by Tim Peierls.

 - 1.1 Milestone 2 (2008-02-29)
    - Bugs fixed
        - Fixed NPE in Connector class. Reported by Rob Heittman and
          fixed by Tim Peierls.
        - WriterRepresentation was missing a default implementation for
          getReader() abstract method.
        - If an error is found in HttpClientHelper.sendRequest(),
          StreamClientHelper ignores it and continues to parse the
          response when it should stop processing. Fixed by Kevin
          Conaway.
        - Status.isSuccess(), is*Error(), isRedirection() and isInfo()
          methods now support status classes as specified in HTTP 1.1.
          Reported by Paul J. Lucas.
        - The request ClientInfo address and port were not available
          for the default connector and the Grizzly connector. Patch
          contributed by Kevin Conaway.
        - Fixed issue in SpringHost preventing usage of the
          setRoutes(Map) method. Replaced with a setAttachments(Map)
          method. Added Javadocs example. Reported by Simon Olofsson.
        - ResourceException wasn't setting a message. Reported by Derek
          Chiles.
        - Representation.isAvailable() now returns false if the size is
          '0'.
        - Refactoring of HTTP server connectors code to better deal
          with HEAD request, 1xx, 204, 205, 304 status codes. Issues
          reported by Alex Milowski.
        - Ensured all modifiable collections are properly documented in
          the API. Suggested by Stephan Koops.
        - Fixed Spring XML loading issue related to validation in
          SpringContext class.
        - Fixed bug with the FileClientHelper returning wrong list of
          variants. Reported by Iestyn Evans.
        - Fixed bug in Tag.equals() implementation. Reported by Stephan
          Koops.
        - Fixed NPE in the WAR client of the Servlet extension.
          Reported by Jason Terhune.
        - Caught exception with Simple connector when flushing a closed
          stream. Now it is logged at a lower priority. Reported by
          Todd Nguyen.
        - Fixed NPE in the MediaTypes class. Reported and contributed
          by Marc Portier.
        - Fixed bug in SpringComponent preventing setting of clients.
          Reported by Garriot Zhang.
        - Fixed several bugs related to Grizzly (chunked encoding not
          working, restarting NPE, etc.).
    - API Enhancements
        - Deprecated Status.isInfo(), replaced by isInformational() to
          follow HTTP naming.
        - Removed unecessary 'synchronized' keyword on
          Application.createRoot() and added one to the setRoot()
          method. Reported by Tim Peierls.
        - Added support for Alpha-numerical sorting of index pages in
          Directory. Suggested by Davide Angelocola based on David
          Koelle's original idea. Optimized implementation contributed
          by Rob Heittman from Solertium Corporation. New
          setComparator, setAlphaComparator and setAlphaNumComparator
          methods added. The default sorting is now "AlphaNum".
        - Synchronized some list setters on Component and Connector
          with explanation in Javadocs as suggested by Tim Peirls.
        - Guard.checkSecret() method now has a Request parameter.
          Suggested by Alex Milowski.
        - Added new constructors to CookieSetting. Contributed by
          Stephan Koops.
        - Filter.beforeHandle() and doHandle() methods can now
          indicates if the processing should continue normally, go to 
          the afterHandle() method directly or stop immediately. 
          IMPORTANT NOTE: as it isn't possible to add a return 
          parameter to an existing method, the change can break 
          existing filters. In this case, you just need to return the 
          "CONTINUE" constant from your method and use "int" as return 
          parameter. Issue reported by Paul J. Lucas.
        - Added Handler.getQuery() method to easily return the
          request's target resource reference query as a parsed form
          (series of parameters). Suggested by Kevin Conaway.
        - Added a Reference.clone() method. Contributed by Stephan
          Koops.
        - Added more fine-grained lifecycle for Components with new
          start*() and stop*() methods. Suggested by a discussion with
          Alex Milowski.
        - Added Component.updateHosts() method to update the routes
          after dynamic changes to virtual hosts. Suggested and
          contributed in part by Alex Milowski.
        - Added format(Object) and resolve(Object,String) methods to
          Template to allow for custom variable resolution. Enhancement
          suggested by Stephan Koops.
        - Added "defaultMatchingMode" property on Router. Suggested by
          William Pietri.
        - Added "throwable" property to the Status class, respecting
          the immutability. Suggested by Paul J. Lucas.
        - Added "getEphemeralPort()" method on Server to get the local
          port actually used by the system when the "port" property is
          set to '0'. Suggested by William Pietri.
        - Made the inner Template.VariableResolver interface and
          "format(VariableResolver)" method public. Suggested by
          Stephan Koops for the JAX-RS extension.
        - Added static Representation.createEmpty() method to return a
          new empty representation.
        - Added Variable.TYPE_URI_PATH to match any path character
          except in the query or fragment parts. Suggested by Stephan
          Koops and Michael Makunas.
        - Added MediaType.APPLICATION_ATOM_SERVICE_XML constant.
        - Added TEXT_JAVASCRIPT media type constant. Suggested by
          Evgeny Shepelyuk.
        - Added MediaType.getMostSpecific(), isCompatible() and
          isConcrete() methods. Contributed by Stephan Koops.
    - NRE and Extension Enhancements
        - Added new JsonRepresentation constructors taking a Bean or a
          Map. Suggested by Evgeny K. Shepelyuk and Sean Landis
        - Updated Spring to version 2.5
        - Updated db4o to version 7.0
        - Added a new parameter to ServerServlet allowing specification
          of a custom component to instantiate.
        - Added the ability to specify a hostname verifier for the
          HTTPS client based on JDK's net package. Contributed by Alex
          Milowski.
        - Improved robustness of Reference when starting with an empty
          URI. Contributed by Stephan Koops.
        - Added new Spring NRE extension containing a
          SpringServerServlet facilitating the Servlet + Spring +
          Restlet trio integration. Contributed by Florian Schwarz.
          Also new classes where contributed by Rhett Sutphin that give
          even more integration option (RestletFrameworkServlet,
          SpringBeanFinder and SpringBeanRouter).
        - Added JiBX extension, alternative to JAXB. Contributed by
          Florian Schwarz.
        - Added support for nested resources in WadlComponent.
          Contributed by Avi Flax.
        - Resources with no variant set now log a warning on GET
          requests. Contributed by Avi Flax.
        - Updated and tested the Atom extension to conform to the
          latest APP specifications. The extension currently allows to
          retrieve an APP Service Document and Atom Feeds.
        - Lowered the logging level for some Simple IO exceptions.
        - Updated JSON JAR to latest version.
        - Externalized mappings between file extensions and media types
          in the MetadataService. Reported by Alex Milowsky.
        - Closed an open BufferedReader in IdentClient class.
        - Updated FreeMarker to version 2.3.12.
        - Added support for DIGEST authentication (client and server
          side). Contributed by Ray Waldin.
        - Added a WadlApplication class and refactored the
          WadlComponent to support many more usage scenarios:
            - WadlApplication instances can now be added to existing
              components. 
            - WadlApplication instances can be modified to add filters
              in front of the root router 
            - WADL description documents can be retrieved via HTTP or
              other protocols 
            - Only the necessary client connectors are automatically
              created
        - Guard is now setting a Principal instance after
          authorization. Contributed by Stephan Koops.
        - Refactored engine to support pluggable authentication.
        - Updated Grizzly to version 1.7.2
    - Misc
        - Added Engine.copyResponseHeaders() method. Contributed by
          Stephan Koops.
        - Handlers now return a SERVER_INTERNAL_ERROR instead of
          CLIENT_NOT_FOUND when no next Restlet is attached to them.
          Suggested by Paul J. Lucas.
        - Added Engine.formatCookie(), formatCookieSetting() and
          equivalent parse*() methods. Contributed by Stephan Koops for
          the JAX-RS implementation.
        - Updated HTTP server connectors behaviour in the purpose to
          avoid the sending of entity when the entity is empty, when
          the status explicitely forbids the sending of entity (e.g.
          1xx, etc), or when the method must not send entity (e.g.
          HEAD).
        - Updated HTTP client connectors behaviour in the purpose to
          close aggressively the connection in several identified cases
          when the status explicitely forbids the sending of entity
          (e.g. 1xx, etc), when the method must not send entity (e.g.
          HEAD), or when the Content-Length header's value is 0.
        - Ensure that the headers of the response's entity will be
          retrieved even if no message body has been sent (in this
          case, an empty representation is created).
        - Tutorial examples based on applications are now runnable with
          the Servlet adapter. Suggested by Marcelo Ochoa.
        - RIAP request are now considered confidential when dispatched.
          Suggested by Rob Heittman.

- 1.1 Milestone 1 (2007-12-24)
    - Bugs fixed
        - Overridden the StringRepresentation#setCharacterSet method,
          in order to refresh the size of the representation. Reported
          by Calvin Cheng.
        - Fixed issue in the selection of connectors. The last
          connector in the classpath for a given protocol was selected
          instead of the first one, leading to counter-intuitive
          behavior when multiple connectors were present in the
          classpath.
        - Fixed bug in DomRepresentation causing the loss of both
          public and system DocTypes. Reported by Lee Saferite.
        - Fixed path error in test cases module. Reported by Sean
          Landis, contributed by Alex Milowski.
        - SaxRepresentation constructors don't throw IOException
          anymore. Reported by Paul J. Lucas.
        - Fixed multi-threading issues. Reported by Tim Peierls. Some
          contributions by Kevin Conaway.
        - Renamed the HTTP_AWS challenge scheme into HTTP_AWS_S3 as
          there are changes for each existing Amazon Web Service.
          Reported by Guy Ernest.
    - API Enhancements
        - Added Response.locationRef property as a replacement for the
          Response.redirectRef property that is now deprecated.
          Suggested by Michael Vogel and Avi Flax.
        - The ConverterService and all related methods on Message are
          deprecated, with no replacement as it doesn't fit well with
          content negotiation. Most users prefer to handle those
          conversion in Resource subclasses. Suggested by Justin
          Makeig, Rob Heittman, Sumit Lohia.
        - Added a getApplication() method to Context and Resource
          classes.
        - Added abstract CharacterRepresentation for representations
          based on character streams.
        - Added ReaderRepresentation for representations based on
          characters Readers.
        - Added WriterRepresentation for representations based on
          characters Writers.
        - Added ByteUtils.toString(Reader) method and refactored
          ByteUtils.toString(InputStream) to reuse it.
        - Added ByteUtils.getReader(InputStream, CharacterSet) method.
        - Added ByteUtils.getStream(Writer) method. Implementation by
          Kevin Conaway.
        - Added getReader() and a write(Writer) methods on
          Representation class.
        - Exposed the "file" property on the FileRepresentation class.
        - Added two new FreeMarker's TemplateRepresentation constructor
          to allow more ways to provide the template (via a
          representation or directly as a FreeMarker Template object).
        - Added validate() methods on XmlRepresentation to validate an
          XML representation against a given schema.
        - Added a getSource() method on XmlRepresentation that results
          a JAXP Source instance.
        - Added a Template.getVariableNames() method. Suggested by
          Stian Soiland.
        - Added new Dimension.AUTHORIZATION enum entry. Suggested by
          Stian Soiland.
        - Added a Representation.release() to have an uniform way to
          release a representation without forcing a read for example
          or manually closing the socket, the channel, the file, etc.
        - Added a Message.release() method to have an easy way to
          release the message's entity. Suggested by Stian Soiland.
        - Added W3C XML Schema and Relax NG media types.
        - Added new media types for RSS and WADL. Contributed by Avi
          Flax.
        - Added Atom, Relax NG, RSS, RTF, WADL and XSD in the common
          extensions of MetadataService. Contributed by Avi Flax.
        - Simplified the management of MediaType constants. Contributed
          by Stian Soiland.
        - Application is now concrete and has a setRoot() method.
        - Added Component.setDefaultHost() method.
        - Moved the "expirationDate", "modificationDate", "tag", "size"
          properties from Variant to Representation. The old properties
          are only deprecated for now but will be removed in a later
          version.
        - The Resource class now accepts POST requests without any
          entity, or with an empty entity. Suggested by Sean Landis and
          Stian Soiland.
        - Added setters and getters for all the properties of all the
          classes in the API, including the collection properties.
          Clarified the Javadocs for the default collection creations.
          This will greatly facilitate the usage of the API in IoC
          containers like Spring.
        - Renamed "URIResolver" property to "uriResolver" in
          TransformRepresentation.
        - Renamed "*Attribute" properties to "*Parameter" in
          TunnelService.
        - Added "accessRestricted" property to CookieSetting, currently
          mapped to the "httpOnly" Cookie attribute supported by recent
          browsers to prevent XSS attacks. Contributed by Rob Heittman.
        - Added logger-less constructors to Template. Suggested by
          Justin Makeig.
        - Added "available", "modifiable" and "readable" properties to
          the Resource class.
        - Added "rechallengeEnabled" property to Guard (true by
          default) to repeatedly challenge the client upon reception of
          invalid credentials instead of forbidding the access like
          before. This conforms more closely to the HTTP 1.1
          specifications while leaving the door open for the stricter
          behavior. Reported by Stephan Koops.
        - Added the "internalRouter" property to Component to attach
          internal/private Restlets that are accessible via the
          built-in RIAP client (Restlet Internal Access Protocol).
          Suggested by Marc Portier who contributed the test case.
        - Updated the Protocol and LocalReference classes with support
          for the new RIAP scheme.
        - In order to facilitate the implementation of your custom
          Finder, an new createTarget() method taking a Resource class
          in parameter.
        - Added support for the "Content-Disposition" field as a
          "downloadName" property on Representation. Contributed by
          Kevin Conaway. Added a "downloadable" property to activate
          the feature.
        - Added a ResourceException to facilitate the mapping between
          domain exceptions and response status. Suggested by Paul J.
          Lucas and others.
        - Replaced getPreferredRepresentation() and
          getRepresentation(Variant) methods by represent() and
          represent(Variant) methods throwing ResourceExceptions.
        - Added Reference.addQueryParameter() and addSegment() methods.
          Reported by Kevin Conaway.
        - Added Reference(Reference baseRef, Reference uriRef)
          constructor. Suggested by Rob Heittman.
    - NRE and Extension Enhancements
        - Added a new Grizzly based HTTP server connector (full NIO).
          Optmizations and support contributed by Jean-François Arcand.
        - Upgraded Apache MINA to version 1.1.0.
        - There are now default internal HTTP client and server
          connectors exposed in the NRE core. If no other HTTP
          connectors are found in the classpath, those connectors will
          be used. They should perform reasonably under normal
          workloads but won't be as scalable as the NIO based
          connectors such as Grizzly and MINA based ones. You don't
          have anything to do to configure them, just put the
          com.noelios.restlet.jar in your classpath along with the
          Restlet API's JAR. Note that they don't support HTTPS and
          persistent connections. The support for chunked encoding and
          decoding was contributed by Kevin Conaway.
        - All HTTPS server connectors (Grizzly, Jetty and Simple) now
          have two configuration parameters to indicates whether a
          client authentication is wanted or required. Suggested by
          Toby Thain and Chuck Hinson.
        - A request attribute "org.restlet.https.clientCertificates"
          containing the list of SSL session certificates (if available
          and accessible) is now available. Currently, only the Simple
          connector is capable or setting it. Suggested by Toby Thain.
        - Simple connector now initialize a trust manager.
        - Added JAXB extension based on a contribution by Overstock.com
          (via Sean Landis).
        - Added JAXB 2.0 and StAX 1.0 libraries.
        - The ServletConverter now also copy the Servlet's request
          attributes into the Restlet attributes map. Suggested by
          Leigh Klotz.
        - Added automatic call of release() for outgoing
          representations via HTTP connectors. Contribution by Alex
          Milowski.
        - Added SpringApplication, SpringComponent, SpringHost,
          SpringRouter, SpringServer to the Spring extension to
          facilitate the wiring by Spring IoC.
        - If Resource.getRepresentation(Variant) returns 'null', the
          Resource.handleGet() method now returns a NOT_FOUND (404)
          status. Suggested by John D. Mitchell.
        - Added WADL extension with a WadlComponent capable of
          automatically wiring a Restlet component, application and
          resource classes. Suggested by Avi Flax.
        - Added a createComponent() method on ServerServlet to
          facilitate the customization of the component for a Servlet.
        - The Message's getEntityAsDom(), getEntityAsSax() and
          getEntityAsForm() are now caching the result representation
          for easier reuse in a Restlet filters chain. Suggested by Rob
          Heittman.
        - Finder.createResource() method now rethrows the Error
          exceptions thrown by Resource constructors. Suggested by
          Vincent Lari.
        - A custom classloader can now be specified when using the CLAP
          URIs. Just set the attribute "org.restlet.clap.classloader"
          on your Request instances with your classloader instance.
          This will be automatically be picked up by the CLAP
          connector. Reported by Alex Milowski.
        - Guard.secrets is now a final ConcurrentMap instead of just a
          Map instance. Suggested by Tim Peierls.
        - Renamed Context's "dispatcher" property into
          "clientDispatcher" to distinguish with the new
          "serverDispatcher" property. The "serverDispatcher" property
          allows the developer to optimize the sending of request to
          applications under the current component/JVM, as if they were
          dispatched by one of the server connectors. Suggested by Rob
          Heittman with feed-back from Marc Portier.
        - Split the Resource class to separate a new
          org.restlet.Handler class exposing the lower-level API, from
          the higher-level API of Resource.
        - Refactored the implementation of dispatchers to derive from a
          base TemplateDispatcher class.
        - The context dispatchers automatically update the identifier
          property of response entities when they are empty, based on
          the request's target URI.
        - Added SpringServer.setParameters(Properties) method.
          Contributed by Kevin Conaway.
        - Response.redirect*(String targetUri) methods now
          automatically resolve relative URIs agains the base reference
          of the Request's resource reference. Suggested by Rob
          Heittman.
    - Misc
        - Removed AsyncWeb connector, to be replaced by a custom MINA
          based one.
        - Removed Jetty 5 connector from the code base. Jetty 6
          connector is stable enough now.
        - Updated projects to Eclipse 3.3. Minor adjustments required.