<?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>Commons Lang Changes</title>
  </properties>
  <body>
  <release version="2.7" date="TBA" description="TBA (requires minimum of Java 1.3)">
    <action issue="LANG-803" type="fix">LocaleUtils - DCL idiom is not thread-safe.</action>
    <action issue="LANG-677" type="fix">DateUtils isSameLocalTime() compares the hour using 12hour Calendar.HOUR instead of 24hour Calendar.HOUR_OF_DAY</action>
  </release>

  <release version="2.6" date="2011-01-16" description="Bug Fixes/Enhancements for the 2.6 release (requires minimum of Java 1.3)">
    <action type="update" issue="LANG-633">BooleanUtils: use same optimization in toBooleanObject(String) as in toBoolean(String)</action>
    <action type="update" issue="LANG-599">ClassUtils: allow Dots as Inner Class Separators in getClass()</action>
    <action type="add" issue="LANG-594">DateUtils: equal and compare functions up to most significant field</action>
    <action type="add" issue="LANG-632">DateUtils: provide a Date to Calendar convenience method</action>
    <action type="add" issue="LANG-576">ObjectUtils: add clone methods to ObjectUtils</action>
    <action type="add" issue="LANG-667">ObjectUtils: add a Null-safe compare() method</action>
    <action type="add" issue="LANG-670">ObjectUtils: add notEqual() method</action>
    <action type="add" issue="LANG-302">StrBuilder: implement clone() method</action>
    <action type="add" issue="LANG-640">StringUtils: add a normalizeSpace() method</action>
    <action type="add" issue="LANG-614">StringUtils: add endsWithAny() method</action>
    <action type="add" issue="LANG-655">StringUtils: add defaultIfBlank() method</action>
    <action type="add" issue="LANG-596">StrSubstitutor: add a replace(String, Properties) variant</action>
    <action type="add" issue="LANG-482">StrSubstitutor: support substitution in variable names</action>
    <action type="update" issue="LANG-669">Use StrBuilder instead of StringBuffer to improve performance where sync. is not an issue</action>
    <action type="fix" issue="LANG-629">CharSet: make the underlying set synchronized</action>
    <action type="fix" issue="LANG-635">CompareToBuilder: fix passing along compareTransients to the reflectionCompare method</action>
    <action type="fix" issue="LANG-636">ExtendedMessageFormat doesn't override equals(Object)</action>
    <action type="fix" issue="LANG-645">FastDateFormat: fix to properly include the locale when formatting a Date</action>
    <action type="fix" issue="LANG-638">NumberUtils: createNumber() throws a StringIndexOutOfBoundsException when argument containing "e" and "E" is passed in</action>
    <action type="fix" issue="LANG-607">StringUtils methods do not handle Unicode 2.0+ supplementary characters correctly</action>
    <action type="fix" issue="LANG-624">SystemUtils: getJavaVersionAsFloat throws StringIndexOutOfBoundsException on Android runtime/Dalvik VM</action>
    <action type="fix" issue="BEANUTILS-381">MemberUtils: getMatchingAccessibleMethod does not correctly handle inheritance and method overloading</action>
    <action type="update" issue="LANG-600">Javadoc is incorrect for lastIndexOf() method</action>
    <action type="update" issue="LANG-628">Javadoc for HashCodeBuilder.append(boolean) does not match implementation</action>
    <action type="update" issue="LANG-643">Javadoc StringUtils.left() claims to throw an exception on negative lenth, but doesn't</action>
    <action type="update" issue="LANG-370">Javadoc - document thread safety</action>
    <action type="update" issue="LANG-623">Test for StringUtils replaceChars() icelandic characters</action>
  </release>

  <release version="2.5" date="2010-02-25" description="">
    <action type="add" issue="LANG-583">ArrayUtils - add isNotEmpty() methods</action>
    <action type="add" issue="LANG-534">ArrayUtils - add nullToEmpty() methods</action>
    <action type="add" issue="LANG-454">CharRange - provide an iterator that lets you walk the chars in the range</action>
    <action type="add" issue="LANG-514">CharRange - add more readable static builder methods</action>
    <action type="add">ClassUtils - new isAssignable() methods with autoboxing</action>
    <action type="add" issue="LANG-535">ClassUtils - add support to getShortClassName and getPackageName for arrays</action>
    <action type="add" issue="LANG-434">DateUtils - add ceiling() method</action>
    <action type="add" issue="LANG-486">DateUtils - add parseDateStrictly() method</action>
    <action type="add" issue="LANG-466">EqualsBuilder - add reset() method</action>
    <action type="add" issue="LANG-461">NumberUtils - add toByte() and toShort() methods</action>
    <action type="add" issue="LANG-522">Mutable numbers - add string constructors</action>
    <action type="add">MutableBoolean - add toBoolean(), isTrue() and isFalse() methods</action>
    <action type="add" issue="LANG-422">StrBuilder - add appendSeparator() methods with an alternative default separator if the StrBuilder is currently empty</action>
    <action type="add" issue="LANG-555">SystemUtils - add IS_OS_WINDOWS_7 constant</action>
    <action type="add" issue="LANG-554">SystemUtils - add IS_JAVA_1_7 constant for JDK 1.7</action>
    <action type="add" issue="LANG-405">StringUtils - add abbreviateMiddle() method</action>
    <action type="add" issue="LANG-569">StringUtils - add indexOfIgnoreCase() and lastIndexOfIgnoreCase() methods</action>
    <action type="add" issue="LANG-471">StringUtils - add isAllUpperCase() and isAllLowerCase() methods</action>
    <action type="add" issue="LANG-469">StringUtils - add lastOrdinalIndexOf() method to complement the existing ordinalIndexOf() method</action>
    <action type="add" issue="LANG-348">StringUtils - add repeat() method</action>
    <action type="add" issue="LANG-445">StringUtils - add startsWithAny() method</action>
    <action type="add" issue="LANG-430">StringUtils - add upperCase(String, Locale) and lowerCase(String, Locale) methods</action>
    <action type="add" issue="LANG-416">New Reflection package containing ConstructorUtils, FieldUtils, MemberUtils and MethodUtils</action>
    <action type="fix" issue="LANG-567">ArrayUtils - addAll() does not handle mixed types very well</action>
    <action type="fix" issue="LANG-494">CharSet - Synchronizing the COMMON Map so that getInstance doesn't miss a put from a subclass in another thread</action>
    <action type="fix" issue="LANG-500">ClassUtils - improving performance of getAllInterfaces</action>
    <action type="fix" issue="LANG-587">ClassUtils - toClass() throws NullPointerException on null array element</action>
    <action type="fix" issue="LANG-530">DateUtils - Fix parseDate() cannot parse ISO8601 dates produced by FastDateFormat</action>
    <action type="fix" issue="LANG-440">DateUtils - round() doesn't work correct for Calendar.AM_PM</action>
    <action type="fix" issue="LANG-443">DateUtils - improve tests</action>
    <action type="fix" issue="LANG-204">Entities - multithreaded initialization</action>
    <action type="fix" issue="LANG-506">Entities - missing final modifiers; thread-safety issues</action>
    <action type="fix" issue="LANG-76">EnumUtils - getEnum() doesn't work well in 1.5+</action>
    <action type="fix" issue="LANG-584">ExceptionUtils - use immutable lock target</action>
    <action type="fix" issue="LANG-477">ExtendedMessageFormat - OutOfMemory with a pattern containing single quotes</action>
    <action type="fix" issue="LANG-538">FastDateFormat - call getTime() on a calendar to ensure timezone is in the right state</action>
    <action type="fix" issue="LANG-547">FastDateFormat - Remove unused field</action>
    <action type="fix" issue="LANG-511">LocaleUtils - Initialization of available locales in LocaleUtils can be deferred</action>
    <action type="fix" issue="LANG-457">NumberUtils - createNumber() thows a StringIndexOutOfBoundsException when only an "l" is passed in</action>
    <action type="fix" issue="LANG-521">NumberUtils - isNumber(String) and createNumber(String) both modified to support '2.'</action>
    <action type="fix" issue="LANG-432">StringUtils - improve handling of case-insensitive Strings</action>
    <action type="fix" issue="LANG-552">StringUtils - replaceEach() no longer NPEs when null appears in the last String[]</action>
    <action type="fix" issue="LANG-460">StringUtils - correct JavaDocs for startsWith() and startsWithIgnoreCase()</action>
    <action type="fix" issue="LANG-421">StringEscapeUtils - escapeJava() escapes '/' characters</action>
    <action type="fix" issue="LANG-450">StringEscapeUtils - change escapeJavaStyleString() to throw UnhandledException instead swallowing IOException and returning null</action>
    <action type="fix" issue="LANG-419">WordUtils - fix StringIndexOutOfBoundsException when lower is greater than the String length</action>
    <action type="fix" issue="LANG-523">StrBuilder - Performance improvement by doubling the size of the String in ensureCapacity</action>
    <action type="fix" issue="LANG-575">Compare, Equals and HashCode builders - use ArrayUtils to avoid creating a temporary List</action>
    <action type="fix" issue="LANG-467">EqualsBuilder - removing the special handling of BigDecimal (LANG-393) to use compareTo instead of equals because it creates an inequality with HashCodeBuilder</action>
    <action type="fix" issue="LANG-574">HashCodeBuilder - Performance improvement: check for isArray to short-circuit the 9 instanceof checks</action>
    <action type="fix" issue="LANG-520">HashCodeBuilder - Changing the hashCode() method to return toHashCode()</action>
    <action type="fix" issue="LANG-459">HashCodeBuilder - reflectionHashCode() can generate incorrect hashcodes</action>
    <action type="fix" issue="LANG-586">HashCodeBuilder and ToStringStyle - use of ThreadLocal causes memory leaks in container environments</action>
    <action type="fix" issue="LANG-487">ToStringBuilder - make default style thread-safe</action>
    <action type="fix" issue="LANG-472">RandomUtils - nextLong() always produces even numbers</action>
    <action type="fix" issue="LANG-592">RandomUtils - RandomUtils tests are failing frequently</action>
  </release>

  <release version="2.4" date="2008-03-18" description="">
    <action type="add" issue="LANG-322">ClassUtils.getShortClassName(String) inefficient</action>
    <action type="add" issue="LANG-269">Shouldn't Commons Lang's StringUtils have a "common" string method?</action>
    <action type="fix" issue="LANG-368">FastDateFormat getDateInstance() and getDateTimeInstance() assume Locale.getDefault() won't change</action>
    <action type="add" issue="LANG-402">OSGi-ify Lang</action>
    <action type="fix" issue="LANG-412">StrBuilder appendFixedWidth does not handle nulls</action>
    <action type="fix" issue="LANG-380">infinite loop in Fraction.reduce when numerator == 0</action>
    <action type="fix" issue="LANG-367">FastDateFormat thread safety</action>
    <action type="add" issue="LANG-298">ClassUtils.getShortClassName and ClassUtils.getPackageName and class of array</action>
    <action type="fix" issue="LANG-328">LocaleUtils.toLocale() rejects strings with only language+variant</action>
    <action type="fix" issue="LANG-334">Enum is not thread-safe</action>
    <action type="fix" issue="LANG-365">BooleanUtils.toBoolean() - invalid drop-thru in case statement causes StringIndexOutOfBoundsException</action>
    <action type="add" issue="LANG-333">ArrayUtils.toClass</action>
    <action type="fix" issue="LANG-360">Why does appendIdentityToString return null?</action>
    <action type="fix" issue="LANG-381">NumberUtils.min(floatArray) returns wrong value if floatArray[0] happens to be Float.NaN</action>
    <action type="fix" issue="LANG-346">Dates.round() behaves incorrectly for minutes and seconds</action>
    <action type="add" issue="LANG-407">StringUtils.length(String) returns null-safe length</action>
    <action type="add" issue="LANG-180">adding a StringUtils.replace method that takes an array or List of replacement strings</action>
    <action type="add" issue="LANG-383">Adding functionality to DateUtils to allow direct setting of various fields.</action>
    <action type="add" issue="LANG-374">Add escaping for CSV columns to StringEscapeUtils</action>
    <action type="add" issue="LANG-326">StringUtils: startsWith / endsWith / startsWithIgnoreCase / endsWithIgnoreCase / removeStartIgnoreCase / removeEndIgnoreCase methods</action>
    <action type="add" issue="LANG-351">Extension to ClassUtils: Obtain the primitive class from a wrapper</action>
    <action type="fix" issue="LANG-399">Javadoc bugs - cannot find object</action>
    <action type="add" issue="LANG-345">Optimize HashCodeBuilder.append(Object)</action>
    <action type="fix" issue="LANG-385">http://commons.apache.org/lang/developerguide.html "Building" section is incorrect and incomplete</action>
    <action type="fix" issue="LANG-410">Ambiguous / confusing names in StringUtils replace* methods</action>
    <action type="add" issue="LANG-257">Add new splitByWholeSeparatorPreserveAllTokens() methods to StringUtils</action>
    <action type="add" issue="LANG-356">Add getStartTime to StopWatch</action>
    <action type="add" issue="LANG-377">Perhaps add containsAny() methods?</action>
    <action type="fix" issue="LANG-353">Javadoc Example for EqualsBuilder is questionable</action>
    <action type="fix" issue="LANG-393">EqualsBuilder don't compare BigDecimals correctly</action>
    <action type="add" issue="LANG-192">Split camel case strings</action>
    <action type="add" issue="LANG-404">Add Calendar flavour format methods to DateFormatUtils</action>
    <action type="add" issue="LANG-379">Calculating A date fragment in any time-unit</action>
    <action type="add" issue="LANG-413">Memory usage improvement for StringUtils#getLevenshteinDistance()</action>
    <action type="add" issue="LANG-362">Add ExtendedMessageFormat to org.apache.commons.lang.text</action>
    <action type="fix" issue="LANG-363">StringEscapeUtils.escapeJavaScript() method did not escape '/' into '\/', it will make IE render page uncorrectly</action>
    <action type="add" issue="LANG-321">Add toArray() method to IntRange and LongRange classes</action>
    <action type="add" issue="LANG-375">add SystemUtils.IS_OS_WINDOWS_VISTA field</action>
    <action type="add" issue="LANG-329">Pointless synchronized in ThreadLocal.initialValue should be removed</action>
    <action type="add" issue="LANG-371">ToStringStyle javadoc should show examples of styles</action>
    <action type="fix" issue="LANG-364">Documentation bug for ignoreEmptyTokens accessors in StrTokenizer</action>
    <action type="fix" issue="LANG-361">BooleanUtils toBooleanObject javadoc does not match implementation</action>
    <action type="add" issue="LANG-338">truncateNicely method which avoids truncating in the middle of a word</action>
  </release>

  <release version="2.3" date="2007-02-13" description="">
    <action type="fix" issue="LANG-262">Use of enum prevents a classloader from being garbage collected resuling in out of memory exceptions.</action>
    <action type="add" issue="LANG-289">NumberUtils.max(byte[]) and NumberUtils.min(byte[]) are missing</action>
    <action type="add" issue="LANG-291">Null-safe comparison methods for finding most recent / least recent dates.</action>
    <action type="fix" issue="LANG-315">StopWatch: suspend() acts as split(), if followed by stop()</action>
    <action type="fix" issue="LANG-294">StrBuilder.replaceAll and StrBuilder.deleteAll can throw ArrayIndexOutOfBoundsException.</action>
    <action type="fix" issue="LANG-299">Bug in method appendFixedWidthPadRight of class StrBuilder causes an ArrayIndexOutOfBoundsException</action>
    <action type="fix" issue="LANG-69"> ToStringBuilder throws StackOverflowError when an Object cycle exists</action>
    <action type="add" issue="LANG-282">Create more tests to test out the +=31 replacement code in DurationFormatUtils.</action>
    <action type="fix" issue="LANG-295">StrBuilder contains usages of thisBuf.length when they should use size</action>
    <action type="add" issue="LANG-258">Enum JavaDoc: 1) outline 5.0 native Enum migration 2) warn not to use the switch() , 3) point out approaches for persistence and gui</action>
    <action type="fix" issue="LANG-313">Wrong behavior of Entities.unescape</action>
    <action type="fix" issue="LANG-300">NumberUtils.createNumber throws NumberFormatException for one digit long</action>
    <action type="fix" issue="LANG-304">NullPointerException in isAvailableLocale(Locale)</action>
    <action type="fix" issue="LANG-303">FastDateFormat.mRules is not transient or serializable</action>
    <action type="add" issue="LANG-268">StringUtils.join should allow you to pass a range for it (so it only joins a part of the array)</action>
    <action type="fix" issue="LANG-102">Refactor Entities methods</action>
    <action type="fix" issue="LANG-314">Tests fail to pass when building with Maven 2</action>
    <action type="fix" issue="LANG-281">DurationFormatUtils returns wrong result</action>
    <action type="fix" issue="LANG-292">unescapeXml("&amp;12345678;") should be "&amp;12345678;"</action>
    <action type="add" issue="LANG-287">Optimize StringEscapeUtils.unescapeXml(String)</action>
    <action type="add" issue="LANG-310">BooleanUtils isNotTrue/isNotFalse</action>
    <action type="add" issue="LANG-306">Extra StrBuilder methods</action>
    <action type="add" issue="LANG-275">Add a pair of StringUtils.substringsBetween;String[] methods</action>
    <action type="fix" issue="LANG-279">HashCodeBuilder throws java.lang.StackOverflowError when an object contains a cycle.</action>
    <action type="add" issue="LANG-266">Wish for StringUtils.join(Collection, *)</action>
  </release>

  <release version="2.2" date="2006-10-04" description="">
    <action type="fix" issue="LANG-45">StrBuilderTest#testReplaceStringString fails.</action>
    <action type="fix" issue="LANG-42">EqualsBuilder.append(Object[], Object[]) crashes with a NullPointerException if an element of the first array is null</action>
    <action type="fix" issue="LANG-286">Serialization - not backwards compatible</action>
    <action type="fix" issue="LANG-50"> Replace Clover with Cobertura</action>
    <action type="fix" issue="LANG-259">ValuedEnum.compareTo(Object other) not typesafe - it easily could be...</action>
    <action type="fix" issue="LANG-271">LocaleUtils test fails under Mustang</action>
    <action type="fix" issue="LANG-2">javadoc example for StringUtils.splitByWholeSeparator incorrect</action>
    <action type="fix" issue="LANG-3">PADDING array in StringUtils overflows on '\uffff'</action>
    <action type="fix" issue="LANG-10">ClassUtils.primitiveToWrapper and Void</action>
    <action type="fix" issue="LANG-37">unit test for org.apache.commons.lang.text.StrBuilder</action>
    <action type="fix" issue="LANG-59">DateUtils.truncate method is buggy when dealing with DST switching hours</action>
    <action type="fix" issue="LANG-100">RandomStringUtils.random() family of methods create invalid unicode sequences</action>
    <action type="fix" issue="LANG-106">StringUtils#getLevenshteinDistance() performance is sub-optimal</action>
    <action type="fix" issue="LANG-112">Wrong length check in StrTokenizer.StringMatcher</action>
    <action type="fix" issue="LANG-105">ExceptionUtils goes into infinite loop in getThrowables is throwable.getCause() == throwable</action>
    <action type="fix" issue="LANG-117">FastDateFormat: wrong format for date "01.01.1000"</action>
    <action type="fix" issue="LANG-123">Unclear javadoc for DateUtils.iterator()</action>
    <action type="fix" issue="LANG-130">Memory "leak" in StringUtils</action>
    <action type="add" issue="LANG-260">StringEscapeUtils should expose escape*() methods taking Writer argument</action>
    <action type="fix" issue="LANG-141">Fraction.toProperString() returns -1/1 for -1</action>
    <action type="fix" issue="LANG-152">DurationFormatUtils.formatDurationWords "11 &lt;unit&gt;s" gets converted to "11 &lt;unit&gt;"</action>
    <action type="fix" issue="LANG-148">Performance modifications on StringUtils.replace</action>
    <action type="fix" issue="LANG-150">StringEscapeUtils.unescapeHtml skips first entity after standalone ampersand</action>
    <action type="fix" issue="LANG-140">DurationFormatUtils.formatPeriod() returns the wrong result</action>
    <action type="add" issue="LANG-186">Request for MutableBoolean implementation</action>
    <action type="add" issue="LANG-198">New method for EqualsBuilder</action>
    <action type="add" issue="LANG-212">New ExceptionUtils method setCause()</action>
    <action type="add" issue="LANG-217">Add Mutable&lt;Type&gt; to&lt;Type&gt;() methods.</action>
    <action type="add" issue="LANG-216">Provides a Class.getPublicMethod which returns public invocable Method</action>
    <action type="add" issue="LANG-226">Using ReflectionToStringBuilder and excluding secure fields</action>
    <action type="add" issue="LANG-194">add generic add method to DateUtils</action>
    <action type="add" issue="LANG-220">Tokenizer Enhancements: reset input string, static CSV/TSV factories</action>
    <action type="add" issue="LANG-242">Trivial cleanup of javadoc in various files</action>
    <action type="add" issue="LANG-246">CompositeFormat</action>
    <action type="add" issue="LANG-250">Performance boost for RandomStringUtils</action>
    <action type="add" issue="LANG-254">Enhanced Class.forName version</action>
    <action type="add" issue="LANG-263">Add StringUtils.containsIgnoreCase(...)</action>
    <action type="add" issue="LANG-267">Support char array converters on ArrayUtils</action>
    <action type="fix" issue="LANG-25">DurationFormatUtils.formatDurationISO() javadoc is missing T in duration string between date and time part</action>
    <action type="fix" issue="LANG-272">Minor build and checkstyle changes</action>
    <action type="fix" issue="LANG-277">Javadoc errors on StringUtils.splitPreserveAllTokens(String, char)</action>
    <action type="fix" issue="LANG-122">EscapeUtil.escapeHtml() should clarify that it does not escape ' chars to &amp;apos;</action>
    <action type="add" issue="LANG-161">Add methods and tests to StrBuilder</action>
    <action type="add" issue="LANG-162">replace() length calculation improvement</action>
    <action type="add" issue="LANG-166">New interpolation features</action>
    <action type="add" issue="LANG-169">Implementation of escape/unescapeHtml methods with Writer</action>
    <action type="add" issue="LANG-176">CompareToBuilder excludeFields for reflection method</action>
    <action type="add" issue="LANG-159">Add WordUtils.getInitials(String)</action>
    <action type="fix" issue="LANG-261">Error in an example in the javadoc of the StringUtils.splitPreserveAllTokens() method</action>
    <action type="fix" issue="LANG-264">ToStringBuilder/HashCodeBuilder javadoc code examples</action>
    <action type="fix" issue="LANG-265">Cannot build tests from latest SVN</action>
    <action type="add" issue="LANG-270">minor javadoc improvements for StringUtils.stripXxx() methods</action>
    <action type="fix" issue="LANG-278">javadoc for StringUtils.removeEnd is incorrect</action>
    <action type="fix" issue="LANG-127">Minor tweak to fix of bug # 26616</action>
  </release>

  <release version="2.1" date="2005-06-13" description="">
    <action type="fix" issue="LANG-103">make optional parameters in FastDateFormat really optional</action>
    <action type="fix" issue="LANG-149">Nestable.indexOfThrowable(Class) uses Class.equals() to match</action>
    <action type="fix" issue="LANG-30">buffer under/overrun on Strings.strip, stripStart &amp; stripEnd</action>
    <action type="fix" issue="LANG-19">ToStringStyle.setArrayEnd(String) doesn't replace null with empty string.</action>
    <action type="fix" issue="LANG-80">New class proposal: CharacterEncoding</action>
    <action type="fix" issue="LANG-43">SystemUtils fails init on HP-UX</action>
    <action type="fix" issue="LANG-134">javadoc - 'four basic XML entities' should be 5 (apos is missing)</action>
    <action type="fix" issue="LANG-156">o.a.c.lang.enum.ValuedEnum: 'enum'is a keyword in JDK1.5.0</action>
    <action type="fix" issue="LANG-131">StringEscapeUtils.unescapeHtml() doesn't handle an empty entity</action>
    <action type="fix" issue="LANG-6">EqualsBuilder.append(Object[], Object[]) incorrectly checks that rhs[i] is instance of lhs[i]'s class</action>
    <action type="fix" issue="LANG-33">Method enums.Enum.equals(Object o) doesn't work correctly.</action>
    <action type="fix" issue="LANG-31">ExceptionUtils.addCauseMethodName(String) does not check for duplicates.</action>
    <action type="fix" issue="LANG-136">Make StopWatch validate state transitions</action>
    <action type="fix" issue="LANG-124">enum package is not compatible with 1.5 jdk</action>
    <action type="fix" issue="LANG-128">WordUtils capitalizeFully() throws a null pointer exception</action>
    <action type="fix" issue="LANG-138">ValuedEnum</action>
    <action type="fix" issue="LANG-133">parseDate class from HttpClient's DateParser class</action>
    <action type="fix" issue="LANG-62">ArrayUtils.isEquals() throws ClassCastException when array1 and array2 are different dimension</action>
    <action type="fix" issue="LANG-57">ClassCastException in Enum.equals(Object)</action>
    <action type="fix" issue="LANG-107">FastDateFormat year bug</action>
    <action type="fix" issue="LANG-77">unbalanced ReflectionToStringBuilder</action>
    <action type="fix" issue="LANG-86">FastDateFormat.getDateInstance(int, Locale) always uses the pattern from the first invocation</action>
    <action type="fix" issue="LANG-79">ReflectionToStringBuilder.toString(null) throws exception by design</action>
    <action type="fix" issue="LANG-126">Make ClassUtils methods null-safe and not throw an IAE.</action>
    <action type="fix" issue="LANG-5">StringUtils.split ignores empty items</action>
    <action type="fix" issue="LANG-144">EqualsBuilder.append(Object[], Object[]) throws NPE</action>
    <action type="fix" issue="LANG-74">ArrayUtils.addAll doesn't always return new array</action>
    <action type="fix" issue="LANG-81">Enum.equals does not handle different class loaders.</action>
    <action type="fix" issue="LANG-27">Add SystemUtils.AWT_TOOLKIT and others.</action>
    <action type="fix" issue="LANG-14">Throwable cause for NotImplementedException</action>
    <action type="fix" issue="LANG-28">ClassUtils.primitivesToWrappers method</action>
    <action type="fix" issue="LANG-120">public static boolean DateUtils.equals(Date dt1, Date dt2) ?</action>
    <action type="fix" issue="LANG-7">Documentation error in StringUtils.replace</action>
    <action type="fix" issue="LANG-125">DateUtils constants should be long</action>
    <action type="fix" issue="LANG-13">DateUtils.truncate() is off by one hour when using a date in DST switch 'zone'</action>
    <action type="fix" issue="LANG-118">StringEscapeUtils.unescapeHtml() doesn't handle hex entities</action>
    <action type="fix" issue="LANG-99">new StringUtils.replaceChars behaves differently from old CharSetUtils.translate</action>
    <action type="fix" issue="LANG-41">last substring returned by StringUtils.split( String, String, int ) is too long</action>
    <action type="fix" issue="LANG-119">Can't subclass EqualsBuilder because isEquals is private</action>
    <action type="fix" issue="LANG-158">new StringUtils.split methods that split on the whole separator string</action>
    <action type="add" issue="LANG-172">New method for converting a primitive Class to its corresponding wrapper Class</action>
    <action type="add" issue="LANG-222">Add convenience format(long) methods to FastDateFormat</action>
    <action type="fix" issue="LANG-116">Enum's outer class may not be loaded for EnumUtils</action>
    <action type="add" issue="LANG-219">WordUtils.capitalizeFully(String str) should take a delimiter</action>
    <action type="add" issue="LANG-183">Make javadoc crosslinking configurable</action>
    <action type="fix" issue="LANG-82">Minor javadoc fixes for StringUtils.contains(String, String)</action>
    <action type="fix" issue="LANG-32">Error in JavaDoc for StringUtils.chomp(String, String)</action>
    <action type="fix" issue="LANG-95">StringUtils.defaultString: Documentation error</action>
    <action type="add" issue="LANG-233">Add hashCode-support to class ObjectUtils</action>
    <action type="add" issue="LANG-202">add another "known method" to ExceptionUtils</action>
    <action type="add" issue="LANG-235">Enhancement of ExceptionUtils.CAUSE_METHOD_NAMES</action>
    <action type="fix" issue="LANG-24">DateUtils.truncate oddity at the far end of the Date spectrum</action>
    <action type="add" issue="LANG-232">add getLength() method to ArrayUtils</action>
    <action type="add" issue="LANG-171">Validate.java: fixes comment skew, removes unused loop counter</action>
    <action type="add" issue="LANG-179">StringUtils.isAsciiPrintable()</action>
    <action type="add" issue="LANG-167">ExceptionUtils: new getCause() methodname (for tomcat-exception)</action>
    <action type="fix" issue="LANG-85">fixes 75 typos</action>
    <action type="add" issue="LANG-230">mutable numbers</action>
    <action type="add" issue="LANG-191">Javadoc fixes for ClassUtils</action>
    <action type="add" issue="LANG-184">Add StringUtils.nIndexOf?</action>
    <action type="fix" issue="LANG-135">Javadoc fixes for CharSetUtils</action>
    <action type="fix" issue="LANG-154">Remove redundant check for null separator in StringUtils#join</action>
    <action type="add" issue="LANG-247">Class and Package Comparators for ClassUtils</action>
    <action type="add" issue="LANG-256">add remove methods to ArrayUtils</action>
    <action type="add" issue="LANG-185">WordUtils capitalize improvement</action>
    <action type="add" issue="LANG-173">add isEmpty method to ArrayUtils</action>
    <action type="add" issue="LANG-168">lang.math.Fraction class deficiencies</action>
    <action type="add" issue="LANG-207">Add methods to ArrayUtils: add at end and insert-like ops</action>
    <action type="add" issue="LANG-239">Add SystemUtils methods for directory properties.</action>
    <action type="add" issue="LANG-189">Add method that validates Collection elements are a certain type</action>
    <action type="add" issue="LANG-224">elapsed time formatting utility method</action>
  </release>

  <release version="2.0" date="2003-09-02" description="">
    <action type="fix" issue="LANG-20">Infinite loop in ToStringBuilder.reflectionToString for inner classes</action>
    <action type="fix" issue="LANG-75">NumberUtils.createBigDecimal("") NPE in Sun 1.3.1_08</action>
    <action type="fix" issue="LANG-38">Rationalize StringUtils slice functions</action>
    <action type="fix" issue="LANG-53">SystemUtils.IS_OS_OS2 Javadoc is wrong</action>
    <action type="fix" issue="LANG-142">A small, but important javadoc fix for Fraction proper whole and numerator</action>
    <action type="fix" issue="LANG-70">Adding tolerance to double[] search methods in ArrayUtils</action>
    <action type="fix" issue="LANG-9">lang.builder classes javadoc edits (mostly typo fixes)</action>
    <action type="fix" issue="LANG-63">StringUtils javadoc and test enhancements</action>
    <action type="fix" issue="LANG-132">SystemUtils.IS_OS_*, IS_JAVA_* are always false.</action>
    <action type="fix" issue="LANG-143">Improve util.Validate tests</action>
    <action type="fix" issue="LANG-155">maven-beta10 checkstyle problem</action>
    <action type="fix" issue="LANG-147">StringUtils.chopNewLine - StringIndexOutOfBoundsException</action>
    <action type="fix" issue="LANG-73">ToStringBuilder doesn't work well in subclasses</action>
    <action type="fix" issue="LANG-48">static option for reversing the stacktrace</action>
    <action type="fix" issue="LANG-87">NullPointerException in CompareToBuilder</action>
    <action type="fix" issue="LANG-84">RandomStringUtils.randomAlpha methods omit 'z'</action>
    <action type="fix" issue="LANG-129">test.time fails in Japanese (non-us) locale.</action>
    <action type="fix" issue="LANG-94">NumberUtils.isNumber allows illegal trailing characters</action>
    <action type="fix" issue="LANG-137">Improve javadoc and overflow behavior of Fraction</action>
    <action type="fix" issue="LANG-55">RandomStringUtils infloops with length &gt; 1</action>
    <action type="fix" issue="LANG-47">test.lang fails if compiled with non iso-8859-1 locales</action>
    <action type="fix" issue="LANG-113">SystemUtils does not play nice in an Applet</action>
    <action type="fix" issue="LANG-111">time unit tests fail on Sundays</action>
    <action type="fix" issue="LANG-90">java.lang.ExceptionInInitializerError thrown by JVMRandom constructor</action>
    <action type="fix" issue="LANG-78">StringUtils.chomp does not match Perl</action>
    <action type="fix" issue="LANG-36">patch and test case fixing problem with RandomStringUtils.random()</action>
    <action type="fix" issue="LANG-151">General case: infinite loop: ToStringBuilder.reflectionToString</action>
    <action type="fix" issue="LANG-35">Should ToStringBuilder.reflectionToString handle arrays?</action>
    <action type="fix" issue="LANG-83">EnumUtils nit: The import java.io.Serializable is never used</action>
    <action type="fix" issue="LANG-12">Example in Javadoc for ToStringBuilder wrong for append.</action>
    <action type="fix" issue="LANG-110">Added class hierachy support to HashCodeBuilder.reflectionHashCode()</action>
    <action type="fix" issue="LANG-71">ExceptionUtils new methods.</action>
    <action type="fix" issue="LANG-15">Infinite loop in StringUtils.replace(text, repl, with) + FIX</action>
    <action type="fix" issue="LANG-93">StackOverflow due to ToStringBuilder</action>
    <action type="fix" issue="LANG-39">No Javadoc for NestableDelegate</action>
    <action type="fix" issue="LANG-49">Specify initial size for Enum's HashMap.</action>
    <action type="fix" issue="LANG-146">Enum does not support inner sub-classes</action>
    <action type="fix" issue="LANG-157">Removed compile warning in ObjectUtils</action>
    <action type="fix" issue="LANG-96">SystemUtils.IS_JAVA_1_5 Javadoc is wrong</action>
    <action type="fix" issue="LANG-16">NumberRange inaccurate for Long, etc.</action>
    <action type="fix" issue="LANG-4">Hierarchy support in ToStringBuilder.reflectionToString()</action>
    <action type="fix" issue="LANG-56">StringUtils.countMatches loops forever if substring empty</action>
    <action type="add" issue="LANG-209">javadoc fixes (remove @links to non-public identifiers)</action>
    <action type="add" issue="LANG-210">Add javadoc examples and tests for StringUtils</action>
    <action type="add" issue="LANG-170">Make NumberUtils null handling consistent</action>
    <action type="fix" issue="LANG-145">Unused field 'startFinal' in DateIterator</action>
    <action type="add" issue="LANG-214">reduce object creation in ToStringBuilder</action>
    <action type="add" issue="LANG-228">Improved tests, javadoc for CharSetUtils, StringEscapeUtils</action>
    <action type="add" issue="LANG-252">NumberUtils min/max, BooleanUtils.xor, and ArrayUtils toPrimitive and toObject</action>
    <action type="add" issue="LANG-208">Javadoc, tests improvements for CharSet, CharSetUtils</action>
    <action type="add" issue="LANG-205">StringUtil enhancement</action>
    <action type="add" issue="LANG-164">Javadoc nit</action>
    <action type="add" issue="LANG-206">Additional Lang Method Suggestions</action>
    <action type="add" issue="LANG-178">Make NestableDelegate methods public instead of package private</action>
    <action type="add" issue="LANG-174">Missing @since tags</action>
    <action type="add" issue="LANG-245">Refactored reflection feature of ToStringBuilder into new ReflectionToStringBuilder</action>
    <action type="fix" issue="LANG-51">Typo in documentation</action>
    <action type="fix" issue="LANG-1">Patch for javadocs</action>
    <action type="add" issue="LANG-244">Add join(..., char c) to StringUtils (and some performance fixes). Even contains tests!</action>
    <action type="add" issue="LANG-231">Resurrect the WordWrapUtils from commons-sandbox/utils</action>
    <action type="fix" issue="LANG-139">EnumTest fails on Linux Sun JDK 1.3.0</action>
    <action type="add" issue="LANG-234">What to do with FastDateFormat unused private constructors</action>
    <action type="add" issue="LANG-240">Added class hierachy support to CompareToBuilder.reflectionCompare()</action>
    <action type="add" issue="LANG-190">Removed compile warning in FastDateFormat</action>
    <action type="fix" issue="LANG-97">typo in the javadoc example code</action>
    <action type="add" issue="LANG-249">MethodUtils: Removed unused code/unused local vars.</action>
    <action type="add" issue="LANG-237">Hierarchy support in EqualsBuilder.reflectionEquals()</action>
    <action type="fix" issue="LANG-91">JavaDoc Errata</action>
    <action type="add" issue="LANG-215">ArrayUtils.contains()</action>
    <action type="add" issue="LANG-221">More flexibility for getRootCause in ExceptionUtils</action>
  </release>

  <release version="1.0.1" date="2002-11-25" description="Quick bugfix to 1.0">
    <action type="fix">NumberRange.getMaximum returns minimum</action>
    <action type="fix">Enum constructor validations</action>
    <action type="fix">NestableException/Delegate is not serializable</action>
    <action type="fix">split using null and max less than actual token count adds "null"</action>
    <action type="add">ExceptionUtils cannot handle J2EE-Exception in a default way</action>
  </release>

  <release version="1.0" date="2002-10-04" description="First release of Commons Lang">
  </release>

  </body>
</document>
