diff --git a/xdocs/changes.xml b/xdocs/changes.xml index 3f01a9349..ece12e8d1 100644 --- a/xdocs/changes.xml +++ b/xdocs/changes.xml @@ -25,18 +25,281 @@ + ClassUtils.getShortClassName(String) inefficient + Shouldn't Commons Lang's StringUtils have a "common" string method? + FastDateFormat getDateInstance() and getDateTimeInstance() assume Locale.getDefault() won't change + OSGi-ify Lang + StrBuilder appendFixedWidth does not handle nulls + infinite loop in Fraction.reduce when numerator == 0 + FastDateFormat thread safety + ClassUtils.getShortClassName and ClassUtils.getPackageName and class of array + LocaleUtils.toLocale() rejects strings with only language+variant + Enum is not thread-safe + BooleanUtils.toBoolean() - invalid drop-thru in case statement causes StringIndexOutOfBoundsException + ArrayUtils.toClass + Why does appendIdentityToString return null? + NumberUtils.min(floatArray) returns wrong value if floatArray[0] happens to be Float.NaN + Dates.round() behaves incorrectly for minutes and seconds + StringUtils.length(String) returns null-safe length + adding a StringUtils.replace method that takes an array or List of replacement strings + Adding functionality to DateUtils to allow direct setting of various fields. + Add escaping for CSV columns to StringEscapeUtils + StringUtils: startsWith / endsWith / startsWithIgnoreCase / endsWithIgnoreCase / removeStartIgnoreCase / removeEndIgnoreCase methods + Extension to ClassUtils: Obtain the primitive class from a wrapper + Javadoc bugs - cannot find object + Optimize HashCodeBuilder.append(Object) + http://commons.apache.org/lang/developerguide.html "Building" section is incorrect and incomplete + Ambiguous / confusing names in StringUtils replace* methods + Add new splitByWholeSeparatorPreserveAllTokens() methods to StringUtils + Add getStartTime to StopWatch + Perhaps add containsAny() methods? + Javadoc Example for EqualsBuilder is questionable + EqualsBuilder don't compare BigDecimals correctly + Split camel case strings + Add Calendar flavour format methods to DateFormatUtils + Calculating A date fragment in any time-unit + Memory usage improvement for StringUtils#getLevenshteinDistance() + Add ExtendedMessageFormat to org.apache.commons.lang.text + StringEscapeUtils.escapeJavaScript() method did not escape '/' into '\/', it will make IE render page uncorrectly + Add toArray() method to IntRange and LongRange classes + add SystemUtils.IS_OS_WINDOWS_VISTA field + Pointless synchronized in ThreadLocal.initialValue should be removed + ToStringStyle javadoc should show examples of styles + Documentation bug for ignoreEmptyTokens accessors in StrTokenizer + BooleanUtils toBooleanObject javadoc does not match implementation + truncateNicely method which avoids truncating in the middle of a word + Use of enum prevents a classloader from being garbage collected resuling in out of memory exceptions. + NumberUtils.max(byte[]) and NumberUtils.min(byte[]) are missing + Null-safe comparison methods for finding most recent / least recent dates. + StopWatch: suspend() acts as split(), if followed by stop() + StrBuilder.replaceAll and StrBuilder.deleteAll can throw ArrayIndexOutOfBoundsException. + Bug in method appendFixedWidthPadRight of class StrBuilder causes an ArrayIndexOutOfBoundsException + ToStringBuilder throws StackOverflowError when an Object cycle exists + Create more tests to test out the +=31 replacement code in DurationFormatUtils. + StrBuilder contains usages of thisBuf.length when they should use size + Enum JavaDoc: 1) outline 5.0 native Enum migration 2) warn not to use the switch() , 3) point out approaches for persistence and gui + Wrong behavior of Entities.unescape + NumberUtils.createNumber throws NumberFormatException for one digit long + NullPointerException in isAvailableLocale(Locale) + FastDateFormat.mRules is not transient or serializable + StringUtils.join should allow you to pass a range for it (so it only joins a part of the array) + Refactor Entities methods + Tests fail to pass when building with Maven 2 + DurationFormatUtils returns wrong result + unescapeXml("&12345678;") should be "&12345678;" + Optimize StringEscapeUtils.unescapeXml(String) + BooleanUtils isNotTrue/isNotFalse + Extra StrBuilder methods + Add a pair of StringUtils.substringsBetween;String[] methods + HashCodeBuilder throws java.lang.StackOverflowError when an object contains a cycle. + Wish for StringUtils.join(Collection, *) + StrBuilderTest#testReplaceStringString fails. + EqualsBuilder.append(Object[], Object[]) crashes with a NullPointerException if an element of the first array is null + Serialization - not backwards compatible + Replace Clover with Cobertura + ValuedEnum.compareTo(Object other) not typesafe - it easily could be... + LocaleUtils test fails under Mustang + javadoc example for StringUtils.splitByWholeSeparator incorrect + PADDING array in StringUtils overflows on '\uffff' + ClassUtils.primitiveToWrapper and Void + unit test for org.apache.commons.lang.text.StrBuilder + DateUtils.truncate method is buggy when dealing with DST switching hours + RandomStringUtils.random() family of methods create invalid unicode sequences + StringUtils#getLevenshteinDistance() performance is sub-optimal + Wrong length check in StrTokenizer.StringMatcher + ExceptionUtils goes into infinite loop in getThrowables is throwable.getCause() == throwable + FastDateFormat: wrong format for date "01.01.1000" + Unclear javadoc for DateUtils.iterator() + Memory "leak" in StringUtils + StringEscapeUtils should expose escape*() methods taking Writer argument + Fraction.toProperString() returns -1/1 for -1 + DurationFormatUtils.formatDurationWords "11 <unit>s" gets converted to "11 <unit>" + Performance modifications on StringUtils.replace + StringEscapeUtils.unescapeHtml skips first entity after standalone ampersand + DurationFormatUtils.formatPeriod() returns the wrong result + Request for MutableBoolean implementation + New method for EqualsBuilder + New ExceptionUtils method setCause() + Add Mutable<Type> to<Type>() methods. + Provides a Class.getPublicMethod which returns public invocable Method + Using ReflectionToStringBuilder and excluding secure fields + add generic add method to DateUtils + Tokenizer Enhancements: reset input string, static CSV/TSV factories + Trivial cleanup of javadoc in various files + CompositeFormat + Performance boost for RandomStringUtils + Enhanced Class.forName version + Add StringUtils.containsIgnoreCase(...) + Support char array converters on ArrayUtils + DurationFormatUtils.formatDurationISO() javadoc is missing T in duration string between date and time part + Minor build and checkstyle changes + Javadoc errors on StringUtils.splitPreserveAllTokens(String, char) + EscapeUtil.escapeHtml() should clarify that it does not escape ' chars to &apos; + Add methods and tests to StrBuilder + replace() length calculation improvement + New interpolation features + Implementation of escape/unescapeHtml methods with Writer + CompareToBuilder excludeFields for reflection method + Add WordUtils.getInitials(String) + Error in an example in the javadoc of the StringUtils.splitPreserveAllTokens() method + ToStringBuilder/HashCodeBuilder javadoc code examples + Cannot build tests from latest SVN + minor javadoc improvements for StringUtils.stripXxx() methods + javadoc for StringUtils.removeEnd is incorrect + Minor tweak to fix of bug # 26616 + make optional parameters in FastDateFormat really optional + Nestable.indexOfThrowable(Class) uses Class.equals() to match + buffer under/overrun on Strings.strip, stripStart & stripEnd + ToStringStyle.setArrayEnd(String) doesn't replace null with empty string. + New class proposal: CharacterEncoding + SystemUtils fails init on HP-UX + javadoc - 'four basic XML entities' should be 5 (apos is missing) + o.a.c.lang.enum.ValuedEnum: 'enum'is a keyword in JDK1.5.0 + StringEscapeUtils.unescapeHtml() doesn't handle an empty entity + EqualsBuilder.append(Object[], Object[]) incorrectly checks that rhs[i] is instance of lhs[i]'s class + Method enums.Enum.equals(Object o) doesn't work correctly. + ExceptionUtils.addCauseMethodName(String) does not check for duplicates. + Make StopWatch validate state transitions + enum package is not compatible with 1.5 jdk + WordUtils capitalizeFully() throws a null pointer exception + ValuedEnum + parseDate class from HttpClient's DateParser class + ArrayUtils.isEquals() throws ClassCastException when array1 and array2 are different dimension + ClassCastException in Enum.equals(Object) + FastDateFormat year bug + unbalanced ReflectionToStringBuilder + FastDateFormat.getDateInstance(int, Locale) always uses the pattern from the first invocation + ReflectionToStringBuilder.toString(null) throws exception by design + Make ClassUtils methods null-safe and not throw an IAE. + StringUtils.split ignores empty items + EqualsBuilder.append(Object[], Object[]) throws NPE + ArrayUtils.addAll doesn't always return new array + Enum.equals does not handle different class loaders. + Add SystemUtils.AWT_TOOLKIT and others. + Throwable cause for NotImplementedException + ClassUtils.primitivesToWrappers method + public static boolean DateUtils.equals(Date dt1, Date dt2) ? + Documentation error in StringUtils.replace + DateUtils constants should be long + DateUtils.truncate() is off by one hour when using a date in DST switch 'zone' + StringEscapeUtils.unescapeHtml() doesn't handle hex entities + new StringUtils.replaceChars behaves differently from old CharSetUtils.translate + last substring returned by StringUtils.split( String, String, int ) is too long + Can't subclass EqualsBuilder because isEquals is private + new StringUtils.split methods that split on the whole separator string + New method for converting a primitive Class to its corresponding wrapper Class + Add convenience format(long) methods to FastDateFormat + Enum's outer class may not be loaded for EnumUtils + WordUtils.capitalizeFully(String str) should take a delimiter + Make javadoc crosslinking configurable + Minor javadoc fixes for StringUtils.contains(String, String) + Error in JavaDoc for StringUtils.chomp(String, String) + StringUtils.defaultString: Documentation error + Add hashCode-support to class ObjectUtils + add another "known method" to ExceptionUtils + Enhancement of ExceptionUtils.CAUSE_METHOD_NAMES + DateUtils.truncate oddity at the far end of the Date spectrum + add getLength() method to ArrayUtils + Validate.java: fixes comment skew, removes unused loop counter + StringUtils.isAsciiPrintable() + ExceptionUtils: new getCause() methodname (for tomcat-exception) + fixes 75 typos + mutable numbers + Javadoc fixes for ClassUtils + Add StringUtils.nIndexOf? + Javadoc fixes for CharSetUtils + Remove redundant check for null separator in StringUtils#join + Class and Package Comparators for ClassUtils + add remove methods to ArrayUtils + WordUtils capitalize improvement + add isEmpty method to ArrayUtils + lang.math.Fraction class deficiencies + Add methods to ArrayUtils: add at end and insert-like ops + Add SystemUtils methods for directory properties. + Add method that validates Collection elements are a certain type + elapsed time formatting utility method + Infinite loop in ToStringBuilder.reflectionToString for inner classes + NumberUtils.createBigDecimal("") NPE in Sun 1.3.1_08 + Rationalize StringUtils slice functions + SystemUtils.IS_OS_OS2 Javadoc is wrong + A small, but important javadoc fix for Fraction proper whole and numerator + Adding tolerance to double[] search methods in ArrayUtils + lang.builder classes javadoc edits (mostly typo fixes) + StringUtils javadoc and test enhancements + SystemUtils.IS_OS_*, IS_JAVA_* are always false. + Improve util.Validate tests + maven-beta10 checkstyle problem + StringUtils.chopNewLine - StringIndexOutOfBoundsException + ToStringBuilder doesn't work well in subclasses + static option for reversing the stacktrace + NullPointerException in CompareToBuilder + RandomStringUtils.randomAlpha methods omit 'z' + test.time fails in Japanese (non-us) locale. + NumberUtils.isNumber allows illegal trailing characters + Improve javadoc and overflow behavior of Fraction + RandomStringUtils infloops with length > 1 + test.lang fails if compiled with non iso-8859-1 locales + SystemUtils does not play nice in an Applet + time unit tests fail on Sundays + java.lang.ExceptionInInitializerError thrown by JVMRandom constructor + StringUtils.chomp does not match Perl + patch and test case fixing problem with RandomStringUtils.random() + General case: infinite loop: ToStringBuilder.reflectionToString + Should ToStringBuilder.reflectionToString handle arrays? + EnumUtils nit: The import java.io.Serializable is never used + Example in Javadoc for ToStringBuilder wrong for append. + Added class hierachy support to HashCodeBuilder.reflectionHashCode() + ExceptionUtils new methods. + Infinite loop in StringUtils.replace(text, repl, with) + FIX + StackOverflow due to ToStringBuilder + No Javadoc for NestableDelegate + Specify initial size for Enum's HashMap. + Enum does not support inner sub-classes + Removed compile warning in ObjectUtils + SystemUtils.IS_JAVA_1_5 Javadoc is wrong + NumberRange inaccurate for Long, etc. + Hierarchy support in ToStringBuilder.reflectionToString() + StringUtils.countMatches loops forever if substring empty + javadoc fixes (remove @links to non-public identifiers) + Add javadoc examples and tests for StringUtils + Make NumberUtils null handling consistent + Unused field 'startFinal' in DateIterator + reduce object creation in ToStringBuilder + Improved tests, javadoc for CharSetUtils, StringEscapeUtils + NumberUtils min/max, BooleanUtils.xor, and ArrayUtils toPrimitive and toObject + Javadoc, tests improvements for CharSet, CharSetUtils + StringUtil enhancement + Javadoc nit + Additional Lang Method Suggestions + Make NestableDelegate methods public instead of package private + Missing @since tags + Refactored reflection feature of ToStringBuilder into new ReflectionToStringBuilder + Typo in documentation + Patch for javadocs + Add join(..., char c) to StringUtils (and some performance fixes). Even contains tests! + Resurrect the WordWrapUtils from commons-sandbox/utils + EnumTest fails on Linux Sun JDK 1.3.0 + What to do with FastDateFormat unused private constructors + Added class hierachy support to CompareToBuilder.reflectionCompare() + Removed compile warning in FastDateFormat + typo in the javadoc example code + MethodUtils: Removed unused code/unused local vars. + Hierarchy support in EqualsBuilder.reflectionEquals() + JavaDoc Errata + ArrayUtils.contains() + More flexibility for getRootCause in ExceptionUtils