| <!-- |
| /*************************************************************************************************************************** |
| * 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 <code>HttpClient</code> 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 <code>org.apache.juneau.rest.client.jazz</code> package and <code>org.apache.juneau.rest.client.jazz.JazzRestClient</code> 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 <code><del>org.apache.juneau.urlencoding</del></code> package for details. |
| <li>Changes to Parser API. |
| <ul> |
| <li>Removal of <code>ExtendedReaderParser</code> abstract class and moved methods into |
| {@link oaj.parser.ReaderParser} class. |
| <li>Removal of <code>DataFormat</code> class from API since it was no longer necessary |
| due to API change above. |
| <li>Removal of <code>ParserStringReader</code> class.<br> |
| This was a reader optimized to work with <code>String</code> 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 <code>String</code> input, and tests show no significant performance differences. |
| <li>New <code>org.apache.juneau.parser.Parser.parse(Object,int,ClassMeta)</code> 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 <code><del>BeanContext.getClassMetaFromString(String)</del></code>.<br> |
| Now supports resolving <code>"long[]"</code>, and so forth. |
| <li><code><del>ResourceDescription</del></code> 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. <code>http://host/contextRoot/foo%2Fbar</code>). |
| <li>Removed lazy-initialization that required locking in {@link oaj.ClassMeta}. |
| <li>New <code>BeanContext.setDefaultParser(ReaderParser)</code> method added for specifying |
| a default parser to use in a bean context (used when converting beans to <code>Strings</code> using |
| <code><del>BeanContext.convertToType(Object,Class)</del></code>. |
| 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 <code><del>RestRequest#getParameter(String,Class)</del></code>. |
| <li>Added <code>RestRequest.getMapParameter(String,Class,Class,Class)</code> and |
| <code>RestRequest.getCollectionParameter(String,Class,Class)}</code> methods. |
| </ul> |
| </ul> |