diff options
Diffstat (limited to 'src/site/xdoc/upgradeto2_1.xml')
-rw-r--r-- | src/site/xdoc/upgradeto2_1.xml | 163 |
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> |