Updating the site for 3.0

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1076542 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Henri Yandell 2011-03-03 07:15:07 +00:00
parent 3ff4ee6c28
commit 3ed85bb87d
6 changed files with 130 additions and 160 deletions

View File

@ -1,7 +1,7 @@
$Id$ $Id$
Commons Lang Package Commons Lang Package
Version 3.0-beta Version 3.0
Release Notes Release Notes
@ -14,8 +14,9 @@ Java environment.
Lang 3.0 now targets Java 5.0, making use of features that arrived with Java 5.0 such as generics, Lang 3.0 now targets Java 5.0, making use of features that arrived with Java 5.0 such as generics,
variable arguments, autoboxing, concurrency and formatted output. variable arguments, autoboxing, concurrency and formatted output.
Note that this is a Beta release. The API is largely stable, and we're eager for feedback on For the latest advice on upgrading, see the following page:
the mailing list or issue tracker.
http://commons.apache.org/lang/article3_0.html
ADDITIONS IN 3.0 ADDITIONS IN 3.0
================ ================

View File

@ -28,7 +28,7 @@
<item name="Download" href="/download_lang.cgi"/> <item name="Download" href="/download_lang.cgi"/>
<item name="Users guide" href="/userguide.html"/> <item name="Users guide" href="/userguide.html"/>
<item name="Release History" href="/release-history.html"/> <item name="Release History" href="/release-history.html"/>
<item name="Javadoc (2.6 release)" href="api-release/index.html"/> <item name="Javadoc (3.0 release)" href="api-release/index.html"/>
</menu> </menu>
<menu name="Development"> <menu name="Development">

View File

@ -22,12 +22,8 @@ limitations under the License.
</properties> </properties>
<body> <body>
<section name="DRAFT">
<p>THIS IS A DRAFT - 3.0 IS NOT OUT, BUT THIS DOCUMENT SHOULD PROVE USEFUL WHEN EXAMINING BETA RELEASES OR TRUNK</p>
</section>
<section name="What's new in Commons Lang 3.0?"> <section name="What's new in Commons Lang 3.0?">
<p>Commons Lang 3.0 is <strong>(not yet)</strong> out, and the obvious question is: <i>"So what? What's changed?"</i>.</p> <p>Commons Lang 3.0 is out, and the obvious question is: <i>"So what? What's changed?"</i>.</p>
<section name="The big story"> <section name="The big story">
<p>Lang is now Java 5 based. We've generified the API, moved certain APIs to support <code>varargs</code> and thrown out any features <p>Lang is now Java 5 based. We've generified the API, moved certain APIs to support <code>varargs</code> and thrown out any features
that are now supported by Java itself. We've removed the deprecated parts of the API and have also removed some features that that are now supported by Java itself. We've removed the deprecated parts of the API and have also removed some features that

View File

@ -47,8 +47,8 @@ together with various <a href="project-reports.html">project reports</a>.
The JavaDoc API documents are available online: The JavaDoc API documents are available online:
</p> </p>
<ul> <ul>
<li>The <a href="api-3.0-beta/index.html">beta release 3.0-beta</a></li> <li>The <a href="api-3.0/index.html">current stable release 3.0</a></li>
<li>The <a href="api-2.6/index.html">current stable release 2.6</a></li> <li>The <a href="api-2.6/index.html">legacy release 2.6</a></li>
<li>The <a href="api-2.5/index.html">previous version 2.5</a></li> <li>The <a href="api-2.5/index.html">previous version 2.5</a></li>
<li>The <a href="api-2.4/index.html">previous version 2.4</a></li> <li>The <a href="api-2.4/index.html">previous version 2.4</a></li>
<li>Older releases - see the <a href="release-history.html">Release History</a> page</li> <li>Older releases - see the <a href="release-history.html">Release History</a> page</li>
@ -61,13 +61,13 @@ The <a href="source-repository.html">subversion repository</a> can be
<!-- ================================================== --> <!-- ================================================== -->
<section name="Releases"> <section name="Releases">
<p> <p>
A beta version of the next release, Java 5.0 compatible, is available - A latest stable and Java 5.0 dependent version is available:
(<a href="http://commons.apache.org/lang/download_lang.cgi">download</a>) (<a href="http://commons.apache.org/lang/download_lang.cgi">download 3.0</a>)
(<a href="upgradeto3_0.html">draft changelog</a>) (<a href="article3_0.html">draft upgrade notes</a>). </p> (<a href="upgradeto3_0.html">changelog</a>) (<a href="article3_0.html">upgrade notes</a>). </p>
<p> <p>
The latest stable version 2.6, is JDK 1.3 compatible - The legacy JDK 1.3 compatible version is also available:
(<a href="http://commons.apache.org/lang/download_lang.cgi">download</a>) (<a href="http://commons.apache.org/lang/download_lang.cgi">download 2.6</a>)
(<a href="upgradeto2_6.html">release notes</a>). </p> (<a href="upgradeto2_6.html">release notes</a>). </p>
<p> <p>

