aboutsummaryrefslogtreecommitdiff
path: root/src/site/xdoc/upgradeto2_1.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/site/xdoc/upgradeto2_1.xml')
-rw-r--r--src/site/xdoc/upgradeto2_1.xml163
1 files changed, 163 insertions, 0 deletions
diff --git a/src/site/xdoc/upgradeto2_1.xml b/src/site/xdoc/upgradeto2_1.xml
new file mode 100644
index 000000000..bc279cf28
--- /dev/null
+++ b/src/site/xdoc/upgradeto2_1.xml
@@ -0,0 +1,163 @@
+<?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>2.1 Release Notes</title>
+ <author email="dev@commons.apache.org">Commons Documentation Team</author>
+ </properties>
+<body>
+
+<section name="Lang 2.1 Release Notes">
+<p>
+These are the release notes and advice for upgrading Commons-Lang from
+version 2.0 to version 2.1.
+<source>
+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 behavior (i.e. it's 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 https://www.junit.org. See the developer's guide
+for more details.
+
+
+DEPRECATIONS:
+
+- The enum package has been renamed to enums for JDK 1.5 compliance.
+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 behavior
+
+
+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 JDK 1.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.
+</source>
+</p>
+</section>
+
+</body>
+</document>