| <?xml version="1.0"?> |
| <!-- |
| 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. |
| --> |
| <document> |
| <properties> |
| <title>Upgrade from 2.1 to 2.2</title> |
| <author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author> |
| </properties> |
| <body> |
| |
| <section name="Upgrade"> |
| <p> |
| These are the release notes and advice for upgrading Commons-Lang from |
| version 2.1 to version 2.2. |
| <source> |
| INTRODUCTION: |
| |
| This document contains the release notes for the 2.2 version of Apache Jakarta Commons Lang. |
| Commons Lang is a set of utility functions and reusable components that |
| should be of use in any Java environment. |
| |
| INCOMPATIBLE CHANGES WITH VERSION 2.1: |
| |
| - None |
| |
| DEPRECATIONS FROM 2.1 to 2.2: |
| |
| - None |
| |
| BUG FIXES IN 2.2: |
| |
| LANG-2 javadoc example for StringUtils.splitByWholeSeparator incorrect |
| LANG-3 PADDING array in StringUtils overflows on '\uffff' |
| LANG-10 [patch] ClassUtils.primitiveToWrapper and Void |
| LANG-21 escapeXML() -> Not escaping low characters |
| LANG-25 DurationFormatUtils.formatDurationISO() javadoc is missing T in duration string between date and time part |
| LANG-37 unit test for org.apache.commons.lang.text.StrBuilder |
| LANG-42 EqualsBuilder.append(Object[], Object[]) crashes with a NullPointerException if an element of the first array is null |
| LANG-45 StrBuilderTest#testReplaceStringString fails. |
| LANG-50 Replace Clover with Cobertura |
| LANG-59 DateUtils.truncate method is buggy when dealing with DST switching hours |
| LANG-100 RandomStringUtils.random() family of methods create invalid unicode sequences |
| LANG-105 ExceptionUtils goes into infinite loop in getThrowables is throwable.getCause() == throwable |
| LANG-106 StringUtils#getLevenshteinDistance() performance is sub-optimal |
| LANG-112 Wrong length check in StrTokenizer.StringMatcher |
| LANG-117 FastDateFormat: wrong format for date "01.01.1000" |
| LANG-122 EscapeUtil.escapeHtml() should clarify that it does not escape ' chars to ' |
| LANG-123 Unclear javadoc for DateUtils.iterator() |
| LANG-127 Minor tweak to fix of bug # 26616 |
| LANG-130 Memory "leak" in StringUtils |
| LANG-140 DurationFormatUtils.formatPeriod() returns the wrong result |
| LANG-141 Fraction.toProperString() returns -1/1 for -1 |
| LANG-148 Performance modifications on StringUtils.replace |
| LANG-150 StringEscapeUtils.unescapeHtml skips first entity after standalone ampersand |
| LANG-152 DurationFormatUtils.formatDurationWords "11 <units>" gets converted to "11 <unit>" |
| LANG-259 ValuedEnum.compareTo(Object other) not typesafe - it easily could be... |
| LANG-261 Error in an example in the javadoc of the StringUtils.splitPreserveAllTokens() method |
| LANG-264 ToStringBuilder/HashCodeBuilder javadoc code examples |
| LANG-271 LocaleUtils test fails under Mustang |
| LANG-272 Minor build and checkstyle changes |
| LANG-277 Javadoc errors on StringUtils.splitPreserveAllTokens(String, char) |
| LANG-278 javadoc for StringUtils.removeEnd is incorrect |
| |
| IMPROVEMENTS IN 2.2: |
| |
| LANG-159 Add WordUtils.getInitials(String) |
| LANG-161 Add methods and tests to StrBuilder |
| LANG-162 replace() length calculation improvement |
| LANG-165 parseDate with TimeZone |
| LANG-166 New interpolation features |
| LANG-169 Implementation of escape/unescapeHtml methods with Writer |
| LANG-176 CompareToBuilder excludeFields for reflection method |
| LANG-186 Request for MutableBoolean implementation |
| LANG-194 add generic add method to DateUtils |
| LANG-198 New method for EqualsBuilder |
| LANG-212 New ExceptionUtils method setCause() |
| LANG-216 Provides a Class.getPublicMethod which returns public invocable Method |
| LANG-217 Add Mutable<Type> to<Type>() methods. |
| LANG-220 Tokenizer Enhancements: reset input string, static CSV/TSV factories |
| LANG-226 Using ReflectionToStringBuilder and excluding secure fields |
| LANG-242 Trivial cleanup of javadoc in various files |
| LANG-246 CompositeFormat |
| LANG-250 Performance boost for RandomStringUtils |
| LANG-254 Enhanced Class.forName version |
| LANG-260 StringEscapeUtils should expose escape*() methods taking Writer argument |
| LANG-263 Add StringUtils.containsIgnoreCase(...) |
| LANG-267 Support char array converters on ArrayUtils |
| LANG-270 minor javadoc improvements for StringUtils.stripXxx() methods |
| New ExceptionUtils methods getMessage/getRootCauseMessage |
| |
| </source> |
| </p> |
| </section> |
| |
| </body> |
| </document> |