Adding 2.x release notes
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1156018 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
03bcf46acd
commit
2b0a81b899
|
@ -0,0 +1,661 @@
|
|||
$Id: RELEASE-NOTES.txt 137634 2003-08-19 02:39:59Z bayard $
|
||||
|
||||
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
|
||||
> org.apache.commons.lang.time.FastDateFormat$TimeZoneNameRule
|
||||
> org.apache.commons.lang.time.DateFormatUtils
|
||||
> org.apache.commons.lang.time.FastDateFormat$TwoDigitMonthField
|
||||
> org.apache.commons.lang.time.DurationFormatUtils
|
||||
> org.apache.commons.lang.time.FastDateFormat$TimeZoneDisplayKey
|
||||
> org.apache.commons.lang.time.FastDateFormat$UnpaddedNumberField
|
||||
> org.apache.commons.lang.time.FastDateFormat$PaddedNumberField
|
||||
> org.apache.commons.lang.time.StopWatch
|
||||
> org.apache.commons.lang.time.FastDateFormat$TwentyFourHourField
|
||||
> org.apache.commons.lang.time.FastDateFormat$Rule
|
||||
> org.apache.commons.lang.time.FastDateFormat$TwoDigitNumberField
|
||||
> org.apache.commons.lang.time.FastDateFormat$TextField
|
||||
> org.apache.commons.lang.time.FastDateFormat$Pair
|
||||
> org.apache.commons.lang.time.FastDateFormat$TwoDigitYearField
|
||||
> org.apache.commons.lang.util.IdentifierUtils$StringNumericIdentifierFactory
|
||||
> org.apache.commons.lang.util.IdentifierUtils$StringSessionIdentifierFactory
|
||||
> org.apache.commons.lang.util.IdentifierUtils$LongNumericIdentifierFactory
|
||||
> org.apache.commons.lang.util.IdentifierUtils$StringAlphanumericIdentifierFactory
|
||||
> org.apache.commons.lang.util.Validate
|
||||
> org.apache.commons.lang.util.LongIdentifierFactory
|
||||
> org.apache.commons.lang.util.IdentifierUtils$1
|
||||
> org.apache.commons.lang.util.StringIdentifierFactory
|
||||
> org.apache.commons.lang.util.IdentifierUtils
|
||||
> org.apache.commons.lang.util.IdentifierFactory
|
||||
> org.apache.commons.lang.util.BitField
|
||||
> org.apache.commons.lang.Entities
|
||||
> org.apache.commons.lang.Entities$LookupEntityMap
|
||||
> org.apache.commons.lang.NotImplementedException
|
||||
> org.apache.commons.lang.NullArgumentException
|
||||
< org.apache.commons.lang.ObjectUtils$1
|
||||
---
|
||||
> org.apache.commons.lang.StringPrintWriter
|
||||
> org.apache.commons.lang.UnhandledException
|
||||
> org.apache.commons.lang.Entities$HashEntityMap
|
||||
> org.apache.commons.lang.Entities$ArrayEntityMap
|
||||
> org.apache.commons.lang.Entities$EntityMap
|
||||
> org.apache.commons.lang.IntHashMap
|
||||
> org.apache.commons.lang.BooleanUtils
|
||||
> org.apache.commons.lang.IncompleteArgumentException
|
||||
> org.apache.commons.lang.Entities$PrimitiveEntityMap
|
||||
> org.apache.commons.lang.Entities$TreeEntityMap
|
||||
> org.apache.commons.lang.WordUtils
|
||||
> org.apache.commons.lang.StringEscapeUtils
|
||||
> org.apache.commons.lang.ArrayUtils
|
||||
> org.apache.commons.lang.Entities$BinaryEntityMap
|
||||
> org.apache.commons.lang.ClassUtils
|
||||
> org.apache.commons.lang.IntHashMap$Entry
|
||||
> org.apache.commons.lang.IllegalClassException
|
||||
> org.apache.commons.lang.builder.ReflectionToStringBuilder$1
|
||||
> org.apache.commons.lang.builder.ReflectionToStringBuilder
|
||||
> org.apache.commons.lang.Entities$MapIntMap
|
||||
|
||||
|
||||
Class changes
|
||||
=============
|
||||
org.apache.commons.lang.enum.EnumUtils
|
||||
--------------------
|
||||
< public abstract class org.apache.commons.lang.enum.EnumUtils extends java.lang.Object implements java.lang.Comparable, java.io.Serializable {
|
||||
---
|
||||
> public class org.apache.commons.lang.enum.EnumUtils extends java.lang.Object {
|
||||
> public org.apache.commons.lang.enum.EnumUtils();
|
||||
|
||||
org.apache.commons.lang.enum.Enum$Entry
|
||||
--------------------
|
||||
> final java.util.Map unmodifiableMap;
|
||||
> final java.util.List unmodifiableList;
|
||||
|
||||
org.apache.commons.lang.enum.Enum
|
||||
--------------------
|
||||
> protected transient java.lang.String iToString;
|
||||
> static java.lang.Class class$org$apache$commons$lang$enum$ValuedEnum;
|
||||
> public java.lang.Class getEnumClass();
|
||||
|
||||
org.apache.commons.lang.enum.ValuedEnum
|
||||
--------------------
|
||||
> static {};
|
||||
|
||||
org.apache.commons.lang.StringUtils
|
||||
--------------------
|
||||
> public static final java.lang.String EMPTY;
|
||||
> public static boolean isEmpty(java.lang.String);
|
||||
> public static boolean isNotEmpty(java.lang.String);
|
||||
> public static boolean isBlank(java.lang.String);
|
||||
> public static boolean isNotBlank(java.lang.String);
|
||||
< public static java.lang.String deleteSpaces(java.lang.String);
|
||||
< public static java.lang.String deleteWhitespace(java.lang.String);
|
||||
< public static boolean isNotEmpty(java.lang.String);
|
||||
< public static boolean isEmpty(java.lang.String);
|
||||
---
|
||||
> public static java.lang.String trimToNull(java.lang.String);
|
||||
> public static java.lang.String trimToEmpty(java.lang.String);
|
||||
> public static java.lang.String strip(java.lang.String);
|
||||
> public static java.lang.String stripToNull(java.lang.String);
|
||||
> public static java.lang.String stripToEmpty(java.lang.String);
|
||||
> public static java.lang.String strip(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String stripStart(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String stripEnd(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String stripAll(java.lang.String[])[];
|
||||
> public static java.lang.String stripAll(java.lang.String[], java.lang.String)[];
|
||||
> public static int indexOf(java.lang.String, char);
|
||||
> public static int indexOf(java.lang.String, char, int);
|
||||
> public static int indexOf(java.lang.String, java.lang.String);
|
||||
> public static int indexOf(java.lang.String, java.lang.String, int);
|
||||
> public static int lastIndexOf(java.lang.String, char);
|
||||
> public static int lastIndexOf(java.lang.String, char, int);
|
||||
> public static int lastIndexOf(java.lang.String, java.lang.String);
|
||||
> public static int lastIndexOf(java.lang.String, java.lang.String, int);
|
||||
> public static boolean contains(java.lang.String, char);
|
||||
> public static boolean contains(java.lang.String, java.lang.String);
|
||||
> public static int indexOfAny(java.lang.String, char[]);
|
||||
> public static int indexOfAny(java.lang.String, java.lang.String);
|
||||
> public static int indexOfAnyBut(java.lang.String, char[]);
|
||||
> public static int indexOfAnyBut(java.lang.String, java.lang.String);
|
||||
> public static boolean containsOnly(java.lang.String, char[]);
|
||||
> public static boolean containsOnly(java.lang.String, java.lang.String);
|
||||
> public static boolean containsNone(java.lang.String, char[]);
|
||||
> public static boolean containsNone(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String substringBefore(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String substringAfter(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String substringBeforeLast(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String substringAfterLast(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String substringBetween(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String substringBetween(java.lang.String, java.lang.String, java.lang.String);
|
||||
> public static java.lang.String getNestedString(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String getNestedString(java.lang.String, java.lang.String, java.lang.String);
|
||||
> public static java.lang.String split(java.lang.String, char)[];
|
||||
> public static java.lang.String join(java.lang.Object[]);
|
||||
> public static java.lang.String join(java.lang.Object[], char);
|
||||
> public static java.lang.String join(java.util.Iterator, char);
|
||||
> public static java.lang.String deleteSpaces(java.lang.String);
|
||||
> public static java.lang.String deleteWhitespace(java.lang.String);
|
||||
> public static java.lang.String replaceChars(java.lang.String, char, char);
|
||||
> public static java.lang.String replaceChars(java.lang.String, java.lang.String, java.lang.String);
|
||||
< public static java.lang.String center(java.lang.String, int);
|
||||
< public static java.lang.String center(java.lang.String, int, java.lang.String);
|
||||
---
|
||||
> public static java.lang.String overlay(java.lang.String, java.lang.String, int, int);
|
||||
> public static java.lang.String rightPad(java.lang.String, int, char);
|
||||
> public static java.lang.String leftPad(java.lang.String, int, char);
|
||||
< public static java.lang.String strip(java.lang.String);
|
||||
< public static java.lang.String strip(java.lang.String, java.lang.String);
|
||||
< public static java.lang.String stripAll(java.lang.String[])[];
|
||||
< public static java.lang.String stripAll(java.lang.String[], java.lang.String)[];
|
||||
< public static java.lang.String stripEnd(java.lang.String, java.lang.String);
|
||||
< public static java.lang.String stripStart(java.lang.String, java.lang.String);
|
||||
---
|
||||
> public static java.lang.String center(java.lang.String, int);
|
||||
> public static java.lang.String center(java.lang.String, int, char);
|
||||
> public static java.lang.String center(java.lang.String, int, java.lang.String);
|
||||
< public static java.lang.String uncapitalise(java.lang.String);
|
||||
---
|
||||
> public static java.lang.String capitalize(java.lang.String);
|
||||
> public static java.lang.String uncapitalize(java.lang.String);
|
||||
> public static java.lang.String uncapitalise(java.lang.String);
|
||||
< public static java.lang.String getNestedString(java.lang.String, java.lang.String);
|
||||
< public static java.lang.String getNestedString(java.lang.String, java.lang.String, java.lang.String);
|
||||
> public static boolean isWhitespace(java.lang.String);
|
||||
> public static java.lang.String reverseDelimited(java.lang.String, char);
|
||||
> public static java.lang.String abbreviate(java.lang.String, int);
|
||||
> public static java.lang.String abbreviate(java.lang.String, int, int);
|
||||
> public static java.lang.String difference(java.lang.String, java.lang.String);
|
||||
> public static int differenceAt(java.lang.String, java.lang.String);
|
||||
< public static boolean containsOnly(java.lang.String, char[]);
|
||||
---
|
||||
> static {};
|
||||
|
||||
org.apache.commons.lang.ObjectUtils
|
||||
--------------------
|
||||
> public static java.lang.StringBuffer appendIdentityToString(java.lang.StringBuffer, java.lang.Object);
|
||||
> public static java.lang.String toString(java.lang.Object);
|
||||
> public static java.lang.String toString(java.lang.Object, java.lang.String);
|
||||
< org.apache.commons.lang.ObjectUtils.Null(org.apache.commons.lang.ObjectUtils$1);
|
||||
---
|
||||
> org.apache.commons.lang.ObjectUtils.Null();
|
||||
> static {};
|
||||
|
||||
org.apache.commons.lang.exception.NestableDelegate
|
||||
--------------------
|
||||
> public static boolean topDown;
|
||||
> public static boolean trimStackFrames;
|
||||
< org.apache.commons.lang.exception.NestableDelegate(org.apache.commons.lang.exception.Nestable);
|
||||
< java.lang.String getMessage(int);
|
||||
< java.lang.String getMessage(java.lang.String);
|
||||
< java.lang.String getMessages()[];
|
||||
< java.lang.Throwable getThrowable(int);
|
||||
< int getThrowableCount();
|
||||
< java.lang.Throwable getThrowables()[];
|
||||
< int indexOfThrowable(java.lang.Class, int);
|
||||
---
|
||||
> public org.apache.commons.lang.exception.NestableDelegate(org.apache.commons.lang.exception.Nestable);
|
||||
> public java.lang.String getMessage(int);
|
||||
> public java.lang.String getMessage(java.lang.String);
|
||||
> public java.lang.String getMessages()[];
|
||||
> public java.lang.Throwable getThrowable(int);
|
||||
> public int getThrowableCount();
|
||||
> public java.lang.Throwable getThrowables()[];
|
||||
> public int indexOfThrowable(java.lang.Class, int);
|
||||
> protected java.lang.String getStackFrames(java.lang.Throwable)[];
|
||||
> protected void trimStackFrames(java.util.List);
|
||||
|
||||
org.apache.commons.lang.exception.ExceptionUtils
|
||||
--------------------
|
||||
< protected static final java.lang.String CAUSE_METHOD_NAMES[];
|
||||
< protected static final java.lang.Object CAUSE_METHOD_PARAMS[];
|
||||
---
|
||||
> static final java.lang.String WRAPPED_MARKER;
|
||||
< protected org.apache.commons.lang.exception.ExceptionUtils();
|
||||
---
|
||||
> public org.apache.commons.lang.exception.ExceptionUtils();
|
||||
> public static void addCauseMethodName(java.lang.String);
|
||||
> public static boolean isThrowableNested();
|
||||
> public static boolean isNestedThrowable(java.lang.Throwable);
|
||||
> public static void printRootCauseStackTrace(java.lang.Throwable);
|
||||
> public static void printRootCauseStackTrace(java.lang.Throwable, java.io.PrintStream);
|
||||
> public static void printRootCauseStackTrace(java.lang.Throwable, java.io.PrintWriter);
|
||||
> public static java.lang.String getRootCauseStackTrace(java.lang.Throwable)[];
|
||||
> public static void removeCommonFrames(java.util.List, java.util.List);
|
||||
> public static java.lang.String getFullStackTrace(java.lang.Throwable);
|
||||
> static java.util.List getStackFrameList(java.lang.Throwable);
|
||||
|
||||
org.apache.commons.lang.CharRange
|
||||
--------------------
|
||||
< class org.apache.commons.lang.CharRange extends java.lang.Object {
|
||||
---
|
||||
> public final class org.apache.commons.lang.CharRange extends java.lang.Object implements java.io.Serializable {
|
||||
> public org.apache.commons.lang.CharRange(char,boolean);
|
||||
< public org.apache.commons.lang.CharRange(java.lang.String,java.lang.String);
|
||||
---
|
||||
> public org.apache.commons.lang.CharRange(char,char,boolean);
|
||||
< public void setStart(char);
|
||||
< public void setEnd(char);
|
||||
< public boolean isRange();
|
||||
< public boolean inRange(char);
|
||||
< public void setNegated(boolean);
|
||||
---
|
||||
> public boolean contains(char);
|
||||
> public boolean contains(org.apache.commons.lang.CharRange);
|
||||
> public boolean equals(java.lang.Object);
|
||||
> public int hashCode();
|
||||
> static {};
|
||||
|
||||
org.apache.commons.lang.ObjectUtils$1
|
||||
--------------------
|
||||
< Compiled from ObjectUtils.java
|
||||
< class org.apache.commons.lang.ObjectUtils$1 extends java.lang.Object {
|
||||
< }
|
||||
---
|
||||
> Class 'org.apache.commons.lang.ObjectUtils$1' has been removed
|
||||
|
||||
org.apache.commons.lang.ObjectUtils$Null
|
||||
--------------------
|
||||
< org.apache.commons.lang.ObjectUtils.Null(org.apache.commons.lang.ObjectUtils$1);
|
||||
---
|
||||
> org.apache.commons.lang.ObjectUtils.Null();
|
||||
> static {};
|
||||
|
||||
org.apache.commons.lang.SystemUtils
|
||||
--------------------
|
||||
> public static final java.lang.String FILE_ENCODING;
|
||||
> public static final java.lang.String JAVA_RUNTIME_NAME;
|
||||
> public static final java.lang.String JAVA_RUNTIME_VERSION;
|
||||
> public static final java.lang.String JAVA_VM_INFO;
|
||||
> public static final java.lang.String USER_COUNTRY;
|
||||
> public static final java.lang.String USER_LANGUAGE;
|
||||
> public static final float JAVA_VERSION_FLOAT;
|
||||
> public static final int JAVA_VERSION_INT;
|
||||
> public static final boolean IS_OS_AIX;
|
||||
> public static final boolean IS_OS_HP_UX;
|
||||
> public static final boolean IS_OS_IRIX;
|
||||
> public static final boolean IS_OS_LINUX;
|
||||
> public static final boolean IS_OS_MAC;
|
||||
> public static final boolean IS_OS_MAC_OSX;
|
||||
> public static final boolean IS_OS_OS2;
|
||||
> public static final boolean IS_OS_SOLARIS;
|
||||
> public static final boolean IS_OS_SUN_OS;
|
||||
> public static final boolean IS_OS_WINDOWS;
|
||||
> public static final boolean IS_OS_WINDOWS_2000;
|
||||
> public static final boolean IS_OS_WINDOWS_95;
|
||||
> public static final boolean IS_OS_WINDOWS_98;
|
||||
> public static final boolean IS_OS_WINDOWS_ME;
|
||||
> public static final boolean IS_OS_WINDOWS_NT;
|
||||
> public static final boolean IS_OS_WINDOWS_XP;
|
||||
> public static boolean isJavaVersionAtLeast(int);
|
||||
|
||||
org.apache.commons.lang.SerializationUtils
|
||||
--------------------
|
||||
> public org.apache.commons.lang.SerializationUtils();
|
||||
|
||||
org.apache.commons.lang.RandomStringUtils
|
||||
--------------------
|
||||
> public static java.lang.String random(int, int, int, boolean, boolean, char[], java.util.Random);
|
||||
|
||||
org.apache.commons.lang.CharSet
|
||||
--------------------
|
||||
< public class org.apache.commons.lang.CharSet extends java.lang.Object {
|
||||
---
|
||||
> public class org.apache.commons.lang.CharSet extends java.lang.Object implements java.io.Serializable {
|
||||
> public static final org.apache.commons.lang.CharSet EMPTY;
|
||||
> public static final org.apache.commons.lang.CharSet ASCII_ALPHA;
|
||||
> public static final org.apache.commons.lang.CharSet ASCII_ALPHA_LOWER;
|
||||
> public static final org.apache.commons.lang.CharSet ASCII_ALPHA_UPPER;
|
||||
> public static final org.apache.commons.lang.CharSet ASCII_NUMERIC;
|
||||
> protected static final java.util.Map COMMON;
|
||||
> public static org.apache.commons.lang.CharSet getInstance(java.lang.String);
|
||||
> protected org.apache.commons.lang.CharSet(java.lang.String);
|
||||
< public boolean contains(char);
|
||||
> public org.apache.commons.lang.CharRange getCharRanges()[];
|
||||
> public boolean contains(char);
|
||||
> public boolean equals(java.lang.Object);
|
||||
> public int hashCode();
|
||||
> static {};
|
||||
|
||||
org.apache.commons.lang.CharSetUtils
|
||||
--------------------
|
||||
> public static java.lang.String keep(java.lang.String, java.lang.String);
|
||||
> public static java.lang.String keep(java.lang.String, java.lang.String[]);
|
||||
|
||||
org.apache.commons.lang.builder.ToStringBuilder
|
||||
--------------------
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle,java.lang.StringBuffer);
|
||||
< public static void setDefaultStyle(org.apache.commons.lang.builder.ToStringStyle);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object, boolean);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(long);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(int);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(short);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(char);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char);
|
||||
---
|
||||
> public static java.lang.String reflectionToString(java.lang.Object, org.apache.commons.lang.builder.ToStringStyle, boolean, java.lang.Class);
|
||||
> public static void setDefaultStyle(org.apache.commons.lang.builder.ToStringStyle);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle,java.lang.StringBuffer);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(boolean[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, byte);
|
||||
---
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(byte[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(char);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(char[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, double);
|
||||
---
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(double[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, float);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(boolean);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[], boolean);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(long[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[], boolean);
|
||||
---
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(float[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(int);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[], boolean);
|
||||
---
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(long);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(long[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(short);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[], boolean);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(char[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[], boolean);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(byte[]);
|
||||
---
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[], boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, byte);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(double[]);
|
||||
---
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[], boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, double);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(float[]);
|
||||
---
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, float);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(boolean[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[]);
|
||||
< public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[], boolean);
|
||||
---
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[], boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[], boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object, boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[], boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[]);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[], boolean);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder appendAsObjectToString(java.lang.Object);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder appendSuper(java.lang.String);
|
||||
> public org.apache.commons.lang.builder.ToStringBuilder appendToString(java.lang.String);
|
||||
> public org.apache.commons.lang.builder.ToStringStyle getStyle();
|
||||
> public java.lang.Object getObject();
|
||||
|
||||
org.apache.commons.lang.builder.StandardToStringStyle
|
||||
--------------------
|
||||
> public boolean isUseShortClassName();
|
||||
> public void setUseShortClassName(boolean);
|
||||
> public boolean isFieldSeparatorAtStart();
|
||||
> public void setFieldSeparatorAtStart(boolean);
|
||||
> public boolean isFieldSeparatorAtEnd();
|
||||
> public void setFieldSeparatorAtEnd(boolean);
|
||||
|
||||
org.apache.commons.lang.builder.ToStringStyle
|
||||
--------------------
|
||||
> public void appendSuper(java.lang.StringBuffer, java.lang.String);
|
||||
> public void appendToString(java.lang.StringBuffer, java.lang.String);
|
||||
> protected void removeLastFieldSeparator(java.lang.StringBuffer);
|
||||
> protected void reflectionAppendArrayDetail(java.lang.StringBuffer, java.lang.String, java.lang.Object);
|
||||
> protected boolean isUseShortClassName();
|
||||
> protected void setUseShortClassName(boolean);
|
||||
> protected boolean isFieldSeparatorAtStart();
|
||||
> protected void setFieldSeparatorAtStart(boolean);
|
||||
> protected boolean isFieldSeparatorAtEnd();
|
||||
> protected void setFieldSeparatorAtEnd(boolean);
|
||||
|
||||
org.apache.commons.lang.builder.HashCodeBuilder
|
||||
--------------------
|
||||
> public static int reflectionHashCode(int, int, java.lang.Object, boolean, java.lang.Class);
|
||||
> public org.apache.commons.lang.builder.HashCodeBuilder appendSuper(int);
|
||||
|
||||
org.apache.commons.lang.builder.CompareToBuilder
|
||||
--------------------
|
||||
> public static int reflectionCompare(java.lang.Object, java.lang.Object, boolean, java.lang.Class);
|
||||
> public org.apache.commons.lang.builder.CompareToBuilder appendSuper(int);
|
||||
> public org.apache.commons.lang.builder.CompareToBuilder append(java.lang.Object, java.lang.Object, java.util.Comparator);
|
||||
> public org.apache.commons.lang.builder.CompareToBuilder append(java.lang.Object[], java.lang.Object[], java.util.Comparator);
|
||||
|
||||
org.apache.commons.lang.builder.EqualsBuilder
|
||||
--------------------
|
||||
> public static boolean reflectionEquals(java.lang.Object, java.lang.Object, boolean, java.lang.Class);
|
||||
> public org.apache.commons.lang.builder.EqualsBuilder appendSuper(boolean);
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
$Id: RELEASE-NOTES.txt 179435 2005-06-01 22:19:20Z stevencaswell $
|
||||
|
||||
Commons Lang Package
|
||||
Version 2.1
|
||||
Release Notes
|
||||
|
||||
|
||||
INTRODUCTION:
|
||||
|
||||
This document contains the release notes for the 2.1 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:
|
||||
|
||||
- The Nestable interface defines the method indexOfThrowable(Class).
|
||||
Previously the implementations checked only for a specific Class.
|
||||
Now they check for subclasses of that Class as well.
|
||||
For most situations this will be the expected behaviour (ie. its a bug fix).
|
||||
If it causes problems, please use the ExceptionUtils.indexOfThrowable(Class) method instead.
|
||||
Note that the ExceptionUtils method is available in v1.0 and v2.0 of commons-lang and has not been changed.
|
||||
(An alternative to this is to change the public static matchSubclasses flag on NestableDelegate.
|
||||
However, we don't recommend that as a long-term solution.)
|
||||
|
||||
- The StopWatch class has had much extra validation added.
|
||||
If your code previously relied on unusual aspects, it may no longer work.
|
||||
|
||||
- Starting with version 2.1, Ant version 1.6.x is required to build. Copy
|
||||
junit.jar to ANT_HOME/lib. You can get JUnit from http://www.junit.org. See the developer's guide
|
||||
for more details.
|
||||
|
||||
|
||||
DEPRECATIONS:
|
||||
|
||||
- The enum package has been renamed to enums for JDK1.5 compilance.
|
||||
All functionality is identical, just the package has changed.
|
||||
This package will be removed in v3.0.
|
||||
|
||||
- NumberUtils.stringToInt - renamed to toInt
|
||||
|
||||
- DateUtils - four constants, MILLIS_IN_* have been deprecated as they were defined
|
||||
as int not long. The replacements are MILLIS_PER_*.
|
||||
|
||||
|
||||
NEW FEATURES:
|
||||
|
||||
New:
|
||||
- Mutable package - contains basic classes that hold an Object or primitive
|
||||
and provide both get and set methods.
|
||||
- DurationFormatUtils - provides various methods for formatting durations
|
||||
- CharEncoding - definitions of constants for character encoding work
|
||||
- CharUtils - utilities for working with characters
|
||||
|
||||
Updated:
|
||||
- ArrayUtils - many more methods, especially List-like methods
|
||||
- BooleanUtils - isTrue and isFalse methods that handle null
|
||||
- ClassUtils - primitive to wrapper class conversion methods
|
||||
- ClassUtils - class name comparator
|
||||
- IllegalClassException - extra constructor for common instanceof case
|
||||
- NotImplementedException - supports nested exceptions
|
||||
- ObjectUtils - hashcode method handling null
|
||||
- StringUtils - isAsciiPrintable to check the contents of a string
|
||||
-- ordinalIndexOf to find the nth index of a string
|
||||
-- various remove methods to remove parts of a string
|
||||
-- various split methods to provide more control over splitting a string
|
||||
-- defaultIfEmpty to default a string if null or empty
|
||||
- SystemUtils - methods to get system properties as File objects
|
||||
-- extra constants representing system properties
|
||||
- Validate - new methods to check whether all elements in a collection are of a specific type
|
||||
- WordUtils - new methods to capitalize based on a set of specified delimiters
|
||||
|
||||
- EqualsBuilder - now provides setter to internal state
|
||||
- ToStringStyle - new style, short prefix style
|
||||
- ReflectionToStringBuilder - more flags to control the output with regards to statics
|
||||
|
||||
- ExceptionUtils - added indexOfType methods that check subclasses, thus leaving the existing
|
||||
indexOfThrowable method untouched (see incompatible changes section)
|
||||
|
||||
- NumberUtils - various string to number parsing methods added
|
||||
|
||||
- DateUtils - methods added to compare dates in various ways
|
||||
-- method to parse a date string using multiple patterns
|
||||
- FastDateFormat - extra formatting methods that take in a millisecond long value
|
||||
-- additional static factory methods
|
||||
- StopWatch - new methods for split behaviour
|
||||
|
||||
|
||||
BUG FIXES:
|
||||
|
||||
19331 General case: infinite loop: ToStringBuilder.reflectionToString
|
||||
23174 EqualsBuilder.append(Object[], Object[]) throws NPE
|
||||
23356 Make DurationFormatUtils public!
|
||||
23557 WordUtils.capitalizeFully(String str) should take a delimiters
|
||||
23683 New method for converting a primitive Class to its corresponding wrapper
|
||||
23430 Minor javadoc fixes for StringUtils.contains(String, String)
|
||||
23590 make optional parameters in FastDateFormat really optional
|
||||
24056 Documentation error in StringUtils.replace
|
||||
25227 StringEscapeUtils.unescapeHtml() doesn't handle hex entities
|
||||
25454 new StringUtils.replaceChars behaves differently from old Ch
|
||||
25560 DateUtils.truncate() is off by one hour when using a date in DST switch 'zone'
|
||||
25627 DateUtils constants should be long
|
||||
25683 Add method that validates Collection elements are a correct
|
||||
25849 Add SystemUtils methods for directory properties.
|
||||
26616 ClassCastException in Enum.equals(Object)
|
||||
26699 Tokenizer Enhancements: reset input string, static CSV
|
||||
26734 NullPointerException in EqualsBuilder.append(Object[], Object[])
|
||||
26877 Add SystemUtils.AWT_TOOLKIT and others.
|
||||
26922 public static boolean DateUtils.equals(Date dt1, Date dt2)
|
||||
27592 WordUtils capitalize improvement
|
||||
27876 ReflectionToStringBuilder.toString(null) throws exception by design
|
||||
27877 Make ClassUtils methods null-safe and not throw an IAE.
|
||||
28468 StringUtils.defaultString: Documentation error
|
||||
28554 Add hashCode-support to class ObjectUtils
|
||||
29082 Enhancement of ExceptionUtils.CAUSE_METHOD_NAMES
|
||||
29149 StringEscapeUtils.unescapeHtml() doesn't handle an empty entity
|
||||
29294 lang.math.Fraction class deficiencies
|
||||
29673 ExceptionUtils: new getCause() methodname (for tomcat)
|
||||
29794 Add convenience format(long) methods to FastDateForma
|
||||
30328 HashCodeBuilder does not use the same values as Boolean (fixed as documentation)
|
||||
30334 New class proposal: CharacterEncoding
|
||||
30674 parseDate class from HttpClient's DateParser class
|
||||
30815 ArrayUtils.isEquals() throws ClassCastException when array1
|
||||
30929 Nestable.indexOfThrowable(Class) uses Class.equals() to match
|
||||
31395 DateUtils.truncate oddity at the far end of the Date spectrum
|
||||
31478 Compile error with JDK 5 "enum" is a keyword
|
||||
31572 o.a.c.lang.enum.ValuedEnum: 'enum'is a keyword in JDK1.5.0
|
||||
31933 ToStringStyle setArrayEnd handled null incorrectly
|
||||
32133 SystemUtils fails init on HP-UX
|
||||
32198 Error in JavaDoc for StringUtils.chomp(String, String)
|
||||
32625 Can't subclass EqualsBuilder because isEquals is private
|
||||
33067 EqualsBuilder.append(Object[], Object[]) crashes with a NullPointerException if an element of the first array is null
|
||||
33069 EqualsBuilder.append(Object[], Object[]) incorrectly checks that rhs[i] is instance of lhs[i]'s class
|
||||
33574 unbalanced ReflectionToStringBuilder
|
||||
33737 ExceptionUtils.addCauseMethodName(String) does not check for duplicates.
|
|
@ -0,0 +1,112 @@
|
|||
$Id: RELEASE-NOTES.txt 447139 2006-09-17 20:36:53Z bayard $
|
||||
|
||||
Commons Lang Package
|
||||
Version 2.2
|
||||
Release Notes
|
||||
|
||||
|
||||
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
|
||||
|
||||
ADDITIONAL INCOMPATIBLE CHANGES WITH VERSION 2.0:
|
||||
|
||||
- The Nestable interface defines the method indexOfThrowable(Class).
|
||||
Previously the implementations checked only for a specific Class.
|
||||
Now they check for subclasses of that Class as well.
|
||||
For most situations this will be the expected behaviour (ie. its a bug fix).
|
||||
If it causes problems, please use the ExceptionUtils.indexOfThrowable(Class) method instead.
|
||||
Note that the ExceptionUtils method is available in v1.0 and v2.0 of commons-lang and has not been changed.
|
||||
(An alternative to this is to change the public static matchSubclasses flag on NestableDelegate.
|
||||
However, we don't recommend that as a long-term solution.)
|
||||
|
||||
- The StopWatch class has had much extra validation added.
|
||||
If your code previously relied on unusual aspects, it may no longer work.
|
||||
|
||||
- Starting with version 2.1, Ant version 1.6.x is required to build. Copy
|
||||
junit.jar to ANT_HOME/lib. You can get JUnit from http://www.junit.org. See the developer's guide
|
||||
for more details.
|
||||
|
||||
DEPRECATIONS FROM 2.1 to 2.2:
|
||||
|
||||
- None
|
||||
|
||||
DEPRECATIONS FROM 2.0 to 2.1:
|
||||
|
||||
- The enum package has been renamed to enums for JDK1.5 compilance.
|
||||
All functionality is identical, just the package has changed.
|
||||
This package will be removed in v3.0.
|
||||
|
||||
- NumberUtils.stringToInt - renamed to toInt
|
||||
|
||||
- DateUtils - four constants, MILLIS_IN_* have been deprecated as they were defined
|
||||
as int not long. The replacements are MILLIS_PER_*.
|
||||
|
||||
|
||||
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 <unit>s" 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
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
$Id: RELEASE-NOTES.txt 504353 2007-02-06 22:52:29Z bayard $
|
||||
|
||||
Commons Lang Package
|
||||
Version 2.3
|
||||
Release Notes
|
||||
|
||||
|
||||
INTRODUCTION:
|
||||
|
||||
This document contains the release notes for the 2.3 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.2:
|
||||
|
||||
- Calling stop on a suspended StopWatch will no longer change the underlying time.
|
||||
It's very unlikely anyone was relying on that bug as a feature.
|
||||
|
||||
ADDITIONAL INCOMPATIBLE CHANGES WITH VERSION 2.0:
|
||||
|
||||
- The Nestable interface defines the method indexOfThrowable(Class).
|
||||
Previously the implementations checked only for a specific Class.
|
||||
Now they check for subclasses of that Class as well.
|
||||
For most situations this will be the expected behaviour (ie. its a bug fix).
|
||||
If it causes problems, please use the ExceptionUtils.indexOfThrowable(Class) method instead.
|
||||
Note that the ExceptionUtils method is available in v1.0 and v2.0 of commons-lang and has not been changed.
|
||||
(An alternative to this is to change the public static matchSubclasses flag on NestableDelegate.
|
||||
However, we don't recommend that as a long-term solution.)
|
||||
|
||||
- The StopWatch class has had much extra validation added.
|
||||
If your code previously relied on unusual aspects, it may no longer work.
|
||||
|
||||
- Starting with version 2.1, Ant version 1.6.x is required to build. Copy
|
||||
junit.jar to ANT_HOME/lib. You can get JUnit from http://www.junit.org. See the developer's guide
|
||||
for more details.
|
||||
|
||||
DEPRECATIONS FROM 2.2 to 2.3:
|
||||
|
||||
- None
|
||||
|
||||
DEPRECATIONS FROM 2.1 to 2.2:
|
||||
|
||||
- None
|
||||
|
||||
DEPRECATIONS FROM 2.0 to 2.1:
|
||||
|
||||
- The enum package has been renamed to enums for JDK1.5 compilance.
|
||||
All functionality is identical, just the package has changed.
|
||||
This package will be removed in v3.0.
|
||||
|
||||
- NumberUtils.stringToInt - renamed to toInt
|
||||
|
||||
- DateUtils - four constants, MILLIS_IN_* have been deprecated as they were defined
|
||||
as int not long. The replacements are MILLIS_PER_*.
|
||||
|
||||
|
||||
BUG FIXES IN 2.3:
|
||||
|
||||
* [LANG-69 ] - ToStringBuilder throws StackOverflowError when an Object cycle exists
|
||||
* [LANG-102] - Refactor Entities methods
|
||||
* [LANG-153] - Can't XMLDecode an Enum
|
||||
* [LANG-262] - Use of enum prevents a classloader from being garbage collected resuling in out of memory exceptions.
|
||||
* [LANG-279] - HashCodeBuilder throws java.lang.StackOverflowError when an object contains a cycle.
|
||||
* [LANG-281] - DurationFormatUtils returns wrong result
|
||||
* [LANG-286] - Serialization - not backwards compatible
|
||||
* [LANG-292] - unescapeXml("&12345678;") should be "&12345678;"
|
||||
* [LANG-294] - StrBuilder.replaceAll and StrBuilder.deleteAll can throw ArrayIndexOutOfBoundsException.
|
||||
* [LANG-295] - StrBuilder contains usages of thisBuf.length when they should use size
|
||||
* [LANG-299] - Bug in method appendFixedWidthPadRight of class StrBuilder causes an ArrayIndexOutOfBoundsException
|
||||
* [LANG-300] - NumberUtils.createNumber throws NumberFormatException for one digit long
|
||||
* [LANG-303] - FastDateFormat.mRules is not transient or serializable
|
||||
* [LANG-304] - NullPointerException in isAvailableLocale(Locale)
|
||||
* [LANG-313] - Wrong behavior of Entities.unescape
|
||||
* [LANG-315] - StopWatch: suspend() acts as split(), if followed by stop()
|
||||
|
||||
IMPROVEMENTS IN 2.3:
|
||||
|
||||
* [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
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
$Id: RELEASE-NOTES.txt 637522 2008-03-16 03:41:46Z bayard $
|
||||
|
||||
Commons Lang Package
|
||||
Version 2.4
|
||||
Release Notes
|
||||
|
||||
|
||||
INTRODUCTION:
|
||||
|
||||
This document contains the release notes for the 2.4 version of Apache Commons Lang.
|
||||
Commons Lang is a set of utility functions and reusable components that should be of use in any Java environment.
|
||||
|
||||
Lang 2.4 no longer attempts to target the Java 1.1 environment and now targets Java 1.2. While previous versions
|
||||
were built for 1.1, some parts were using methods that were only available in 1.2, and the Enum class had
|
||||
become dependent on Java 1.3.
|
||||
|
||||
INCOMPATIBLE CHANGES WITH VERSION 2.3:
|
||||
|
||||
- None
|
||||
|
||||
INCOMPATIBLE CHANGES WITH VERSION 2.2:
|
||||
|
||||
- Calling stop on a suspended StopWatch will no longer change the underlying time.
|
||||
It's very unlikely anyone was relying on that bug as a feature.
|
||||
|
||||
ADDITIONAL INCOMPATIBLE CHANGES WITH VERSION 2.0:
|
||||
|
||||
- The Nestable interface defines the method indexOfThrowable(Class).
|
||||
Previously the implementations checked only for a specific Class.
|
||||
Now they check for subclasses of that Class as well.
|
||||
For most situations this will be the expected behaviour (ie. its a bug fix).
|
||||
If it causes problems, please use the ExceptionUtils.indexOfThrowable(Class) method instead.
|
||||
Note that the ExceptionUtils method is available in v1.0 and v2.0 of commons-lang and has not been changed.
|
||||
(An alternative to this is to change the public static matchSubclasses flag on NestableDelegate.
|
||||
However, we don't recommend that as a long-term solution.)
|
||||
|
||||
- The StopWatch class has had much extra validation added.
|
||||
If your code previously relied on unusual aspects, it may no longer work.
|
||||
|
||||
- Starting with version 2.1, Ant version 1.6.x is required to build. Copy
|
||||
junit.jar to ANT_HOME/lib. You can get JUnit from http://www.junit.org. See the developer's guide
|
||||
for more details.
|
||||
|
||||
DEPRECATIONS FROM 2.3 to 2.4:
|
||||
|
||||
- ObjectUtils.appendIdentityToString(StringBuffer, Object) - has very odd semantics, use
|
||||
ObjectUtils.identityToString(StringBuffer, Object) instead.
|
||||
|
||||
- public static java.util.Date add(java.util.Date, int, int) - it is not intended for this
|
||||
method to be public. Please let us know if you use this.
|
||||
|
||||
DEPRECATIONS FROM 2.2 to 2.3:
|
||||
|
||||
- None
|
||||
|
||||
DEPRECATIONS FROM 2.1 to 2.2:
|
||||
|
||||
- None
|
||||
|
||||
DEPRECATIONS FROM 2.0 to 2.1:
|
||||
|
||||
- The enum package has been renamed to enums for JDK1.5 compilance.
|
||||
All functionality is identical, just the package has changed.
|
||||
This package will be removed in v3.0.
|
||||
|
||||
- NumberUtils.stringToInt - renamed to toInt
|
||||
|
||||
- DateUtils - four constants, MILLIS_IN_* have been deprecated as they were defined
|
||||
as int not long. The replacements are MILLIS_PER_*.
|
||||
|
||||
|
||||
BUG FIXES IN 2.4:
|
||||
|
||||
* [LANG-76 ] - EnumUtils.getEnum() doesn't work well in 1.5
|
||||
* [LANG-328] - LocaleUtils.toLocale() rejects strings with only language+variant
|
||||
* [LANG-334] - Enum is not thread-safe
|
||||
* [LANG-346] - Dates.round() behaves incorrectly for minutes and seconds
|
||||
* [LANG-349] - Deadlock using ReflectionToStringBuilder
|
||||
* [LANG-353] - Javadoc Example for EqualsBuilder is questionable
|
||||
* [LANG-360] - Why does appendIdentityToString return null?
|
||||
* [LANG-361] - BooleanUtils toBooleanObject javadoc does not match implementation
|
||||
* [LANG-363] - StringEscapeUtils..escapeJavaScript() method did not escape '/' into '\/', it will make IE render page uncorrectly
|
||||
* [LANG-364] - Documentation bug for ignoreEmptyTokens accessors in StrTokenizer
|
||||
* [LANG-365] - BooleanUtils.toBoolean() - invalid drop-thru in case statement causes StringIndexOutOfBoundsException
|
||||
* [LANG-367] - FastDateFormat thread safety
|
||||
* [LANG-368] - FastDateFormat getDateInstance() and getDateTimeInstance() assume Locale.getDefault() won't change
|
||||
* [LANG-369] - ExceptionUtils not thread-safe
|
||||
* [LANG-372] - ToStringBuilder: MULTI_LINE_STYLE does not print anything from appendToString methods.
|
||||
* [LANG-380] - infinite loop in Fraction.reduce when numerator == 0
|
||||
* [LANG-381] - NumberUtils.min(floatArray) returns wrong value if floatArray[0] happens to be Float.NaN
|
||||
* [LANG-385] - http://commons.apache.org/lang/developerguide.html "Building" section is incorrect and incomplete
|
||||
* [LANG-393] - EqualsBuilder don't compare BigDecimals correctly
|
||||
* [LANG-399] - Javadoc bugs - cannot find object
|
||||
* [LANG-410] - Ambiguous / confusing names in StringUtils replace* methods
|
||||
* [LANG-412] - StrBuilder appendFixedWidth does not handle nulls
|
||||
* [LANG-414] - DateUtils.round() often fails
|
||||
|
||||
IMPROVEMENTS IN 2.4:
|
||||
|
||||
* [LANG-180] - adding a StringUtils.replace method that takes an array or List of replacement strings
|
||||
* [LANG-192] - Split camel case strings
|
||||
* [LANG-257] - Add new splitByWholeSeparatorPreserveAllTokens() methods to StringUtils
|
||||
* [LANG-269] - Shouldn't Commons Lang's StringUtils have a "common" string method?
|
||||
* [LANG-298] - ClassUtils.getShortClassName and ClassUtils.getPackageName and class of array
|
||||
* [LANG-321] - 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-371] - ToStringStyle javadoc should show examples of styles
|
||||
* [LANG-374] - Add escaping for CSV columns to StringEscapeUtils
|
||||
* [LANG-375] - add SystemUtils.IS_OS_WINDOWS_VISTA field
|
||||
* [LANG-379] - Calculating A date fragment in any time-unit
|
||||
* [LANG-383] - Adding functionality to DateUtils to allow direct setting of various fields.
|
||||
* [LANG-402] - OSGi-ify Lang
|
||||
* [LANG-404] - Add Calendar flavour format methods to DateFormatUtils
|
||||
* [LANG-407] - StringUtils.length(String) returns null-safe length
|
||||
* [LANG-413] - Memory usage improvement for StringUtils#getLevenshteinDistance()
|
|
@ -0,0 +1,83 @@
|
|||
$Id: RELEASE-NOTES.txt 912439 2010-02-21 23:27:03Z niallp $
|
||||
|
||||
Commons Lang Package
|
||||
Version 2.5
|
||||
Release Notes
|
||||
|
||||
|
||||
INTRODUCTION:
|
||||
|
||||
This document contains the release notes for the 2.5 version of Apache Commons Lang.
|
||||
Commons Lang is a set of utility functions and reusable components that should be of use in any Java environment.
|
||||
|
||||
|
||||
COMPATIBILITY WITH 2.4
|
||||
======================
|
||||
Lang 2.5 is binary compatible release with Lang 2.4, containing bug fixes and small enhancements.
|
||||
|
||||
Lang 2.5 requires a minimum of JDK 1.3.
|
||||
|
||||
|
||||
IMPROVEMENTS IN 2.5
|
||||
===================
|
||||
|
||||
* [LANG-583] - ArrayUtils - add isNotEmpty() methods
|
||||
* [LANG-534] - ArrayUtils - add nullToEmpty() methods
|
||||
* [LANG-454] - CharRange - provide an iterator that lets you walk the chars in the range
|
||||
* [LANG-514] - CharRange - add more readable static builder methods
|
||||
* [ ] - ClassUtils - new isAssignable() methods with autoboxing
|
||||
* [LANG-535] - ClassUtils - add support to getShortClassName and getPackageName for arrays
|
||||
* [LANG-434] - DateUtils - add ceiling() method
|
||||
* [LANG-486] - DateUtils - add parseDateStrictly() method
|
||||
* [LANG-466] - EqualsBuilder - add reset() method
|
||||
* [LANG-461] - NumberUtils - add toByte() and toShort() methods
|
||||
* [LANG-522] - Mutable numbers - add string constructors
|
||||
* [ ] - MutableBoolean - add toBoolean(), isTrue() and isFalse() methods
|
||||
* [LANG-422] - StrBuilder - add appendSeparator() methods with an alternative default separator if the StrBuilder is currently empty
|
||||
* [LANG-555] - SystemUtils - add IS_OS_WINDOWS_7 constant
|
||||
* [LANG-554] - SystemUtils - add IS_JAVA_1_7 constant for JDK 1.7
|
||||
* [LANG-405] - StringUtils - add abbreviateMiddle() method
|
||||
* [LANG-569] - StringUtils - add indexOfIgnoreCase() and lastIndexOfIgnoreCase() methods
|
||||
* [LANG-471] - StringUtils - add isAllUpperCase() and isAllLowerCase() methods
|
||||
* [LANG-469] - StringUtils - add lastOrdinalIndexOf() method to complement the existing ordinalIndexOf() method
|
||||
* [LANG-438] - StringUtils - add repeat() method
|
||||
* [LANG-445] - StringUtils - add startsWithAny() method
|
||||
* [LANG-430] - StringUtils - add upperCase(String, Locale) and lowerCase(String, Locale) methods
|
||||
* [LANG-416] - New Reflection package containing ConstructorUtils, FieldUtils, MemberUtils and MethodUtils
|
||||
|
||||
BUG FIXES IN 2.5
|
||||
================
|
||||
|
||||
* [LANG-494] - CharSet - Synchronizing the COMMON Map so that getInstance doesn't miss a put from a subclass in another thread
|
||||
* [LANG-500] - ClassUtils - improving performance of getAllInterfaces
|
||||
* [LANG-587] - ClassUtils - toClass() throws NullPointerException on null array element
|
||||
* [LANG-530] - DateUtils - Fix parseDate() cannot parse ISO8601 dates produced by FastDateFormat
|
||||
* [LANG-440] - DateUtils - round() doesn't work correct for Calendar.AM_PM
|
||||
* [LANG-443] - DateUtils - improve tests
|
||||
* [LANG-204] - Entities - multithreaded initialization
|
||||
* [LANG-506] - Entities - missing final modifiers; thread-safety issues
|
||||
* [LANG-76] - EnumUtils - getEnum() doesn't work well in 1.5+
|
||||
* [LANG-584] - ExceptionUtils - use immutable lock target
|
||||
* [LANG-477] - ExtendedMessageFormat - OutOfMemory with a pattern containing single quotes
|
||||
* [LANG-538] - FastDateFormat - call getTime() on a calendar to ensure timezone is in the right state
|
||||
* [LANG-547] - FastDateFormat - Remove unused field
|
||||
* [LANG-511] - LocaleUtils - initialization of available locales can be deferred
|
||||
* [LANG-457] - NumberUtils - createNumber() thows a StringIndexOutOfBoundsException for "l"
|
||||
* [LANG-521] - NumberUtils - isNumber(String) and createNumber(String) both modified to support '2.'
|
||||
* [LANG-432] - StringUtils - improve handling of case-insensitive Strings
|
||||
* [LANG-552] - StringUtils - replaceEach() no longer NPEs when null appears in the last String[]
|
||||
* [LANG-460] - StringUtils - correct JavaDocs for startsWith() and startsWithIgnoreCase()
|
||||
* [LANG-421] - StringEscapeUtils - escapeJava() escapes '/' characters
|
||||
* [LANG-450] - StringEscapeUtils - change escapeJavaStyleString() to throw UnhandledException instead swallowing IOException
|
||||
* [LANG-419] - WordUtils - fix StringIndexOutOfBoundsException when lower is greater than the String length
|
||||
* [LANG-523] - StrBuilder - Performance improvement by doubling the size of the String in ensureCapacity
|
||||
* [LANG-575] - Compare, Equals and HashCode builders - use ArrayUtils to avoid creating a temporary List
|
||||
* [LANG-467] - EqualsBuilder - removing the special handling of BigDecimal (LANG-393) to use compareTo
|
||||
* [LANG-574] - HashCodeBuilder - Performance improvement: check for isArray to short-circuit the 9 instanceof checks
|
||||
* [LANG-520] - HashCodeBuilder - Changing the hashCode() method to return toHashCode()
|
||||
* [LANG-459] - HashCodeBuilder - reflectionHashCode() can generate incorrect hashcodes
|
||||
* [LANG-586] - HashCodeBuilder and ToStringStyle - use of ThreadLocal causes memory leaks in container environments
|
||||
* [LANG-487] - ToStringBuilder - make default style thread-safe
|
||||
* [LANG-472] - RandomUtils - nextLong() always produces even numbers
|
||||
* [LANG-592] - RandomUtils - RandomUtils tests are failing frequently
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
$Id: RELEASE-NOTES.txt 1058313 2011-01-12 20:59:27Z niallp $
|
||||
|
||||
Commons Lang Package
|
||||
Version 2.6
|
||||
Release Notes
|
||||
|
||||
|
||||
INTRODUCTION:
|
||||
|
||||
This document contains the release notes for the 2.6 version of Apache Commons Lang.
|
||||
Commons Lang is a set of utility functions and reusable components that should be of use in any Java environment.
|
||||
|
||||
|
||||
COMPATIBILITY WITH 2.5
|
||||
======================
|
||||
Lang 2.6 is binary compatible release with Lang 2.5, containing bug fixes and small enhancements.
|
||||
|
||||
Lang 2.6 requires a minimum of JDK 1.3.
|
||||
|
||||
|
||||
IMPROVEMENTS IN 2.6
|
||||
===================
|
||||
|
||||
* [LANG-633] - BooleanUtils: use same optimization in toBooleanObject(String) as in toBoolean(String)
|
||||
* [LANG-599] - ClassUtils: allow Dots as Inner Class Separators in getClass()
|
||||
* [LANG-594] - DateUtils: equal and compare functions up to most significant field
|
||||
* [LANG-632] - DateUtils: provide a Date to Calendar convenience method
|
||||
* [LANG-576] - ObjectUtils: add clone methods to ObjectUtils
|
||||
* [LANG-667] - ObjectUtils: add a Null-safe compare() method
|
||||
* [LANG-670] - ObjectUtils: add notEqual() method
|
||||
* [LANG-302] - StrBuilder: implement clone() method
|
||||
* [LANG-640] - StringUtils: add a normalizeSpace() method
|
||||
* [LANG-614] - StringUtils: add endsWithAny() method
|
||||
* [LANG-655] - StringUtils: add defaultIfBlank() method
|
||||
* [LANG-596] - StrSubstitutor: add a replace(String, Properties) variant
|
||||
* [LANG-482] - StrSubstitutor: support substitution in variable names
|
||||
* [LANG-669] - Use StrBuilder instead of StringBuffer to improve performance where sync. is not an issue
|
||||
|
||||
BUG FIXES IN 2.6
|
||||
================
|
||||
|
||||
* [LANG-629] - CharSet: make the underlying set synchronized
|
||||
* [LANG-635] - CompareToBuilder: fix passing along compareTransients to the reflectionCompare method
|
||||
* [LANG-636] - ExtendedMessageFormat doesn't override equals(Object)
|
||||
* [LANG-645] - FastDateFormat: fix to properly include the locale when formatting a Date
|
||||
* [LANG-638] - NumberUtils: createNumber() throws a StringIndexOutOfBoundsException when argument containing "e" and "E" is passed in
|
||||
* [LANG-607] - StringUtils methods do not handle Unicode 2.0+ supplementary characters correctly
|
||||
* [LANG-624] - SystemUtils: getJavaVersionAsFloat throws StringIndexOutOfBoundsException on Android runtime/Dalvik VM
|
||||
* [BEANUTILS-381] - MemberUtils: getMatchingAccessibleMethod does not correctly handle inheritance and method overloading
|
||||
|
||||
OTHER CHANGES IN 2.6
|
||||
====================
|
||||
|
||||
* [LANG-600] - Javadoc is incorrect for lastIndexOf() method
|
||||
* [LANG-628] - Javadoc for HashCodeBuilder.append(boolean) does not match implementation
|
||||
* [LANG-643] - Javadoc StringUtils.left() claims to throw an exception on negative lenth, but doesn't
|
||||
* [LANG-370] - Javadoc - document thread safety
|
||||
* [LANG-623] - Test for StringUtils replaceChars() icelandic characters
|
||||
|
Loading…
Reference in New Issue