| <?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. |
| --> |
| |
| <!-- |
| This file is used by the maven-changes-plugin to generate the release notes. |
| Useful ways of finding items to add to this file are: |
| |
| 1. Add items when you fix a bug or add a feature (this makes the |
| release process easy :-). |
| |
| 2. Do a Jira search for tickets closed since the previous release. |
| |
| 3. Use the report generated by the maven-changelog-plugin to see all |
| SVN commits. Set the project.properties' maven.changelog.range |
| property to the number of days since the last release. |
| |
| |
| The <action> type attribute can be add,update,fix,remove. |
| --> |
| |
| <document> |
| <properties> |
| <title>Release Notes</title> |
| </properties> |
| <body> |
| |
| <release version="1.8.0-BETA" date="2007-08-04" description="Converter improvements, Plugable expression Resolver and bug fixes for 1.7.0"> |
| <action dev="niallp" type="add" issue="BEANUTILS-259"> |
| Add plugable property name expression <b><i>Resolver</i></b>. |
| </action> |
| <action dev="niallp" type="update" issue="BEANUTILS-258"> |
| General Converter implementation improvements: |
| <ul> |
| <li>New <b>AbstractConverter</b> which provides a basic structure for |
| Converter implementations:</li> |
| <ul> |
| <li>Provides structure for converting to and from a String |
| for the type the converter handles.</li> |
| <li>Provides a mechanism for default values.</li> |
| <li>Handles missing and invalid values in a uniform way.</li> |
| </ul> |
| <li>New <b>NumberConverter</b> implementation:</li> |
| <ul> |
| <li>Converts both to and from <code>String</code> for numbers.</li> |
| <li>Can be configured to convert using the default format for either |
| the default Locale or a specified Locale.</li> |
| <li>Can be configured to convert using a specified |
| <code>DecimalFormat</code> pattern, either for the default |
| Locale or a specified Locale.</li> |
| <li>Provides the basis for all the number converters in BeanUtils.</li> |
| </ul> |
| </ul> |
| </action> |
| <action dev="niallp" type="add" issue="BEANUTILS-242"> |
| Add new generic <b>ArrayConverter</b> implementation. |
| </action> |
| <action dev="niallp" type="add" issue="BEANUTILS-255"> |
| Add new generic <b>DateTimeConverter</b> implementation. |
| <ul> |
| <li>Converts both to and from <code>String</code> for dates.</li> |
| <li>Can be configured to convert using the default format for either |
| the default Locale or a specified Locale.</li> |
| <li>Can be configured to convert using a set of |
| <code>DateFormat</code> patterns.</li> |
| <li>Provides the basis for all the date converters in BeanUtils.</li> |
| <li>Handles conversion for (and between) <code>java.util.Date</code>, |
| <code>java.util.Calendar</code>, <code>java.sql.Date</code>, |
| <code>java.sql.Time</code> and <code>java.sql.Timestamp</code></li> |
| </ul> |
| </action> |
| <action dev="vgritsenko" type="update" issue="BEANUTILS-239" due-to="Rafael Afonso"> |
| Better implementation of SqlDateConverter. Modified SqlDateConverter, |
| SqlTimeConverter and SqlTimestampConverter to accept java.util.Date |
| and Calendar object instances. Added tests. |
| </action> |
| <action dev="niallp" type="add" issue="BEANUTILS-286"> |
| New Facade converter implementation - hide non-Converter public APIs. |
| </action> |
| <action dev="skitching" type="update" issue="BEANUTILS-229"> |
| Add "t/f" to BooleanConverter. |
| </action> |
| <action dev="niallp" type="update" issue="BEANUTILS-43" due-to="Firepica and Thomas Jacob"> |
| Support Mapped property inside a mapped property. |
| </action> |
| <action dev="niallp" type="update" issue="BEANUTILS-113" due-to="Firepica and Ludwig Wensauer"> |
| Support Indexed property inside a mapped property. |
| </action> |
| <action dev="niallp" type="update" issue="BEANUTILS-247" due-to="Christian Poitras, Thomas Jacob and scott sadlo"> |
| Support Arrays with multiple dimension. |
| </action> |
| <action dev="bayard" type="update" issue="BEANUTILS-207" due-to="Erik Meade"> |
| Include bean class in the message of PropertyUtilsBean exceptions. |
| </action> |
| <action dev="bayard" type="update" issue="BEANUTILS-224" due-to="Ralf Hauser"> |
| Provide better error message for "argument type mismatch". |
| </action> |
| <action dev="bayard" type="update" issue="BEANUTILS-30" due-to="Barry Kaplan"> |
| Improved messages for unknown properties. |
| </action> |
| <action dev="bayard" type="update" issue="BEANUTILS-193" due-to="Nestor Boscan"> |
| MethodUtils.invoke for static methods. |
| </action> |
| <action dev="niallp" type="update" issue="BEANUTILS-266" due-to="Brian Ewins and Commons HttpClient"> |
| Log or throw exception in PropertyUtilsBean. |
| Added mechanism to initialize the "cause" on an Exception using reflection for JDK 1.4+ |
| (copied from Commons HttpClient). |
| </action> |
| <action dev="niallp" type="add" due-to="Vic Cekvenich"> |
| Add lazyDynaList. |
| </action> |
| <action dev="niallp" type="add" issue="BEANUTILS-185" due-to="Gabriel Belingueres"> |
| Provide a Map decorator for a DynaBean (enables DynaBean to be used with other teechnologies such as JSTL). |
| </action> |
| <action dev="niallp" type="update" issue="BEANUTILS-233" due-to="Russell"> |
| Implement equals() and hashCode() methods for DynaProperty. |
| </action> |
| |
| |
| <action dev="niallp" type="fix" issue="BEANUTILS-243" due-to="Henri Yandell"> |
| BeanUtils's tests fail to compile under JDK 1.6 |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-49" due-to="Jesper Richter-Reichhelm"> |
| Lock in BeanUtilsBean.getInstance( |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-157" due-to="Thorbjorn Ravn Andersen"> |
| Beanutils's describe() method cannot determine reader methods for anonymous class. |
| </action> |
| <action dev="rdonkin" type="fix" issue="BEANUTILS-158"> |
| Added warning about describe behaviour to the javadocs. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-249" due-to="Brad"> |
| BeanUtilsBean's setProperty() does not convert objects using custom converters properly. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-17"> |
| Fix javadoc - IllegalArgumentException in BeanUtils.copyProperties |
| when property types don't match. |
| <dueto name="Matthew Sgarlata"/> |
| <dueto name="Corey Scott"/> |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-68" due-to="Dmitry Platonoff"> |
| Writing to a mapped property requires a setter for a map, but never uses it. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-110" due-to="Etienne Bernard"> |
| BeanUtilsBean.getArrayProperty() does not use ConvertUtils. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-6" due-to="Sam Ruby"> |
| MappedPropertyDescriptor - replace copied code. |
| </action> |
| <action dev="skitching" type="fix"> |
| MappedPropertyDescriptor: Add comments re: * use of static variable safe in shared |
| classloader * memory leak possible on webapp undeploy. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-69" due-to="Chris Audley"> |
| MappedPropertyDescriptor doesn't recognize boolean property accessor. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-163"> |
| Add test for MappedPropertyDescriptor with different types on get/set methods. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-140" due-to="Marco La Porta"> |
| LocaleBeanUtils setProperty does not work on nested property. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-87" due-to="YOKOTA Takehiko"> |
| Package scope implementation of a public interface for mapped property fails |
| (fixed by changes to MappedPropertyDescriptor associated with BEANUTILS-6) |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-33" due-to="Eoin Curran"> |
| PropertyUtils incosistency - can't use "dot" in mapped properties for setProperty |
| or getPropertyDescriptor (fixed by the changes for BEANUTILS-259 |
| Plugable Property Name Expression Resolver). |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-273" due-to="Marcelo Liberato"> |
| Public methods overriden in anonymous or private subclasses are not recognized by PropertyUtils. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-88" due-to="Chuck Daniels"> |
| PropertyUtilsBean's isReadable() / isWriteable() always return false for mapped properties. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-61" due-to="Brian Ewins"> |
| PropertyUtilsBean isReadable() and isWriteable() methods do not work correctly for WrapDynaBean. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-18" due-to="Maarten Coene"> |
| PropertyUtils.isReadable() and PropertyUtils.getProperty() not consistent. |
| </action> |
| <action dev="bayard" type="fix" issue="BEANUTILS-92" due-to="Will Pugh"> |
| PropertyUtilsBean.copyProperties does not catch NoSuchMethodException |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-256" due-to="Torsten Feig"> |
| PropertyUtilsBean.getIndexedProperty()'s javadoc should indicate |
| IndexOutOufBoundsException can be thrown rather than just |
| ArrayIndexOutOufBoundsException. |
| </action> |
| <action dev="skitching" type="fix" issue="BEANUTILS-162"> |
| Create new methods getPropertyOfMapBean and setPropertyOfMapBean that the existing |
| setNestedProperty and getNestedProperty methods now call when they discover the bean |
| they are accessing implements Map. This makes it much easier for users to subclass |
| and customise this behaviour of PropertyUtilsBean, eg in order to restore pre-1.5 behaviour. |
| This patch also causes an exception to be thrown when the propertyName passed to |
| getPropertyOfMapBean or setPropertyOfMapBean has MAPPED_DELIM or INDEXED_DELIM chars in |
| it. This never worked as expected before (the whole string was treated literally as the |
| propertyName), so throwing an exception here should not break any existing code. It should |
| be of help to future developers who make this mistake though... |
| </action> |
| <action dev="skitching" type="fix"> |
| Ignore simple properties on <code>java.util.Map</code> objects - |
| <i>Map methods are always used on a Map object</i>. |
| Reverts <a href="http://issues.apache.org/jira/browse/BEANUTILS-144">BEANUTILS-144</a>. |
| See <a href="http://issues.apache.org/jira/browse/BEANUTILS-162">BEANUTILS-162</a> for |
| discussion. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-262"> |
| Correct getPropertyDescriptor() and setNestedProperty() methods to throw |
| a NestedNullException rather than just IllegalArgumentException (consistent |
| with the getNestedProperty() method). |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-97"> |
| Problems on indexed property with JDK 1.4. |
| </action> |
| <action dev="skitching" type="update"> |
| BooleanArrayConverter: |
| <ul> |
| <li>Use new AbstractArrayConverter constructors</li> |
| <li>Convert strings to booleans by invoking a BooleanConverter rather than |
| hard-wiring the conversion.</li> |
| </ul> |
| </action> |
| <action dev="skitching" type="update" due-to="Eric Rizzo"> |
| BooleanConverter: |
| <ul> |
| <li>Add facility for user to override the default set of true and false |
| string definitions</li> |
| <li>provide ability to pass special NO_DEFAULT object as the |
| "defaultValue" constructor parameter.</li> |
| </ul> |
| </action> |
| <action dev="skitching" type="update"> |
| AbstractArrayConverter: provide ability to pass special NO_DEFAULT object as the |
| "defaultValue" constructor parameter. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-78" due-to="Stefan Lotscher"> |
| DecimalLocaleConverter and subClasses never throw a ConversionException. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-44" due-to="Paul Jenkins"> |
| FloatLocaleConverter cannot parse negative values. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-263" due-to="Alex Albu"> |
| Improve ClassConverter robustness. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-271" due-to="Nico Hoogervorst"> |
| DateLocaleConverter does not always throw an Exception for invalid dates. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-288"> |
| Don't try parsing values that are already Dates/Numbers in Date/Number locale Converters. |
| </action> |
| <action dev="skitching" type="fix"> |
| WrapDynaClass: Added comment re potential memory leak, and safety when using |
| shared classloader |
| </action> |
| <action dev="niallp" type="fix"> |
| Make WrapDynaBean Serializable. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-36" due-to="Jack"> |
| WrapDynaBeanTestCase failing with jikes/kaffe because of static List in TestBean. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-23" due-to="Aslak Hellesoy"> |
| Misleading error message in ConvertingWrapDynaBean. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-24" due-to="Roi Ares"> |
| LazyDynaBean: don't try and instantiate properties of type Object.class. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-133" due-to="Masoud Omidvar"> |
| LazyDynabean JavaDoc corrections. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-250"> |
| LazyDynaClass can create a DynaProperty with a "null" type. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-289"> |
| JDBCDynaClass "lowerCase" option causes problems in RowSetDynaClass and ResultSetIterator. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-142" due-to="Li Zhang"> |
| RowSetDynaClass fails to copy ResultSet to DynaBean with Oracle 10g JDBC driver. |
| </action> |
| <action dev="bayard" type="fix" issue="BEANUTILS-241" due-to="Chris Hyzer"> |
| Fix BeanComparator throws wrong exception and hides cause. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-112" due-to="Simon Kitching"> |
| Deprecate the public static defaultTransformers HashMap and make it unmodifiable. |
| </action> |
| |
| <action dev="niallp" type="update" issue="BEANUTILS-290"> |
| Merge Bean-Collections back into core BeanUtils and remove Bean-Collections sub-project. |
| </action> |
| <action dev="bayard" type="fix" issue="BEANUTILS-287"> |
| Fixi the build to include all the tests and change the build.properties.sample so it's easier |
| to use for the default maven user (ie: it looks by default in the .maven repository) |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-217" due-to="Carlos Sanchez"> |
| Improvements to maven build. |
| </action> |
| <action dev="niallp" type="fix" issue="BEANUTILS-54" due-to="Pascal Grange"> |
| Add Implementation-Vendor-Id entry to jar's manifest. |
| </action> |
| <action dev="bayard" type="fix" issue="BEANUTILS-121" due-to="Chris Tilden"> |
| Resolve compiler warnings: Unused imports, un-read local variables, |
| field hiding, empty block, improperly used statics, uncessary semi |
| colons, unnecessary casts. |
| </action> |
| <action dev="skitching" type="fix"> |
| Replace use of static Log objects with instance or local variables. It isn't safe |
| to use static Log objects in code that might be deployed via a shared classloader |
| as they will bind to the Log object from the context classloader in use when the |
| first use happens. |
| </action> |
| <action dev="scolebourne" type="fix" due-to="Dimiter Dimitrov" issue="COLLECTIONS-22"> |
| BeanMap: Fix internal variable to not include non-existant write methods. |
| - ported from Commons Collections. |
| </action> |
| <action dev="rdonkin" type="update" due-to="Steve Cohen"> |
| Change MethodUtils to make getMatchingAccessibleMethod() method selection more |
| rational. |
| </action> |
| </release> |
| |
| <release version="1.7.0" date="2004-08-02"> |
| <action type="update"> |
| See <a href="http://commons.apache.org/beanutils/commons-beanutils-1.7.0/RELEASE-NOTES.txt"> |
| 1.7.0 Release Notes</a> |
| </action> |
| </release> |
| |
| <release version="1.6.1" date="2003-02-18"> |
| <action type="update"> |
| See <a href="http://commons.apache.org/beanutils/commons-beanutils-1.6.1/RELEASE-NOTES.txt"> |
| 1.6.1 Release Notes</a> |
| </action> |
| </release> |
| |
| <release version="1.6" date="2003-01-21"> |
| <action type="update"> |
| See <a href="http://commons.apache.org/beanutils/commons-beanutils-1.6/RELEASE-NOTES.txt"> |
| 1.6 Release Notes</a> |
| </action> |
| </release> |
| |
| <release version="1.5" date="2002-10-23"> |
| <action type="update"> |
| See <a href="http://commons.apache.org/beanutils/commons-beanutils-1.5/RELEASE-NOTES.txt"> |
| 1.5 Release Notes</a> |
| </action> |
| </release> |
| |
| <release version="1.4.1" date="2002-08-28"> |
| <action type="fix"> |
| See <a href="http://commons.apache.org/beanutils/commons-beanutils-1.4.1/RELEASE-NOTES.txt"> |
| 1.4.1 Release Notes</a> |
| </action> |
| </release> |
| |
| <release version="1.4" date="2002-08-13"> |
| <action type="update"> |
| See <a href="http://commons.apache.org/beanutils/commons-beanutils-1.4/RELEASE-NOTES.txt"> |
| 1.4 Release Notes</a> |
| </action> |
| </release> |
| |
| <release version="1.3" date="2002-04-29"> |
| <action type="update"> |
| See <a href="http://commons.apache.org/beanutils/commons-beanutils-1.3/RELEASE-NOTES.txt"> |
| 1.3 Release Notes</a> |
| </action> |
| </release> |
| |
| <release version="1.2" date="2001-12-24"> |
| <action type="update"> |
| See <a href="http://commons.apache.org/beanutils/commons-beanutils-1.2/RELEASE-NOTES.txt"> |
| 1.2 Release Notes</a> |
| </action> |
| </release> |
| |
| <release version="1.1" date="2001-09-22"> |
| <action type="update">Version 1.1</action> |
| </release> |
| |
| <release version="1.0" date="2001-07-14" description="Initial Release"> |
| <action type="add">Initial Release</action> |
| </release> |
| |
| </body> |
| </document> |