$Id: RELEASE-NOTES.txt,v 1.26 2003/08/19 02:39:59 bayard Exp $
Commons Lang Package
Version 2.0
Release Notes
INTRODUCTION:
This document contains the release notes for this version of the Commons
Lang package. Commons Lang is a set of utility functions and reusable
components that should be a help in any Java environment.
This release has involved a major clean and tidy exercise.
Javadoc and Tests are now much more thorough.
All methods should now be much clearer in what they do in unusual cases.
INCOMPATIBLE CHANGES:
Some StringUtils methods have changed functionality from 1.0:
isEmpty()
chomp(String)
chomp(String,String)
swapCase(String)
Numerous other methods have changed null handling to accept nulls gracefully.
As with all major version releases, check your code for incompatibilities.
NEW FEATURES:
Since the release of the 1.0 package the following classes have been added:
lang package:
ArrayUtils
BitField
BooleanUtils
CharRange (previously package scoped)
ClassUtils
StringEscapeUtils
WordUtils
IllegalClassException
IncompleteArgumentException
NotImplementedException
NullArgumentException
SerializationException
UnhandledException
Validate
math sub-package:
IntRange
LongRange
Range
DoubleRange
JVMRandom
NumberRange
FloatRange
NumberUtils
Fraction
RandomUtils
time sub-package:
DateFormatUtils
FastDateFormat
DateUtils
StopWatch
Since the release of the 1.0 package the following classes have been changed:
lang:
CharSet:
Added factory method, equals and hashCode().
Better defined and tested the set syntax.
CharSetUtils:
added keep method: keep any characters specified in the CharSet string
RandomStringUtils:
random method: overloaded to allow passing in of a Random class
SerializationUtils:
added empty constructor
StringUtils:
isEmpty() changed to not trim
chomp() changed to be more like Perl.
swapCase() no longer word based, but no difference if you pass in ASCII
Various methods changed in the handling of null (less exceptions).
Many new methods.
Various methods deprecated.
SystemUtils:
isJavaVersionAtLeast(int) added. getJavaVersion() deprecated.
host of new constants.
enum:
Enum:
getEnumClass(Class) added
EnumUtils:
Removed irrelevant Comparable/Serializable interfaces.
exception:
NestableDelegate:
Gained many new methods for dissecting an Exception.
ExceptionUtils:
Gained many new methods to improve handling of nested stack traces.
builder:
ReflectionToStringBuilder:
Handy class added for creating default toStrings.
All other builder classes received a set of new methods.
BUG FIXES:
ID Sev Pri Plt Owner State Result Summary
13367 [PATCH] StringUtil enhancement
13391 Javadoc nit
13771 Additional Lang Method Suggestions
14306 NullPointerException in CompareToBuilder
14357 static option for reversing the stacktrace
14447 ToStringBuilder doesn't work well in subclasses
14883 StringUtils.countMatches loops forever if substring empty
14884 NumberRange inaccurate for Long, etc.
14985 More flexibility for getRootCause in ExceptionUtils
15154 SystemUtils.IS_JAVA_1_5 Javadoc is wrong
15257 Hierarchy support in ToStringBuilder.reflectionToString()
15438 ArrayUtils.contains()
15439 Enum does not support inner sub-classes
15986 Infinite loop in ToStringBuilder.reflectionToString for inne
16076 Example in Javadoc for ToStringBuilder wrong for append.
16193 Hierarchy support in EqualsBuilder.reflectionEquals()
16202 typo in the javadoc example code
16204 Infinite loop in StringUtils.replace(text, repl, with) + FIX
16227 Added class hierachy support to CompareToBuilder.reflectionC
16228 Added class hierachy support to HashCodeBuilder.reflectionHa
16284 MethodUtils: Removed unused code/unused local vars.
16341 No Javadoc for NestableDelegate
16622 Removed compile warning in FastDateFormat
16669 JavaDoc Errata
16676 StackOverflow due to ToStringBuilder
16689 ExceptionUtils new methods.
16690 Specify initial size for Enum's HashMap.
16787 Removed compile warning in ObjectUtils
17250 [Lang] Should ToStringBuilder.reflectionToString handle arra
17654 EnumUtils nit: The import java.io.Serializable is never used
17882 Add join(..., char c) to StringUtils (and some performance f
18077 StringUtils.chomp does not match Perl
18723 RandomStringUtils infloops with length < 1
18836 test.lang fails if compiled with non iso-8859-1 locales
18948 Resurrect the WordWrapUtils from commons-sandbox/utils
19296 [Lang] What to do with FastDateFormat unused private constru
19364 [Lang] time unit tests fail on Sundays
19756 [lang] java.lang.ExceptionInInitializerError thrown by JVMRa
19880 [lang] patch and test case fixing problem with RandomStringU
20165 [LANG] SystemUtils does not play nice in an Applet
20538 [lang] NumberUtils.isNumber allows illegal trailing characte
20592 [lang] RandomStringUtils.randomAlpha methods omit 'z'
20603 [lang] Make NestableDelegate methods public instead of packa
20632 Refactored reflection feature of ToStringBuilder into new Re
20652 StringUtils.chopNewLine - StringIndexOutOfBoundsException
21021 [PATCH] reduce object creation in ToStringBuilder
21068 [lang] [PATCH] NumberUtils min/max, BooleanUtils.xor, and Ar
21099 [lang][PATCH] Unused field 'startFinal' in DateIterator
21715 The javadoc says "Mac" instead of "OS/2"
21734 [PATCH] all NumberUtils.createXXX(String) methods handle null
21750 [lang] StringUtils javadoc and test enhancements
21758 [lang] lang.builder classes javadoc edits (mostly typo fixes)
21797 [lang] Add javadoc examples and tests for StringUtils
21809 [lang] maven-beta10 checkstyle problem
21904 NumberUtils.createBigDecimal("") NPE in Sun 1.3.1_08
21952 [lang] Improved tests, javadoc for CharSetUtils, StringEscapeUtils
22091 Adding tolerance to double[] search methods in ArrayUtils
22094 A small, but important javadoc fix for Fraction proper whole/numerator
22095 [lang] Javadoc, tests improvements for CharSet, CharSetUtils
22098 [lang] Improve util.Validate tests
22245 [lang] test.time fails in Japanese (non-us) locale.
22286 [lang] Missing @since tags
22367 Typo in documentation
22386 [lang] Improve javadoc and overflow behavior of Fraction
DEPRECATIONS:
lang:
NumberRange:
now deprecated, see math subpackage
NumberUtils:
now deprecated, see math subpackage
CHANGES: [In 'diff' format]
Jar changes
===========
> org.apache.commons.lang.math.Range
> org.apache.commons.lang.math.FloatRange
> org.apache.commons.lang.math.NumberUtils
> org.apache.commons.lang.math.JVMRandom
> org.apache.commons.lang.math.IntRange
> org.apache.commons.lang.math.LongRange
> org.apache.commons.lang.math.DoubleRange
> org.apache.commons.lang.math.NumberRange
> org.apache.commons.lang.math.Fraction
> org.apache.commons.lang.math.RandomUtils
> org.apache.commons.lang.time.FastDateFormat
> org.apache.commons.lang.time.DateUtils$DateIterator
> org.apache.commons.lang.time.DateUtils
> org.apache.commons.lang.time.FastDateFormat$UnpaddedMonthField
> org.apache.commons.lang.time.FastDateFormat$StringLiteral
> org.apache.commons.lang.time.FastDateFormat$TwelveHourField
> org.apache.commons.lang.time.FastDateFormat$NumberRule
> org.apache.commons.lang.time.FastDateFormat$CharacterLiteral
> org.apache.commons.lang.time.FastDateFormat$TimeZoneNumberRule