117 lines
4.8 KiB
XML
117 lines
4.8 KiB
XML
<?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>Upgrade from 2.2 to 2.3</title>
|
|
<author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
|
|
</properties>
|
|
<body>
|
|
|
|
<section name="Upgrade">
|
|
<p>
|
|
These are the release notes and advice for upgrading Commons-Lang from
|
|
version 2.2 to version 2.3.
|
|
<source>
|
|
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:
|
|
|
|
- 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.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
|
|
|
|
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
|
|
|
|
</source>
|
|
</p>
|
|
</section>
|
|
|
|
</body>
|
|
</document>
|