<?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 xmlns="http://maven.apache.org/changes/1.0.0" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> | |
<properties> | |
<title>Apache Commons BeanUtils Release Notes</title> | |
</properties> | |
<body> | |
<release version="2.0.0" date="20YY-MM-DD" description="Update to Java 8."> | |
<action issue="BEANUTILS-346" dev="melloware" type="update" due-to="Melloware"> | |
New converter for Enum. | |
</action> | |
<action issue="BEANUTILS-402" dev="melloware" type="update" due-to="Melloware"> | |
Double-Checked Locking anti pattern in WeakFastHashMap. | |
</action> | |
<action issue="BEANUTILS-503" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Change packaging from org.apache.commons.beanutils to org.apache.commons.beanutils2. | |
</action> | |
<action issue="BEANUTILS-505" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Add missing serialVersionUID to Serializable classes. | |
</action> | |
<action issue="BEANUTILS-512" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Add Automatic-Module-Name entry to MANIFEST.MF. | |
</action> | |
<action issue="BEANUTILS-514" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Remove deprecated code for 2.0.0. | |
</action> | |
<action issue="BEANUTILS-509" dev="ggregory" type="update" due-to="sunil, Akshay Gehi"> | |
WeakHashmap enters into infinite loop in WrapDynaClass.java. | |
</action> | |
<action issue="BEANUTILS-520" dev="ggregory" type="update" due-to="Melloware"> | |
BeanUtils2 mitigate CVE-2014-0114. | |
</action> | |
<action issue="BEANUTILS-527" dev="ggregory" type="update" due-to="Melloware, Matt Sicker, Gary Gregory"> | |
Convert Collections4 to java.util.function. #8. | |
</action> | |
<action issue="BEANUTILS-527" dev="ggregory" type="remove" due-to="Melloware, Matt Sicker, Gary Gregory"> | |
Removed Commons Collections dependency. #8. | |
</action> | |
<action issue="BEANUTILS-528" dev="ggregory" type="update" due-to="Melloware, Matt Sicker, Gary Gregory"> | |
New converters for UUID, URI, and Path #10. | |
</action> | |
<action issue="BEANUTILS-530" dev="ggregory" type="add" due-to="Melloware, Matt Sicker, Gary Gregory"> | |
New converters for Java 8 Time classes #13. | |
</action> | |
<action issue="BEANUTILS-529" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Log at the debug level instead of info. | |
</action> | |
<action issue="BEANUTILS-537" dev="ggregory" type="update" due-to="XenoAmess, Gary Gregory"> | |
Fix typos; fix error in Javadoc; performance fix; fix code smells #25. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Andrei Korzhevskii, Gary Gregory"> | |
Refactor logger usage #72. | |
</action> | |
<action dev="ggregory" type="fix" due-to="SethFalco"> | |
Start migration to JUnit 5 #93. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: org.apache.commons.beanutils2.BasicDynaClass.constructorTypes should be both final and package protected [org.apache.commons.beanutils2.BasicDynaClass] At BasicDynaClass.java:[line 95] MS_FINAL_PKGPROTECT. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: Load of known null value in org.apache.commons.beanutils2.converters.AbstractConverter.convert(Class, Object) [org.apache.commons.beanutils2.converters.AbstractConverter] At AbstractConverter.java:[line 163] NP_LOAD_OF_KNOWN_NULL_VALUE. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: Unused public or protected field: org.apache.commons.beanutils2.WrapDynaClass.descriptors [org.apache.commons.beanutils2.WrapDynaClass] In WrapDynaClass.java UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: org.apache.commons.beanutils2.converters.ArrayConverter.setAllowedChars(char[]) may expose internal representation by storing an externally mutable object into ArrayConverter.allowedChars [org.apache.commons.beanutils2.converters.ArrayConverter] At ArrayConverter.java:[line 202] EI_EXPOSE_REP2. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: org.apache.commons.beanutils2.converters.DateTimeConverter.setPatterns(String[]) may expose internal representation by storing an externally mutable object into DateTimeConverter.patterns [org.apache.commons.beanutils2.converters.DateTimeConverter] At DateTimeConverter.java:[line 204] EI_EXPOSE_REP2. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: org.apache.commons.beanutils2.ConversionException.getCause() may expose internal representation by returning ConversionException.cause [org.apache.commons.beanutils2.ConversionException] At ConversionException.java:[line 83] EI_EXPOSE_REP. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: new org.apache.commons.beanutils2.ConversionException(String, Throwable) may expose internal representation by storing an externally mutable object into ConversionException.cause [org.apache.commons.beanutils2.ConversionException] At ConversionException.java:[line 53] EI_EXPOSE_REP2. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: new org.apache.commons.beanutils2.ConversionException(Throwable) may expose internal representation by storing an externally mutable object into ConversionException.cause [org.apache.commons.beanutils2.ConversionException] At ConversionException.java:[line 65] EI_EXPOSE_REP2. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: org.apache.commons.beanutils2.converters.DateTimeConverter.getPatterns() may expose internal representation by returning DateTimeConverter.patterns [org.apache.commons.beanutils2.converters.DateTimeConverter] At DateTimeConverter.java:[line 189] EI_EXPOSE_REP. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix SpotBugs [ERROR] Medium: org.apache.commons.beanutils2.WrapDynaClass.getDynaProperties() may expose internal representation by returning WrapDynaClass.properties [org.apache.commons.beanutils2.WrapDynaClass] At WrapDynaClass.java:[line 172] EI_EXPOSE_REP. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Melloware, sebbASF, Gary Gregory, Michal Landsman"> | |
Replace Commons Collections Test Framework 3.2.2 with 4.4 #40. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Provide error index in ConversionException message in DateTimeConverter.parse(Class, Class, String, DateFormat). | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Avoid possible NPE in DateTimeConverter.parse(Class, Class, String). | |
</action> | |
<action dev="ggregory" type="fix" due-to="Claude Warren, Gary Gregory"> | |
Annotate Converter with @FunctionalInterface. | |
</action> | |
<action issue="BEANUTILS-564" dev="ggregory" type="fix" due-to="SingingBush"> | |
Fix JDK 21 CI failure due to locale changes #201. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Seth Falco"> | |
Fix warnings and To-Dos #92. | |
</action> | |
<action issue="BEANUTILS-541" dev="ggregory" type="fix" due-to="Sergey Chernov">FluentPropertyBeanIntrospector caches corrupted writeMethod (2.x) #68.</action> | |
<!-- ADD --> | |
<action dev="ggregory" type="add" due-to="Dependabot, Gary Gregory"> | |
Add github/codeql-action #118. | |
</action> | |
<action dev="ggregory" type="add" due-to="Dependabot, Gary Gregory"> | |
Add and use ConversionException.format(String, Object...). | |
</action> | |
<action dev="ggregory" type="add" due-to="Seth Falco, Gary Gregory"> | |
Add Converters for additional types: Color, Dimension, InetAddress, Locale, Pattern, Point #47. | |
</action> | |
<!-- UPDATES --> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump actions/cache from 2 to 3.0.11 #77, #89, #103, #111. #137, #141. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Update actions/checkout from 2.3.1 to 3.0.2 #33, #108. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Update actions/setup-java from 1.4.0 to 3.6.0 #35, #114, #144. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump actions/upload-artifact from 3.1.0 to 3.1.1 #143. | |
</action> | |
<action issue="BEANUTILS-522" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump Apache Commons Collections from 4.3 to 4.4. | |
</action> | |
<action issue="BEANUTILS-504" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump Java from 6 to 7. | |
</action> | |
<action issue="BEANUTILS-515" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump Java from 7 to 8. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump junit-jupiter from 5.7.2 to 5.9.1 #113, #126, #134. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump JUnit from 4 to 5.9.1 vintage, #78, #112, #127, #136. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump Jacoco from 0.8.4 to 0.8.8. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump JApiCmp from 0.12.0 to 0.17.1, #46, #110, #130, #146. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump maven-surefire-plugin from 2.22.1 to 3.0.0-M7, #116, #122. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump maven-checkstyle-plugin from 3.0.0 to 3.2.0, #76, #129. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump maven-pmd-plugin from 3.12.0 to 3.19.0, #120, #128, #131. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump BC version from 1.9.3 to 1.9.4. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump org.apache.commons:commons-parent from 50 to 69 #229. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump biz.aQute.bndlib from 5.1.0 to 6.4.1 #29, #45, #79, #109, #119, #121, #147, #175. | |
</action> | |
<action dev="ggregory" type="update" due-to="melloware"> | |
Jacoco 0.8.6 for JDK15 support #55. | |
</action> | |
<action dev="ggregory" type="update" due-to="SethFalco"> | |
Updated URLConverterTestCase to run without Internet access #50. | |
</action> | |
<action dev="ggregory" type="update" due-to="Arturo Bernal"> | |
Don't initialize variables to defaults #71. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump spotbugs-maven-plugin from 4.5.3.0 to 4.6.0.0. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump spotbugs from 4.5.3 to 4.6.0. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump commons-lang3 from 3.12.0 to 3.14.0. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump commons-logging:commons-logging from 1.2 to 1.3.1 #226. | |
</action> | |
</release> | |
<release version="1.9.4" date="2019-08-13" description="The primary reason for this release is a bugfix for | |
CVE-2014-0114. More specifically, our goal with BEANUTILS-520 | |
is to set the default behavior of the BeanUtilsBean | |
to not allow class level access. The goal in doing this now | |
is to bring 1.9.X into alignment with the same behavior | |
of the 2.X version line in regards to security. | |
If one would like to opt out of the default behavior, one could follow the | |
example set out in the test class available in | |
src/test/java/org/apache/commons/beanutils/bugs/Jira520TestCase.java."> | |
<action issue="BEANUTILS-520" dev="chtompki" type="fix" due-to="Melloware"> | |
BeanUtils mitigation of CVE-2014-0114. (CVE-2019-10086 for commons-beanutils). | |
</action> | |
</release> | |
<release version="1.9.3" date="2016-09-21" description="Bug fix release, now builds with Java 8"> | |
<action issue="BEANUTILS-433" dev="ggregory" type="update" due-to="Benedikt Ritter, Gary Gregory"> | |
Update dependency from JUnit 3.8.1 to 4.12. | |
</action> | |
<action issue="BEANUTILS-465" dev="oheger" type="fix" due-to="Daniel Atallah"> | |
Indexed List Setters no longer work | |
</action> | |
<action issue="BEANUTILS-469" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update commons-logging from 1.1.1 to 1.2. | |
</action> | |
<action issue="BEANUTILS-470" dev="oheger" type="fix" due-to="Tommy Tynjä"> | |
Precision lost when converting BigDecimal | |
</action> | |
<action issue="BEANUTILS-474" dev="ggregory" type="update" due-to="Michael Grove"> | |
FluentPropertyBeanIntrospector does not use the same naming algorithm as DefaultBeanIntrospector. | |
</action> | |
<action issue="BEANUTILS-477" dev="oheger" type="fix"> | |
Changed log level of warnings from FluentPropertyBeanIntrospector; exceptions are no longer logged with level WARN. | |
</action> | |
<action issue="BEANUTILS-482" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update commons-collections from 3.2.1 to 3.2.2. (CVE-2015-4852) | |
</action> | |
<action issue="BEANUTILS-490" dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update Java requirement from Java 5 to 6. | |
</action> | |
<action issue="BEANUTILS-492" dev="stain" type="update" due-to="Stian Soiland-Reyes"> | |
IndexedPropertyDescriptor not supported for List in Java 8 | |
</action> | |
<action issue="BEANUTILS-493" dev="stain" type="fix" due-to="Bernhard Seebass"> | |
Exception when setting indexed properties: "Default conversion to ArrayList failed" | |
</action> | |
<action issue="BEANUTILS-495" dev="stain" type="update" due-to="Stian Soiland-Reyes"> | |
DateConverterTestBase fails on M/d/yy in Java 9 | |
</action> | |
<action issue="BEANUTILS-496" dev="stain" type="update" due-to="Stian Soiland-Reyes"> | |
testGetDescriptorInvalidBoolean fails on Java 9 | |
</action> | |
</release> | |
<release version="1.9.2" date="2014-05-29" | |
description="Added a new BeanIntrospector for addressing a potential class loader vulnerability"> | |
<action dev="oheger" type="add" issue="BEANUTILS-463"> | |
Class loader vulnerability in DefaultResolver () | |
</action> | |
<action dev="oheger" type="fix" issue="BEANUTILS-458" due-to="Manuel Dominguez Sarmiento "> | |
BaseLocaleConverter.checkConversionResult() fails with | |
ConversionException when result is null when it should not | |
</action> | |
</release> | |
<release version="1.9.1" date="2014-01-11" description="Bug fix for 1.9.0"> | |
<action dev="oheger" type="fix" issue="BEANUTILS-456"> | |
Write methods for PropertyDescriptors created during custom introspection are lost | |
</action> | |
</release> | |
<release version="1.9.0" date="2013-12-11" description="Upgrade to Java 5 including generics where possible"> | |
<action dev="oheger" type="add" issue="BEANUTILS-455"> | |
WrapDynaBeans always use the default PropertyUtilsBean instance | |
</action> | |
<action dev="oheger" type="update" issue="BEANUTILS-454"> | |
BeanUtilsBean.copyProperties() throws conversion exception for null Date | |
</action> | |
<action dev="oheger" type="update" issue="BEANUTILS-452"> | |
Add generics | |
</action> | |
<action dev="oheger" type="update" issue="BEANUTILS-449"> | |
LocaleConverters do not take the target type into account | |
</action> | |
<action dev="oheger" type="update" issue="BEANUTILS-448"> | |
LocaleConverters do not check their default value | |
</action> | |
<action dev="oheger" type="update" issue="BEANUTILS-447"> | |
LazyDynaList.toArray() is not conform to the contract defined by the | |
Collection interface | |
</action> | |
<action dev="oheger" type="update" issue="BEANUTILS-446"> | |
Some of the converters ignore the passed in target type | |
</action> | |
<action dev="oheger" type="update" issue="BEANUTILS-445"> | |
Converters can return an invalid result object if a default value is set | |
</action> | |
<action dev="oheger" type="update" issue="BEANUTILS-441" due-to="Samir Kerroumi"> | |
Replace UnmodifiableSet.decorate with Collections.unModifiableSet | |
</action> | |
<action dev="britter" type="update" issue="BEANUTILS-436"> | |
Replace package.html with package-info.java | |
</action> | |
<action dev="britter" type="update" issue="BEANUTILS-438"> | |
Add @Deprecated and @Override Annotations | |
</action> | |
<action dev="britter" type="update" issue="BEANUTILS-437"> | |
Replace Date and Revision SVN keywords with Id | |
</action> | |
<action dev="britter" type="update" issue="BEANUTILS-431"> | |
Remove @author tags and move missing authors to pom.xml | |
</action> | |
<action dev="britter" type="update" issue="BEANUTILS-432"> | |
Switch to Java 1.5 | |
</action> | |
<action dev="oheger" type="add" issue="BEANUTILS-428"> | |
Provide a BeanIntrospector implementation which supports properties in a fluent API | |
</action> | |
<action dev="oheger" type="add" issue="BEANUTILS-425"> | |
Support customization of introspection mechanism | |
</action> | |
<action dev="britter" type="fix" issue="BEANUTILS-411" due-to="Marcus Zander"> | |
BeanUtilsBean.setProperty throws IllegalArgumentException if getter of nested property returns null | |
</action> | |
<action dev="britter" type="update" issue="BEANUTILS-429"> | |
Delete trailing white spaces and white spaces on empty lines from all files | |
</action> | |
<action dev="britter" type="update" issue="BEANUTILS-427"> | |
Configure Checkstyle to check for trailing white spaces and white spaces on empty lines | |
</action> | |
<action dev="britter" type="fix" issue="BEANUTILS-408"> | |
MethodUtils.invokeMethod() throws NullPointerException when args==null | |
</action> | |
<action dev="britter" type="fix" issue="BEANUTILS-426"> | |
ConstructorUtils.invokeConstructor(Class klass, Object arg) throws | |
NullPointerException when arg==null | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-380" due-to="Brendan Nolan"> | |
BeanMap methods should initialize the root cause of exceptions that are thrown | |
when running on JDK 1.4+ | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-379"> | |
Remove copied Collection classes. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-378" due-to="Christian Schneider"> | |
BeanMap does not work in osgi (fixed by BEANUTILS-379) | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-381" due-to="Todd Nine"> | |
MethodUtils getMatchingAccessibleMethod() does not correctly handle inheritance | |
and method overloading. | |
</action> | |
</release> | |
<release version="1.8.3" date="2010-03-28" description="Bug fix for 1.8.2"> | |
<action dev="niallp" type="fix" issue="BEANUTILS-373" due-to="Andrew Sunde"> | |
MethodUtils is not thread safe because WeakFastHashMap which uses WeakHashMap is not thread-safe | |
(duplicate of BEANUTILS-318 which was not fixed properly in BeanUtils 1.8.0). | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-371" due-to="David Tonhofer"> | |
Add constructors which have useColumnLabel parameter to ResultSetDynaClass and RowSetDynaClass. | |
</action> | |
</release> | |
<release version="1.8.2" date="2009-11-13" description="Bug fix for 1.8.1"> | |
<action dev="niallp" type="fix" issue="BEANUTILS-368" due-to="Peter Fassev"> | |
NullPointerException in BeanUtilsBean .setProperty() | |
</action> | |
</release> | |
<release version="1.8.1" date="2009-10-20" description="Bug fixes for 1.8.0"> | |
<action dev="niallp" type="fix" issue="BEANUTILS-300" due-to="Henri and Sebb"> | |
NPE in LazyDynaList | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-327" due-to="Sascha Riemann"> | |
JDBCDynaClass throws class not found exception under java6 | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-336" due-to="Sebb"> | |
MappedPropertyDescriptor#reLoadClass() possible NPE / odd code; also swallows Throwable | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-339" due-to="Alan Escreet"> | |
BeanUtilsBean.setProperty throws IllegalArgumentException if value is null | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-345" due-to="Simone Riccucci"> | |
BeanUtilsBean.setProperty does not handle some kind of nested properties | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-347" due-to="Eickvonder"> | |
MappedPropertyDescriptor throws an exception after method reference has been garbage collected | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-349" due-to="Eivind Tagseth"> | |
copyProperties throws NullPointerException if an IllegalArgumentException is thrown due to a null value parameter for a primitive | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-351" due-to="Lucian Chirita"> | |
FloatLocaleConverter cannot parse 0 | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-354" due-to="Anders Wallgren"> | |
Type in BooleanConverter: "Cna't convert value" | |
</action> | |
<action dev="niallp" type="update" issue="BEANUTILS-333" due-to="Lukasz Lenart"> | |
Avoid calling setAccessible() if not needed | |
</action> | |
<action dev="niallp" type="update" issue="BEANUTILS-344" due-to="Viral"> | |
Method createDynaProperty of JDBCDynaClass should first look for column label instead of column name in ResultSetMetadata | |
object.. | |
</action> | |
<action dev="niallp" type="update" issue="BEANUTILS-350" due-to="rodrigo hernandez"> | |
change visibility of method "evaluateValue" belongs to the class BeanPropertyValueEqualsPredicate to "protected". | |
</action> | |
</release> | |
<release version="1.8.0" date="2008-09-01" description="Converter improvements, Plugable expression Resolver and bug fixes for 1.7.0"> | |
<action dev="niallp" type="fix" issue="BEANUTILS-265" due-to="Tom Schindl and Romain Muller"> | |
Allow access to non public class's public methods from a public sub-classes. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-291" due-to="Clebert Suconic "> | |
Circular Reference on WeakHashMap. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-294" due-to="Stephen Leung"> | |
BeanUtilsBean.setProperty() does not support nested map. | |
</action> | |
<action dev="bayard" type="fix" issue="BEANUTILS-295" due-to="Stefan Wohlgemuth"> | |
Unnecessary Garbage Objects in Class PropertyUtilsBean. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-297" due-to="Alex Tkachev"> | |
ConvertingWrapDynaBean hides cause exceptions. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-298" due-to="Roman Mukhin"> | |
MethodUtils.getAccessibleMethod(Method method) could not find right public method. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-302" due-to="Martin Bartlett"> | |
NPE in ArrayConverter when converting a non-quoted string with underscores to a string array. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-306" due-to="Lucian Chirita"> | |
LocaleConvertUtilsBean.convert throws NPE on null Locale when debug logging is enabled. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-318" due-to="Sylvain Legault"> | |
Fix WeakHashMap is not thread safe in MethodUtils using new FastWeakHashMap. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-319" due-to="Erik Erskine"> | |
PropertyUtils.getPropertyType fails for DynaBeans contained within a normal bean. | |
</action> | |
<action dev="niallp" type="fix" issue="BEANUTILS-326" due-to="Vladimir Orlov"> | |
Iterating by a Map' key/value pairs in BeanUtilsBean and PropertyUtilsBean. | |
</action> | |
</release> | |
<release version="1.8.0-BETA" date="2007-08-04" description="Trial Beta release"> | |
<action dev="niallp" type="add" issue="BEANUTILS-259"> | |
Add plugable property name expression Resolver. | |
</action> | |
<action dev="niallp" type="update" issue="BEANUTILS-258"> | |
General Converter implementation improvements: New AbstractConverter which provides | |
a basic structure for Converter implementations and new NumberConverter implementation. | |
</action> | |
<action dev="niallp" type="add" issue="BEANUTILS-242"> | |
Add new generic ArrayConverter implementation. | |
</action> | |
<action dev="niallp" type="add" issue="BEANUTILS-255"> | |
Add new generic DateTimeConverter implementation. | |
</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 behavior 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" due-to="Matthew Sgarlata and Corey Scott"> | |
Fix javadoc - IllegalArgumentException in BeanUtils.copyProperties | |
when property types don't match. | |
</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 overridden 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 behavior of PropertyUtilsBean, eg in order to restore pre-1.5 behavior. | |
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 java.util.Map objects - | |
Map methods are always used on a Map object. Reverts BEANUTILS-144. | |
See BEANUTILS-162 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: Use new AbstractArrayConverter constructors and | |
Convert strings to booleans by invoking a BooleanConverter rather than | |
hard-wiring the conversion. | |
</action> | |
<action dev="skitching" type="update" due-to="Eric Rizzo"> | |
BooleanConverter: Add facility for user to override the default set | |
of true and false string definitions and provide ability to pass special | |
NO_DEFAULT object as the "defaultValue" constructor parameter. | |
</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 href="https://commons.apache.org/beanutils/commons-beanutils-1.7.0/RELEASE-NOTES.txt | |
</action> | |
</release> | |
<release version="1.6.1" date="2003-02-18"> | |
<action type="update"> | |
See https://commons.apache.org/beanutils/commons-beanutils-1.6.1/RELEASE-NOTES.txt | |
</action> | |
</release> | |
<release version="1.6" date="2003-01-21"> | |
<action type="update"> | |
See https://commons.apache.org/beanutils/commons-beanutils-1.6/RELEASE-NOTES.txt | |
</action> | |
</release> | |
<release version="1.5" date="2002-10-23"> | |
<action type="update"> | |
See https://commons.apache.org/beanutils/commons-beanutils-1.5/RELEASE-NOTES.txt | |
</action> | |
</release> | |
<release version="1.4.1" date="2002-08-28"> | |
<action type="fix"> | |
See https://commons.apache.org/beanutils/commons-beanutils-1.4.1/RELEASE-NOTES.txt | |
</action> | |
</release> | |
<release version="1.4" date="2002-08-13"> | |
<action type="update"> | |
See https://commons.apache.org/beanutils/commons-beanutils-1.4/RELEASE-NOTES.txt | |
</action> | |
</release> | |
<release version="1.3" date="2002-04-29"> | |
<action type="update"> | |
See https://commons.apache.org/beanutils/commons-beanutils-1.3/RELEASE-NOTES.txt | |
</action> | |
</release> | |
<release version="1.2" date="2001-12-24"> | |
<action type="update"> | |
See https://commons.apache.org/beanutils/commons-beanutils-1.2/RELEASE-NOTES.txt | |
</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> |