| <!-- |
| /*************************************************************************************************************************** |
| * 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> |