blob: 41d92b7dc5857f451ad3846c6a18e720fb5b1607 [file] [log] [blame]
<!--
/***************************************************************************************************************************
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
***************************************************************************************************************************/
-->
5.1.0.0 (Jan 18, 2014)
<p>
Juno 5.1.0.0 is a major update.
</p>
<h5 class='topic w800'>Major changes</h5>
<ul class='spaced-list'>
<li>Brand new REST client API that uses Apache HttpClient for HTTP communication.<br>
The new client API is simply a thin layer on top of <c>HttpClient</c> that performs
serialization and parsing using Juno parsers, but leaves all the details of the HTTP connection
to the Apache code. <br>
See the <del>org.apache.juneau.rest.client</del> package for details.
<li>New <c>org.apache.juneau.rest.client.jazz</c> package and <c>org.apache.juneau.rest.client.jazz.JazzRestClient</c> class
for performing REST operations against Jazz servers.<br>
Includes improved support for FORM authentication, and better SSL certificate validation.
<li>Completely redesigned URL-Encoding support.<br>
See <dc>org.apache.juneau.urlencoding</dc> package for details.
<li>Changes to Parser API.
<ul>
<li>Removal of <c>ExtendedReaderParser</c> abstract class and moved methods into
{@link oaj.parser.ReaderParser} class.
<li>Removal of <c>DataFormat</c> class from API since it was no longer necessary
due to API change above.
<li>Removal of <c>ParserStringReader</c> class.<br>
This was a reader optimized to work with <c>String</c> input.<br>
However, it could interfere with garbage collection of the original string object.<br>
Instead, the existing {@link oaj.parser.ParserReader} was enhanced to work
well with <c>String</c> input, and tests show no significant performance differences.
<li>New <c>org.apache.juneau.parser.Parser.parse(Object,int,ClassMeta)</c> convenience method added.
</ul>
</ul>
<h5 class='topic w800'>Other changes</h5>
<ul class='spaced-list'>
<li>Various new methods added to {@link oaj.internal.StringUtils} and {@link oaj.internal.ClassUtils}.
<li>Improved support on <dc>BeanContext.getClassMetaFromString(String)</dc>.<br>
Now supports resolving <c>"long[]"</c>, and so forth.
<li><dc>ResourceDescription</dc> name parameter is now automatically URL-encoded in links.
<li>{@link oajr.RestRequest} now correctly handles cases involving URL-encoded characters in the
path info portion of URLs (e.g. <c>http://host/contextRoot/foo%2Fbar</c>).
<li>Removed lazy-initialization that required locking in {@link oaj.ClassMeta}.
<li>New <c>BeanContext.setDefaultParser(ReaderParser)</c> method added for specifying
a default parser to use in a bean context (used when converting beans to <c>Strings</c> using
<dc>BeanContext.convertToType(Object,Class)</dc>.
Old behavior simply used the default JSON serializer in these cases.
<li>More consistent handling of exceptions across all parsers.
<li>Minor changes to {@link oajr.RestRequest} class.
<ul>
<li>Changed the order of parameters on <dc>RestRequest#getParameter(String,Class)</dc>.
<li>Added <c>RestRequest.getMapParameter(String,Class,Class,Class)</c> and
<c>RestRequest.getCollectionParameter(String,Class,Class)}</c> methods.
</ul>
</ul>