View File

@ -28,6 +28,7 @@ limitations under the License.
<table> <table>
<tr><th>Version</th><th>Release date</th><th>Javadoc</th><th>Release notes</th></tr> <tr><th>Version</th><th>Release date</th><th>Javadoc</th><th>Release notes</th></tr>
<tr><td>3.0</td><td>??/Mar/11</td><td><a href="api-3.0/">api-3.0</a></td><td><a href="upgradeto3_0.html">release notes for 3.0</a></td></tr>
<tr><td>2.6</td><td>16/Jan/11</td><td><a href="api-2.6/">api-2.6</a></td><td><a href="upgradeto2_6.html">release notes for 2.6</a></td></tr> <tr><td>2.6</td><td>16/Jan/11</td><td><a href="api-2.6/">api-2.6</a></td><td><a href="upgradeto2_6.html">release notes for 2.6</a></td></tr>
<tr><td>2.5</td><td>23/Feb/10</td><td><a href="api-2.5/">api-2.5</a></td><td><a href="upgradeto2_5.html">release notes for 2.5</a></td></tr> <tr><td>2.5</td><td>23/Feb/10</td><td><a href="api-2.5/">api-2.5</a></td><td><a href="upgradeto2_5.html">release notes for 2.5</a></td></tr>
<tr><td>2.4</td><td>18/Mar/08</td><td><a href="api-2.4/">api-2.4</a></td><td><a href="upgradeto2_4.html">release notes for 2.4</a></td></tr> <tr><td>2.4</td><td>18/Mar/08</td><td><a href="api-2.4/">api-2.4</a></td><td><a href="upgradeto2_4.html">release notes for 2.4</a></td></tr>

View File

