Current state of release notes

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@595778 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Henri Yandell 2007-11-16 19:00:39 +00:00
parent 62cca626c2
commit 833e5bbd07
1 changed files with 41 additions and 32 deletions

View File

@ -1,17 +1,20 @@
$Id$ $Id$
Commons Lang Package Commons Lang Package
Version 2.3 Version 2.4
Release Notes Release Notes
INTRODUCTION: INTRODUCTION:
This document contains the release notes for the 2.3 version of This document contains the release notes for the 2.4 version of
Apache Commons Lang. Apache Commons Lang.
Commons Lang is a set of utility functions and reusable components that Commons Lang is a set of utility functions and reusable components that
should be of use in any Java environment. should be of use in any Java environment.
INCOMPATIBLE CHANGES WITH VERSION 2.3:
INCOMPATIBLE CHANGES WITH VERSION 2.2: INCOMPATIBLE CHANGES WITH VERSION 2.2:
- Calling stop on a suspended StopWatch will no longer change the underlying time. - Calling stop on a suspended StopWatch will no longer change the underlying time.
@ -35,6 +38,11 @@ If your code previously relied on unusual aspects, it may no longer work.
junit.jar to ANT_HOME/lib. You can get JUnit from http://www.junit.org. See the developer's guide junit.jar to ANT_HOME/lib. You can get JUnit from http://www.junit.org. See the developer's guide
for more details. for more details.
DEPRECATIONS FROM 2.3 to 2.4:
- ObjectUtils.appendIdentityToString(StringBuffer, Object) - has very odd semantics, use
ObjectUtils.identityToString(StringBuffer, Object) instead.
DEPRECATIONS FROM 2.2 to 2.3: DEPRECATIONS FROM 2.2 to 2.3:
- None - None
@ -55,36 +63,37 @@ This package will be removed in v3.0.
as int not long. The replacements are MILLIS_PER_*. as int not long. The replacements are MILLIS_PER_*.
BUG FIXES IN 2.3: BUG FIXES IN 2.4:
* [LANG-69 ] - ToStringBuilder throws StackOverflowError when an Object cycle exists * [LANG-76 ] - [lang] EnumUtils.getEnum() doesn't work well in 1.5
* [LANG-102] - Refactor Entities methods * [LANG-328] - LocaleUtils.toLocale() rejects strings with only language+variant
* [LANG-153] - Can't XMLDecode an Enum * [LANG-334] - Enum is not thread-safe
* [LANG-262] - Use of enum prevents a classloader from being garbage collected resuling in out of memory exceptions. * [LANG-346] - Dates.round() behaves incorrectly for minutes and seconds
* [LANG-279] - HashCodeBuilder throws java.lang.StackOverflowError when an object contains a cycle. * [LANG-349] - Deadlock using ReflectionToStringBuilder
* [LANG-281] - DurationFormatUtils returns wrong result * [LANG-353] - Javadoc Example for EqualsBuilder is questionable
* [LANG-286] - Serialization - not backwards compatible * [LANG-360] - Why does appendIdentityToString return null?
* [LANG-292] - unescapeXml("&12345678;") should be "&12345678;" * [LANG-361] - BooleanUtils toBooleanObject javadoc does not match implementation
* [LANG-294] - StrBuilder.replaceAll and StrBuilder.deleteAll can throw ArrayIndexOutOfBoundsException. * [LANG-363] - StringEscapeUtils..escapeJavaScript() method did not escape '/' into '\/', it will make IE render page uncorrectly
* [LANG-295] - StrBuilder contains usages of thisBuf.length when they should use size * [LANG-364] - Documentation bug for ignoreEmptyTokens accessors in StrTokenizer
* [LANG-299] - Bug in method appendFixedWidthPadRight of class StrBuilder causes an ArrayIndexOutOfBoundsException * [LANG-365] - BooleanUtils.toBoolean() - invalid drop-thru in case statement causes StringIndexOutOfBoundsException
* [LANG-300] - NumberUtils.createNumber throws NumberFormatException for one digit long * [LANG-367] - FastDateFormat thread safety
* [LANG-303] - FastDateFormat.mRules is not transient or serializable * [LANG-368] - FastDateFormat getDateInstance() and getDateTimeInstance() assume Locale.getDefault() won't change
* [LANG-304] - NullPointerException in isAvailableLocale(Locale) * [LANG-369] - ExceptionUtils not thread-safe
* [LANG-313] - Wrong behavior of Entities.unescape * [LANG-372] - ToStringBuilder: MULTI_LINE_STYLE does not print anything from appendToString methods.
* [LANG-315] - StopWatch: suspend() acts as split(), if followed by stop()
IMPROVEMENTS IN 2.3: IMPROVEMENTS IN 2.4:
* [LANG-258] - Enum JavaDoc
* [LANG-266] - Wish for StringUtils.join(Collection, *)
* [LANG-268] - StringUtils.join should allow you to pass a range for it (so it only joins a part of the array)
* [LANG-275] - StringUtils substringsBetween
* [LANG-282] - Create more tests to test out the +=31 replacement code in DurationFormatUtils.
* [LANG-287] - Optimize StringEscapeUtils.unescapeXml(String)
* [LANG-289] - NumberUtils.max(byte[]) and NumberUtils.min(byte[]) are missing
* [LANG-291] - Null-safe comparison methods for finding most recent / least recent dates.
* [LANG-306] - StrBuilder appendln/appendAll/appendSeparator
* [LANG-310] - BooleanUtils isNotTrue/isNotFalse
* [LANG-314] - Tests fail to pass when building with Maven 2
* [LANG-269] - Shouldn't Commons Lang's StringUtils have a "common" string method?
* [LANG-321] - [patch] Add toArray() method to IntRange and LongRange classes
* [LANG-322] - ClassUtils.getShortClassName(String) inefficient
* [LANG-326] - StringUtils: startsWith / endsWith / startsWithIgnoreCase / endsWithIgnoreCase / removeStartIgnoreCase / removeEndIgnoreCase methods
* [LANG-329] - Pointless synchronized in ThreadLocal.initialValue should be removed
* [LANG-333] - ArrayUtils.toClass
* [LANG-337] - Utility class constructor javadocs should acknowledge that they may sometimes be used, e.g. with Velocity.
* [LANG-338] - truncateNicely method which avoids truncating in the middle of a word
* [LANG-345] - Optimize HashCodeBuilder.append(Object)
* [LANG-351] - Extension to ClassUtils: Obtain the primitive class from a wrapper
* [LANG-356] - Add getStartTime to StopWatch
* [LANG-362] - Add ExtendedMessageFormat to org.apache.commons.lang.text
* [LANG-366] - add MultiFormat
* [LANG-371] - ToStringStyle javadoc should show examples of styles