<commit_before>$Id: RELEASE-NOTES.txt,v 1.15 2003/07/20 16:14:51 scolebourne Exp $

                        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.


INCOMPATIBLE CHANGES:
Some StringUtils methods have changed functionality from 1.0.
    isEmpty()
    chomp(String)
    chomp(String,String)
Other methods have changed null handling
Check your code before implementing this release.


NEW FEATURES:

Since the release of the 1.0 package the following classes have been added:

lang package:
    ArrayUtils
    BooleanUtils
    ClassUtils
    StringEscapeUtils
    StringPrintWriter
    WordWrapUtils
    IllegalClassException
    IncompleteArgumentException
    NotImplementedException
    NullArgumentException
    SerializationException
    UnhandledException


math sub-package:
    IntRange
    LongRange
    Range
    DoubleRange
    JVMRandom
    NumberRange
    FloatRange
    NumberUtils
    Fraction
    RandomUtils

time sub-package: 
    DateFormatUtils
    FastDateFormat
    DateUtils
    StopWatch

util sub-package: 
    BitField
    IdentifierUtils
    Validate

Since the release of the 1.0 package the following classes have been changed:

lang:
    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.
        Various methods changed in the handling of null (less exceptions).
        Thirty new methods.
        Seven 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  


DEPRECATIONS:

lang:
    NumberRange:
        now deprecated, see math subpackage
    NumberUtils:
        now deprecated, see math subpackage


CHANGES:   [In 'diff' format]<commit_msg>Added in the bugs fixed in the last few weeks. Changed comment to say that these are the changes since 1.0.1.<commit_after>$Id: RELEASE-NOTES.txt,v 1.16 2003/07/30 03:21:42 bayard Exp $

                        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.


INCOMPATIBLE CHANGES:
Some StringUtils methods have changed functionality from 1.0.
    isEmpty()
    chomp(String)
    chomp(String,String)
Other methods have changed null handling
Check your code before implementing this release.


NEW FEATURES:

Since the release of the 1.0.1 package the following classes have been added:

lang package:
    ArrayUtils
    BooleanUtils
    ClassUtils
    StringEscapeUtils
    StringPrintWriter
    WordWrapUtils
    IllegalClassException
    IncompleteArgumentException
    NotImplementedException
    NullArgumentException
    SerializationException
    UnhandledException


math sub-package:
    IntRange
    LongRange
    Range
    DoubleRange
    JVMRandom
    NumberRange
    FloatRange
    NumberUtils
    Fraction
    RandomUtils

time sub-package: 
    DateFormatUtils
    FastDateFormat
    DateUtils
    StopWatch

util sub-package: 
    BitField
    IdentifierUtils
    Validate

Since the release of the 1.0 package the following classes have been changed:

lang:
    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.
        Various methods changed in the handling of null (less exceptions).
        Thirty new methods.
        Seven 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


DEPRECATIONS:

lang:
    NumberRange:
        now deprecated, see math subpackage
    NumberUtils:
        now deprecated, see math subpackage


CHANGES:   [In 'diff' format]
{'fraction_non_alphanumeric': 0.03548053737512918, 'fraction_numerical': 0.05149844987943507, 'mean_word_length': 3.4665384615384616, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2923152', 'n_tokens_mistral': 3580, 'n_tokens_neox': 3105, 'n_words': 1278}