@ -24,8 +24,8 @@ limitations under the License.
<section name="Upgrade to 3.0"> <section name="Upgrade to 3.0">
<p> <p>
These are the release notes and advice for upgrading Commons-Lang from For advice on upgrading Commons-Lang from version 2.5 to version 3.0 see
version 2.5 to version 3.0. <br/><br/>See '<a href="article3_0.html">What's new in 3.0?</a>' for more information. '<a href="article3_0.html">What's new in 3.0?</a>'.
<source> <source>
INTRODUCTION: INTRODUCTION:
@ -36,155 +36,127 @@ Java environment.
Lang 3.0 now targets Java 5.0, making use of features that arrived with Java 5.0 such as generics, Lang 3.0 now targets Java 5.0, making use of features that arrived with Java 5.0 such as generics,
variable arguments, autoboxing, concurrency and formatted output. variable arguments, autoboxing, concurrency and formatted output.
ADDITIONS IN 3.0
================
[LANG-276] MutableBigDecimal and MutableBigInteger.
[LANG-285] Wish : method unaccent.
[LANG-358] ObjectUtils.coalesce.
[LANG-386] LeftOf/RightOfNumber in Range convenience methods necessary.
[LANG-435] Add ClassUtils.isAssignable() variants with autoboxing.
[LANG-444] StringUtils.emptyToNull.
[LANG-482] Enhance StrSubstitutor to support nested ${var-${subvr}} expansion
[LANG-482] StrSubstitutor now supports substitution in variable names.
[LANG-496] A generic implementation of the Lazy initialization pattern.
[LANG-497] Addition of ContextedException and ContextedRuntimeException.
[LANG-498] Add StringEscapeUtils.escapeText() methods.
[LANG-499] Add support for the handling of ExecutionExceptions.
[LANG-501] Add support for background initialization.
[LANG-529] Add a concurrent package.
[LANG-533] Validate: support for validating blank strings.
[LANG-537] Add ArrayUtils.toArray to create generic arrays.
[LANG-545] Add ability to create a Future for a constant.
[LANG-546] Add methods to Validate to check whether the index is valid for the array/list/string.
[LANG-553] Add TypeUtils class to provide utility code for working with generic types.
[LANG-559] Added isAssignableFrom and isInstanceOf validation methods.
[LANG-559] Added validState validation method.
[LANG-560] New TimedSemaphore class.
[LANG-582] Provide an implementation of the ThreadFactory interface.
[LANG-588] Create a basic Pair&lt;L, R&gt; class.
[LANG-594] DateUtils equal &amp; compare functions up to most significant field.
[LANG-601] Add Builder Interface / Update Builders to Implement It.
[LANG-609] Support lazy initialization using atomic variables
[LANG-610] Extend exception handling in ConcurrentUtils to runtime exceptions.
[LANG-614] StringUtils.endsWithAny method
[LANG-640] Add normalizeSpace to StringUtils
[LANG-644] Provide documentation about the new concurrent package
[LANG-649] BooleanUtils.toBooleanObject to support single character input
[LANG-651] Add AnnotationUtils
[LANG-653] Provide a very basic ConcurrentInitializer implementation
[LANG-655] Add StringUtils.defaultIfBlank()
[LANG-667] Add a Null-safe compare() method to ObjectUtils
[LANG-676] Documented potential NPE if auto-boxing occurs for some BooleanUtils methods
[LANG-678] Add support for ConcurrentMap.putIfAbsent()
REMOVALS IN 3.0
===============
[LANG-438] Remove @deprecateds.
[LANG-492] Remove code handled now by the JDK.
[LANG-493] Remove code that does not hold enough value to remain.
[LANG-590] Remove JDK 1.2/1.3 bug handling in StringUtils.indexOf(String, String, int).
[LANG-673] WordUtils.abbreviate() removed
IMPROVEMENTS IN 3.0 IMPROVEMENTS IN 3.0
=================== ===================
(to improve) [LANG-290] EnumUtils for JDK 5.0.
[LANG-336] Finally start using generics.
Sub-task [LANG-355] StrBuilder should implement CharSequence and Appendable.
[LANG-396] Investigate for vararg usages.
* [LANG-491] - ExceptionUtils + ExceptionUtilsTest needs an overhaul [LANG-424] Improve Javadoc for StringUtils class.
* [LANG-512] - Compare performance of replace method to regex in Java [LANG-458] Refactor Validate.java to eliminate code redundancy.
* [LANG-516] - Define standard for escape/unescape XML [LANG-479] Document where in SVN trunk is.
* [LANG-517] - Define standard for escape/unescape HTML [LANG-504] bring ArrayUtils.isEmpty to the generics world.
* [LANG-518] - Define standard for escape/unescape 'JavaScript' [LANG-505] Rewrite StringEscapeUtils.
* [LANG-519] - Define standard for escape/unescape Java [LANG-507] StringEscapeUtils.unescapeJava should support \u+ notation.
[LANG-513] Better EnumUtils.
Improvement [LANG-528] Mutable classes should implement an appropriately typed Mutable interface.
[LANG-539] Compile commons.lang for CDC 1.1/Foundation 1.1.
* [LANG-238] - Add equals(type[]) to NumberUtils [LANG-540] Make NumericEntityEscaper immutable.
* [LANG-280] - Improve wrap method on WordUtils [LANG-541] Replace StringBuffer with StringBuilder.
* [LANG-290] - EnumUtils for JDK 5.0 [LANG-548] Use Iterable on API instead of Collection.
* [LANG-293] - StringEscapeUtils.unescape* can be faster [LANG-551] Replace Range classes with generic version.
* [LANG-312] - DateFormatUtils.format with Timezone parameter "CET" produces wrong date in [LANG-562] Change Maven groupId.
summer time 1945 to 1949 [LANG-563] Change Java package name.
* [LANG-336] - Finally start using generics. [LANG-570] Do the test cases really still require main() and suite() methods?.
* [LANG-340] - performance problem with EqualsBuilder.append() [LANG-579] Add new Validate methods.
* [LANG-355] - StrBuilder should implement CharSequence and Appendable [LANG-599] ClassUtils.getClass(): Allow Dots as Inner Class Separators.
* [LANG-401] - Replace iteration loops with foreach where appropriate to increase readability [LANG-605] DefaultExceptionContext overwrites values in recursive situations.
* [LANG-420] - Rename ObjectUtils.toString() to asString(). [LANG-668] Change ObjectUtils min() &amp; max() functions to use varargs rather than just two parameters
* [LANG-424] - Improve Javadoc for StringUtils class [LANG-681] Push down WordUtils to "text" sub-package.
* [LANG-433] - clone() method for ObjectUtils
* [LANG-447] - String case-insensitive comparisons, equals, and hashing
* [LANG-458] - Refactor Validate.java to eliminate code redundancy
* [LANG-479] - Document where in SVN trunk is.
* [LANG-504] - bring ArrayUtils.isEmpty to the generics world
* [LANG-507] - StringEscapeUtils.unescapeJava should support \u+ notation
* [LANG-508] - Validate: add message parameter construction via elllipsis notation to
speed up processing
* [LANG-510] - Convert StringUtils API to take CharSequence
* [LANG-513] - Better EnumUtils
* [LANG-528] - Mutable classes should implement an appropriately typed Mutable interface
* [LANG-531] - Add defaultIfEmpty or nullIfEmpty to ArrayUtils
* [LANG-540] - Make NumericEntityEscaper immutable
* [LANG-548] - Use Iterable on API instead of Collection
* [LANG-558] - Overhaul Validate class
* [LANG-566] - Replace lastIndexOf methods with -ve index support?
* [LANG-570] - Do the test cases really still require main() and suite() methods?
* [LANG-579] - Add new Validate methods
* [LANG-597] - Add more utility methods for generic types
* [LANG-599] - ClassUtils.getClass(): Allow Dots as Inner Class Separators
* [LANG-605] - DefaultExceptionContext overwrites values in recursive situations
* [LANG-612] - Add ability to do only basic escape &amp; unescape to StringEscapeUtils
* [LANG-632] - provide a date2calendar convenience method
* [LANG-633] - Use same optimization in toBooleanObject(String) as in toBoolean(String str)
New Feature
* [LANG-276] - MutableBigDecimal and MutableBigInteger
* [LANG-283] - Visitors for Builders
* [LANG-285] - Wish : method unaccent
* [LANG-308] - CharUtils - Utilities to work on a char[] in the same way as a String
* [LANG-316] - Enable CaseInsensitivity in EqualsBuilder and HashCodeBuilder
* [LANG-324] - Weak references with time limit?
* [LANG-330] - Add StringBufferUtils or overload StringUtils methods
* [LANG-354] - Implementation of a CloneBuilder Class
* [LANG-358] - ObjectUtils.coalesce
* [LANG-373] - Quote regexp
* [LANG-386] - LeftOf/RightOfNumber in Range convenience methods necessary
* [LANG-435] - Add ClassUtils.isAssignable() variants with autoboxing
* [LANG-444] - StringUtils.emptyToNull
* [LANG-446] - Add null-safe ObjectUtils.clone()
* [LANG-496] - A generic implementation of the Lazy initialization pattern
* [LANG-497] - Addition of ContextedException and ContextedRuntimeException
* [LANG-498] - Add StringEscapeUtils.escapeText() methods
* [LANG-499] - Add support for the handling of ExecutionExceptions
* [LANG-501] - Add support for background initialization
* [LANG-524] - ArrayUtils.addAll for between Object arrays and Collections
* [LANG-529] - Add a concurrent package
* [LANG-533] - Validate: support for validating blank strings
* [LANG-537] - Add ArrayUtils.toArray to create generic arrays
* [LANG-545] - Add ability to create a Future for a constant
* [LANG-546] - Add methods to Validate to check whether the index is valid for the array/list/string
* [LANG-553] - Add TypeUtils class to provide utility code for working with generic types
* [LANG-559] - New Validate utility methods
* [LANG-560] - New TimedSemaphore class
* [LANG-573] - Add new APIs to StringUtils (countLowerCase, countUpperCase, countDigits)
* [LANG-576] - Add methods for cloneables to ObjectUtils
* [LANG-580] - Add Event Support Utilities
* [LANG-582] - Provide an implementation of the ThreadFactory interface
* [LANG-588] - Create a basic Pair&lt;L, R&gt; class
* [LANG-594] - DateUtils equal &amp; compare functions up to most significant field
* [LANG-601] - Add Builder Interface / Update Builders to Implement It
* [LANG-609] - Support lazy initialization using atomic variables
* [LANG-610] - Extend exception handling in ConcurrentUtils to runtime exceptions
* [LANG-625] - Add StringUtils.containsWhitespace(String str)
Task
* [LANG-396] - Investigate for vararg usages
* [LANG-398] - Annotations?
* [LANG-438] - Remove @deprecateds
* [LANG-490] - Note to rewrite package.html's before release.
* [LANG-492] - Remove code handled now by the JDK
* [LANG-493] - Remove code that does not hold enough value to remain
* [LANG-505] - Rewrite StringEscapeUtils
* [LANG-515] - Define standard escape/unescape behaviours
* [LANG-541] - Replace StringBuffer with StringBuilder
* [LANG-551] - Replace Range classes with generic version
* [LANG-562] - Change Maven groupId
* [LANG-563] - Change Java package name
* [LANG-590] - Remove JDK 1.2/1.3 bug handling in StringUtils.indexOf(String, String, int)
* [LANG-600] - Javadoc is incorrect for public static int lastIndexOf(String str, String searchStr)
Wish
* [LANG-425] - Sequence(String)Utils
* [LANG-539] - Compile commons.lang for CDC 1.1/Foundation 1.1
BUG FIXES IN 3.0 BUG FIXES IN 3.0
================ ================
* [LANG-11] - Depend on JDK 1.5+ [LANG-11] Depend on JDK 1.5+.
* [LANG-52] - Validate.notNull should throw NullArgumentException [LANG-302] StrBuilder does not implement clone().
* [LANG-66] - StringEscaper.escapeXml() escapes characters &gt; 0x7f [LANG-339] StringEscapeUtils.escapeHtml() escapes multibyte characters like Chinese, Japanes, etc.
* [LANG-302] - StrBuilder does not implement clone() [LANG-369] ExceptionUtils not thread-safe.
* [LANG-339] - StringEscapeUtils.escapeHtml() escapes multibyte characters like Chinese, Japanes, etc. [LANG-418] Javadoc incorrect for StringUtils.endsWithIgnoreCase.
* [LANG-369] - ExceptionUtils not thread-safe [LANG-428] StringUtils.isAlpha, isAlphanumeric and isNumeric now return false for ""
* [LANG-418] - Javadoc incorrect for StringUtils.endsWithIgnoreCase [LANG-439] StringEscapeUtils.escapeHTML() does not escape chars (0x00-0x20).
* [LANG-439] - StringEscapeUtils.escapeHTML() does not escape chars (0x00-0x20) [LANG-448] Lower Ascii Characters don't get encoded by Entities.java.
* [LANG-448] - Lower Ascii Characters don't get encoded by Entities.java [LANG-468] JDK 1.5 build/runtime failure on LANG-393 (EqualsBuilder).
* [LANG-468] - JDK 1.5 build/runtime failure on LANG-393 (EqualsBuilder) [LANG-474] Fixes for thread safety.
* [LANG-474] - Fixes for thread safety [LANG-478] StopWatch does not resist to system time changes.
* [LANG-478] - StopWatch does not resist to system time changes [LANG-480] StringEscapeUtils.escapeHtml incorrectly converts unicode characters above U+00FFFF into 2 characters.
* [LANG-480] - StringEscapeUtils.escapeHtml incorrectly converts unicode characters above U+00FFFF [LANG-481] Possible race-conditions in hashCode of the range classes.
into 2 characters [LANG-564] Improve StrLookup API documentation.
* [LANG-481] - Possible race-conditions in hashCode of the range classes [LANG-568] @SuppressWarnings("unchecked") is used too generally.
* [LANG-561] - unescapeHtml has been dropped without going through deprecation [LANG-571] ArrayUtils.add(T[] array, T element) can create unexpected ClassCastException.
* [LANG-564] - Improve StrLookup API documentation [LANG-585] exception.DefaultExceptionContext.getFormattedExceptionMessage catches Throwable.
* [LANG-568] - @SuppressWarnings("unchecked") is used too generally [LANG-596] StrSubstitutor should also handle the default properties of a java.util.Properties class
* [LANG-571] - ArrayUtils.add(T[] array, T element) can create unexpected ClassCastException [LANG-600] Javadoc is incorrect for public static int lastIndexOf(String str, String searchStr).
* [LANG-585] - exception.DefaultExceptionContext.getFormattedExceptionMessage catches Throwable [LANG-602] ContextedRuntimeException no longer an 'unchecked' exception.
* [LANG-589] - StringUtils: indexOf("", String) and indexOf("", char) have different behaviour [LANG-606] EqualsBuilder causes StackOverflowException.
* [LANG-602] - ContextedRuntimeException no longer an 'unchecked' exception [LANG-608] Some StringUtils methods should take an int character instead of char to use String API features.
* [LANG-606] - EqualsBuilder causes StackOverflowException [LANG-617] StringEscapeUtils.escapeXML() can't process UTF-16 supplementary characters
* [LANG-608] - Some StringUtils methods should take an int character instead of char to use [LANG-624] SystemUtils.getJavaVersionAsFloat throws StringIndexOutOfBoundsException on Android runtime/Dalvik VM
String API features. [LANG-629] Charset may not be threadsafe, because the HashSet is not synch.
* [LANG-628] - Javadoc for HashCodeBuilder.append(boolean) does not match implementation. [LANG-638] NumberUtils createNumber throws a StringIndexOutOfBoundsException when argument containing "e" and "E" is passed in
* [LANG-630] - mutable.MutableObject defines equals(MutableObject) method and uses Object.equals(Object) [LANG-643] Javadoc StringUtils.left() claims to throw on negative len, but doesn't
* [LANG-631] - StringUtils JavaDoc contains erroneous examples [LANG-645] FastDateFormat.format() outputs incorrect week of year because locale isn't respected
* [LANG-635] - CompareToBuilder.reflectionCompare(Object, Object, boolean, Class) ignores [LANG-646] StringEscapeUtils.unescapeJava doesn't handle octal escapes and Unicode with extra u
third compareTransients parameter [LANG-656] Example StringUtils.indexOfAnyBut("zzabyycdxx", '') = 0 incorrect
[LANG-658] Some Entitys like &amp;Ouml; are not matched properly against its ISO8859-1 representation
[LANG-659] EntityArrays typo: {"\u2122", "&amp;minus;"}, // minus sign, U+2212 ISOtech
[LANG-66] StringEscaper.escapeXml() escapes characters &gt; 0x7f.
[LANG-662] org.apache.commons.lang3.math.Fraction does not reduce (Integer.MIN_VALUE, 2^k)
[LANG-663] org.apache.commons.lang3.math.Fraction does not always succeed in multiplyBy and divideBy
[LANG-664] NumberUtils.isNumber(String) is not right when the String is "1.1L"
[LANG-672] Doc bug in DateUtils#ceiling
[LANG-677] DateUtils.isSameLocalTime compares using 12 hour clock and not 24 hour
</source> </source>
</p> </p>