Apache Commons logo Commons BeanUtils

Apache Commons BeanUtils Release Notes

Release History

Version Date Description
2.0.0-M2 YYYY-MM-DD This is a major release and requires Java 8.
2.0.0-M1 2024-12-27 This is a major release and requires Java 8
1.10.0 2024-12-26 This is a maintenance release, requires Java 8.
1.9.4 2019-08-13 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.
1.9.3 2016-09-21 Bug fix release, now builds with Java 8
1.9.2 2014-05-29 Added a new BeanIntrospector for addressing a potential class loader vulnerability
1.9.1 2014-01-11 Bug fix for 1.9.0
1.9.0 2013-12-11 Upgrade to Java 5 including generics where possible
1.8.3 2010-03-28 Bug fix for 1.8.2
1.8.2 2009-11-13 Bug fix for 1.8.1
1.8.1 2009-10-20 Bug fixes for 1.8.0
1.8.0 2008-09-01 Converter improvements, Plugable expression Resolver and bug fixes for 1.7.0
1.8.0-BETA 2007-08-04 Trial Beta release
1.7.0 2004-08-02  
1.6.1 2003-02-18  
1.6 2003-01-21  
1.5 2002-10-23  
1.4.1 2002-08-28  
1.4 2002-08-13  
1.3 2002-04-29  
1.2 2001-12-24  
1.1 2001-09-22  
1.0 2001-07-14 Initial Release

Release 2.0.0-M2 – YYYY-MM-DD

Type Changes By
Update Bump org.apache.commons:commons-parent from 78 to 79. Thanks to Gary Gregory. ggregory

Release 2.0.0-M1 – 2024-12-27

Type Changes By
Update Change packaging from org.apache.commons.beanutils to org.apache.commons.beanutils2. Fixes BEANUTILS-503. Thanks to Gary Gregory. ggregory
Fix Double-Checked Locking anti pattern in WeakFastHashMap. Fixes BEANUTILS-402. Thanks to Melloware. melloware
Update Add missing serialVersionUID to Serializable classes. Fixes BEANUTILS-505. Thanks to Gary Gregory. ggregory
Update Add Automatic-Module-Name entry to MANIFEST.MF. Fixes BEANUTILS-512. Thanks to Gary Gregory. ggregory
Update Remove deprecated code for 2.0.0. Fixes BEANUTILS-514. Thanks to Gary Gregory. ggregory
Update WeakHashmap enters into infinite loop in WrapDynaClass.java. Fixes BEANUTILS-509. Thanks to sunil, Akshay Gehi. ggregory
Update BeanUtils2 mitigate CVE-2014-0114. Fixes BEANUTILS-520. Thanks to Melloware. ggregory
Update Convert Collections4 to java.util.function. #8. Fixes BEANUTILS-527. Thanks to Melloware, Matt Sicker, Gary Gregory. ggregory
Remove Removed Commons Collections dependency. #8. Fixes BEANUTILS-527. Thanks to Melloware, Matt Sicker, Gary Gregory. ggregory
Update New converters for UUID, URI, and Path #10. Fixes BEANUTILS-528. Thanks to Melloware, Matt Sicker, Gary Gregory. ggregory
Add New converters for Java 8 Time classes #13. Fixes BEANUTILS-530. Thanks to Melloware, Matt Sicker, Gary Gregory. ggregory
Update Log at the debug level instead of info. Fixes BEANUTILS-529. Thanks to Gary Gregory. ggregory
Update Fix typos; fix error in Javadoc; performance fix; fix code smells #25. Fixes BEANUTILS-537. Thanks to XenoAmess, Gary Gregory. ggregory
Fix Refactor logger usage #72. Thanks to Andrei Korzhevskii, Gary Gregory. ggregory
Fix Migrate to JUnit 5 #93, #283, #284, #285, #287. Thanks to SethFalco, Steve Bosman, Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix 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. Thanks to Gary Gregory. ggregory
Fix Replace Commons Collections Test Framework 3.2.2 with 4.5.0-M3 #40. Thanks to Melloware, sebbASF, Gary Gregory, Michal Landsman. ggregory
Fix Provide error index in ConversionException message in DateTimeConverter.parse(Class, Class, String, DateFormat). Thanks to Gary Gregory. ggregory
Fix Avoid possible NPE in DateTimeConverter.parse(Class, Class, String). Thanks to Gary Gregory. ggregory
Fix Annotate Converter with @FunctionalInterface. Thanks to Claude Warren, Gary Gregory. ggregory
Fix Fix JDK 21 CI failure due to locale changes #201. Fixes BEANUTILS-564. Thanks to SingingBush. ggregory
Fix Fix warnings and To-Dos #92. Thanks to Seth Falco. ggregory
Fix Replace internal use of Locale.ENGLISH with Locale.ROOT. Thanks to Gary Gregory. ggregory
Fix FluentPropertyBeanIntrospector caches corrupted writeMethod (2.x) #68. Fixes BEANUTILS-541. Thanks to Sergey Chernov. ggregory
Add New converter for Enum. Fixes BEANUTILS-346. Thanks to Melloware. melloware
Add Add github/codeql-action #118. Thanks to Dependabot, Gary Gregory. ggregory
Add Add and use ConversionException.format(String, Object...). Thanks to Dependabot, Gary Gregory. ggregory
Add Add Converters for additional types: Color, Dimension, InetAddress, Locale, Pattern, Point #47. Thanks to Seth Falco, Gary Gregory. ggregory
Add Make PropertyUtilsBean.getReadMethod(Class, PropertyDescriptor) public #232. Thanks to Sergey Chernov, Gary Gregory. ggregory
Update Bump actions/cache from 2 to 3.0.11 #77, #89, #103, #111. #137, #141. Thanks to Dependabot, Gary Gregory. ggregory
Update Update actions/checkout from 2.3.1 to 3.0.2 #33, #108. Thanks to Dependabot, Gary Gregory. ggregory
Update Update actions/setup-java from 1.4.0 to 3.6.0 #35, #114, #144. Thanks to Dependabot, Gary Gregory. ggregory
Update Bump actions/upload-artifact from 3.1.0 to 3.1.1 #143. Thanks to Dependabot. ggregory
Update Bump Apache Commons Collections from 4.3 to 4.4. Fixes BEANUTILS-522. Thanks to Gary Gregory. ggregory
Update Bump Java from 6 to 7. Fixes BEANUTILS-504. Thanks to Gary Gregory. ggregory
Update Bump Java from 7 to 8. Fixes BEANUTILS-515. Thanks to Gary Gregory. ggregory
Update Bump junit-jupiter from 5.7.2 to 5.9.1 #113, #126, #134. Thanks to Dependabot. ggregory
Update Bump JUnit from 4 to 5.9.1 vintage, #78, #112, #127, #136. Thanks to Gary Gregory, Dependabot. ggregory
Update Bump Jacoco from 0.8.4 to 0.8.8. Thanks to Gary Gregory. ggregory
Update Bump JApiCmp from 0.12.0 to 0.17.1, #46, #110, #130, #146. Thanks to Gary Gregory, Dependabot. ggregory
Update Bump maven-surefire-plugin from 2.22.1 to 3.0.0-M7, #116, #122. Thanks to Gary Gregory, Dependabot. ggregory
Update Bump maven-checkstyle-plugin from 3.0.0 to 3.2.0, #76, #129. Thanks to Gary Gregory, Dependabot. ggregory
Update Bump maven-pmd-plugin from 3.12.0 to 3.19.0, #120, #128, #131. Thanks to Gary Gregory, Dependabot. ggregory
Update Bump BC version from 1.9.3 to 1.9.4. Thanks to Gary Gregory. ggregory
Update Bump org.apache.commons:commons-parent from 50 to 74 #229, #245, #254, #264, #274, #279. Thanks to Gary Gregory, Dependabot. ggregory
Update Bump biz.aQute.bndlib from 5.1.0 to 6.4.1 #29, #45, #79, #109, #119, #121, #147, #175. Thanks to Dependabot. ggregory
Update Jacoco 0.8.6 for JDK15 support #55. Thanks to melloware. ggregory
Update Updated URLConverterTestCase to run without Internet access #50. Thanks to SethFalco. ggregory
Update Don't initialize variables to defaults #71. Thanks to Arturo Bernal. ggregory
Update Bump spotbugs-maven-plugin from 4.5.3.0 to 4.6.0.0. Thanks to Dependabot. ggregory
Update Bump spotbugs from 4.5.3 to 4.6.0. Thanks to Dependabot. ggregory
Update Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.17.0 #263, #269, #280. Thanks to Gary Gregory, Dependabot. ggregory
Update Bump commons-logging:commons-logging from 1.2 to 1.3.4 #226, #246, #259, #275. Thanks to Gary Gregory, Dependabot. ggregory
Update Bump org.apache.commons:commons-parent from 74 to 78 #291, #295, #299, #306. Thanks to Gary Gregory, Dependabot. ggregory
Remove Removed BeanUtilsBean2, use BeanUtilsBean. BeanUtilsBean2 functionality is now in BeanUtilsBean. Previous BeanUtilsBean functionality for those methods is no longer supported. Thanks to Gary Gregory, Niall Pemberton. ggregory
Remove Removed ConvertUtilsBean2, use ConvertUtilsBean. ConvertUtilsBean2 functionality is now in ConvertUtilsBean. Previous ConvertUtilsBean functionality for those methods is no longer supported. Thanks to Gary Gregory, Niall Pemberton. ggregory
Remove Do not implement Serializable. Thanks to Gary Gregory. ggregory

Release 1.10.0 – 2024-12-26

Type Changes By
Fix FluentPropertyBeanIntrospector caches corrupted writeMethod (1.x backport) #69. Fixes BEANUTILS-541. Thanks to Sergey Chernov. ggregory
Fix Replace internal use of Locale.ENGLISH with Locale.ROOT. Thanks to Gary Gregory. ggregory
Fix Replace Maven CLIRR plugin with JApiCmp. Thanks to Gary Gregory. ggregory
Fix Port to Java 1.4 Throwable APIs (!). Thanks to Gary Gregory. ggregory
Fix Fix Javadoc generation on Java 8, 17, and 21. Thanks to Gary Gregory. ggregory
Fix AbstractArrayConverter.parseElements(String) now returns a List<String> instead of a raw List. Thanks to Gary Gregory. ggregory
Update Bump org.apache.commons:commons-parent from 47 to 78. Thanks to Gary Gregory. ggregory
Update Bump Java requirement from Java 6 to 8. Thanks to Gary Gregory. ggregory
Update Bump junit:junit from 4.12 to 4.13.2. Thanks to Gary Gregory. ggregory
Update Bump JUnit from 4.x to 5.x "vintage". Thanks to Gary Gregory. ggregory
Update Bump commons-logging:commons-logging from 1.2 to 1.3.4. Thanks to Gary Gregory. ggregory
Update Deprecate BeanUtilsBean.initCause(Throwable, Throwable) for removal, use Throwable.initCause(Throwable). Thanks to Gary Gregory. ggregory
Update Deprecate BeanUtils.initCause(Throwable, Throwable) for removal, use Throwable.initCause(Throwable). Thanks to Gary Gregory. ggregory

Release 1.9.4 – 2019-08-13

Type Changes By
Fix BeanUtils mitigation of CVE-2014-0114. (CVE-2019-10086 for commons-beanutils). Fixes BEANUTILS-520. Thanks to Melloware. chtompki

Release 1.9.3 – 2016-09-21

Type Changes By
Update Update dependency from JUnit 3.8.1 to 4.12. Fixes BEANUTILS-433. Thanks to Benedikt Ritter, Gary Gregory. ggregory
Fix Indexed List Setters no longer work. Fixes BEANUTILS-465. Thanks to Daniel Atallah. oheger
Update Update commons-logging from 1.1.1 to 1.2. Fixes BEANUTILS-469. Thanks to Gary Gregory. ggregory
Fix Precision lost when converting BigDecimal. Fixes BEANUTILS-470. Thanks to Tommy Tynjä. oheger
Update FluentPropertyBeanIntrospector does not use the same naming algorithm as DefaultBeanIntrospector. Fixes BEANUTILS-474. Thanks to Michael Grove. ggregory
Fix Changed log level of warnings from FluentPropertyBeanIntrospector; exceptions are no longer logged with level WARN. Fixes BEANUTILS-477. oheger
Update Update commons-collections from 3.2.1 to 3.2.2. (CVE-2015-4852). Fixes BEANUTILS-482. Thanks to Gary Gregory. ggregory
Update Update Java requirement from Java 5 to 6. Fixes BEANUTILS-490. Thanks to Gary Gregory. ggregory
Update IndexedPropertyDescriptor not supported for List in Java 8. Fixes BEANUTILS-492. Thanks to Stian Soiland-Reyes. stain
Fix Exception when setting indexed properties: "Default conversion to ArrayList failed". Fixes BEANUTILS-493. Thanks to Bernhard Seebass. stain
Update DateConverterTestBase fails on M/d/yy in Java 9. Fixes BEANUTILS-495. Thanks to Stian Soiland-Reyes. stain
Update testGetDescriptorInvalidBoolean fails on Java 9. Fixes BEANUTILS-496. Thanks to Stian Soiland-Reyes. stain

Release 1.9.2 – 2014-05-29

Type Changes By
Add Class loader vulnerability in DefaultResolver (). Fixes BEANUTILS-463. oheger
Fix BaseLocaleConverter.checkConversionResult() fails with ConversionException when result is null when it should not. Fixes BEANUTILS-458. Thanks to Manuel Dominguez Sarmiento. oheger

Release 1.9.1 – 2014-01-11

Type Changes By
Fix Write methods for PropertyDescriptors created during custom introspection are lost. Fixes BEANUTILS-456. oheger

Release 1.9.0 – 2013-12-11

Type Changes By
Add WrapDynaBeans always use the default PropertyUtilsBean instance. Fixes BEANUTILS-455. oheger
Update BeanUtilsBean.copyProperties() throws conversion exception for null Date. Fixes BEANUTILS-454. oheger
Update Add generics. Fixes BEANUTILS-452. oheger
Update LocaleConverters do not take the target type into account. Fixes BEANUTILS-449. oheger
Update LocaleConverters do not check their default value. Fixes BEANUTILS-448. oheger
Update LazyDynaList.toArray() is not conform to the contract defined by the Collection interface. Fixes BEANUTILS-447. oheger
Update Some of the converters ignore the passed in target type. Fixes BEANUTILS-446. oheger
Update Converters can return an invalid result object if a default value is set. Fixes BEANUTILS-445. oheger
Update Replace UnmodifiableSet.decorate with Collections.unModifiableSet. Fixes BEANUTILS-441. Thanks to Samir Kerroumi. oheger
Update Replace package.html with package-info.java. Fixes BEANUTILS-436. britter
Update Add @Deprecated and @Override Annotations. Fixes BEANUTILS-438. britter
Update Replace Date and Revision SVN keywords with Id. Fixes BEANUTILS-437. britter
Update Remove @author tags and move missing authors to pom.xml. Fixes BEANUTILS-431. britter
Update Switch to Java 1.5. Fixes BEANUTILS-432. britter
Add Provide a BeanIntrospector implementation which supports properties in a fluent API. Fixes BEANUTILS-428. oheger
Add Support customization of introspection mechanism. Fixes BEANUTILS-425. oheger
Fix BeanUtilsBean.setProperty throws IllegalArgumentException if getter of nested property returns null. Fixes BEANUTILS-411. Thanks to Marcus Zander. britter
Update Delete trailing white spaces and white spaces on empty lines from all files. Fixes BEANUTILS-429. britter
Update Configure Checkstyle to check for trailing white spaces and white spaces on empty lines. Fixes BEANUTILS-427. britter
Fix MethodUtils.invokeMethod() throws NullPointerException when args==null. Fixes BEANUTILS-408. britter
Fix ConstructorUtils.invokeConstructor(Class klass, Object arg) throws NullPointerException when arg==null. Fixes BEANUTILS-426. britter
Fix BeanMap methods should initialize the root cause of exceptions that are thrown when running on JDK 1.4+. Fixes BEANUTILS-380. Thanks to Brendan Nolan. niallp
Fix Remove copied Collection classes. Fixes BEANUTILS-379. niallp
Fix BeanMap does not work in osgi (fixed by BEANUTILS-379). Fixes BEANUTILS-378. Thanks to Christian Schneider. niallp
Fix MethodUtils getMatchingAccessibleMethod() does not correctly handle inheritance and method overloading. Fixes BEANUTILS-381. Thanks to Todd Nine. niallp

Release 1.8.3 – 2010-03-28

Type Changes By
Fix 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). Fixes BEANUTILS-373. Thanks to Andrew Sunde. niallp
Fix Add constructors which have useColumnLabel parameter to ResultSetDynaClass and RowSetDynaClass. Fixes BEANUTILS-371. Thanks to David Tonhofer. niallp

Release 1.8.2 – 2009-11-13

Type Changes By
Fix NullPointerException in BeanUtilsBean .setProperty(). Fixes BEANUTILS-368. Thanks to Peter Fassev. niallp

Release 1.8.1 – 2009-10-20

Type Changes By
Fix NPE in LazyDynaList. Fixes BEANUTILS-300. Thanks to Henri and Sebb. niallp
Fix JDBCDynaClass throws class not found exception under java6. Fixes BEANUTILS-327. Thanks to Sascha Riemann. niallp
Fix MappedPropertyDescriptor#reLoadClass() possible NPE / odd code; also swallows Throwable. Fixes BEANUTILS-336. Thanks to Sebb. niallp
Fix BeanUtilsBean.setProperty throws IllegalArgumentException if value is null. Fixes BEANUTILS-339. Thanks to Alan Escreet. niallp
Fix BeanUtilsBean.setProperty does not handle some kind of nested properties. Fixes BEANUTILS-345. Thanks to Simone Riccucci. niallp
Fix MappedPropertyDescriptor throws an exception after method reference has been garbage collected. Fixes BEANUTILS-347. Thanks to Eickvonder. niallp
Fix copyProperties throws NullPointerException if an IllegalArgumentException is thrown due to a null value parameter for a primitive. Fixes BEANUTILS-349. Thanks to Eivind Tagseth. niallp
Fix FloatLocaleConverter cannot parse 0. Fixes BEANUTILS-351. Thanks to Lucian Chirita. niallp
Fix Type in BooleanConverter: "Cna't convert value". Fixes BEANUTILS-354. Thanks to Anders Wallgren. niallp
Update Avoid calling setAccessible() if not needed. Fixes BEANUTILS-333. Thanks to Lukasz Lenart. niallp
Update Method createDynaProperty of JDBCDynaClass should first look for column label instead of column name in ResultSetMetadata object.. Fixes BEANUTILS-344. Thanks to Viral. niallp
Update change visibility of method "evaluateValue" belongs to the class BeanPropertyValueEqualsPredicate to "protected". Fixes BEANUTILS-350. Thanks to rodrigo hernandez. niallp

Release 1.8.0 – 2008-09-01

Type Changes By
Fix Allow access to non public class's public methods from a public sub-classes. Fixes BEANUTILS-265. Thanks to Tom Schindl and Romain Muller. niallp
Fix Circular Reference on WeakHashMap. Fixes BEANUTILS-291. Thanks to Clebert Suconic. niallp
Fix BeanUtilsBean.setProperty() does not support nested map. Fixes BEANUTILS-294. Thanks to Stephen Leung. niallp
Fix Unnecessary Garbage Objects in Class PropertyUtilsBean. Fixes BEANUTILS-295. Thanks to Stefan Wohlgemuth. bayard
Fix ConvertingWrapDynaBean hides cause exceptions. Fixes BEANUTILS-297. Thanks to Alex Tkachev. niallp
Fix MethodUtils.getAccessibleMethod(Method method) could not find right public method. Fixes BEANUTILS-298. Thanks to Roman Mukhin. niallp
Fix NPE in ArrayConverter when converting a non-quoted string with underscores to a string array. Fixes BEANUTILS-302. Thanks to Martin Bartlett. niallp
Fix LocaleConvertUtilsBean.convert throws NPE on null Locale when debug logging is enabled. Fixes BEANUTILS-306. Thanks to Lucian Chirita. niallp
Fix Fix WeakHashMap is not thread safe in MethodUtils using new FastWeakHashMap. Fixes BEANUTILS-318. Thanks to Sylvain Legault. niallp
Fix PropertyUtils.getPropertyType fails for DynaBeans contained within a normal bean. Fixes BEANUTILS-319. Thanks to Erik Erskine. niallp
Fix Iterating by a Map' key/value pairs in BeanUtilsBean and PropertyUtilsBean. Fixes BEANUTILS-326. Thanks to Vladimir Orlov. niallp

Release 1.8.0-BETA – 2007-08-04

Type Changes By
Add Add plugable property name expression Resolver. Fixes BEANUTILS-259. niallp
Update General Converter implementation improvements: New AbstractConverter which provides a basic structure for Converter implementations and new NumberConverter implementation. Fixes BEANUTILS-258. niallp
Add Add new generic ArrayConverter implementation. Fixes BEANUTILS-242. niallp
Add Add new generic DateTimeConverter implementation. Fixes BEANUTILS-255. niallp
Update Better implementation of SqlDateConverter. Modified SqlDateConverter, SqlTimeConverter and SqlTimestampConverter to accept java.util.Date and Calendar object instances. Added tests. Fixes BEANUTILS-239. Thanks to Rafael Afonso. vgritsenko
Add New Facade converter implementation - hide non-Converter public APIs. Fixes BEANUTILS-286. niallp
Update Add "t/f" to BooleanConverter. Fixes BEANUTILS-229. skitching
Update Support Mapped property inside a mapped property. Fixes BEANUTILS-43. Thanks to Firepica and Thomas Jacob. niallp
Update Support Indexed property inside a mapped property. Fixes BEANUTILS-113. Thanks to Firepica and Ludwig Wensauer. niallp
Update Support Arrays with multiple dimension. Fixes BEANUTILS-247. Thanks to Christian Poitras, Thomas Jacob and scott sadlo. niallp
Update Include bean class in the message of PropertyUtilsBean exceptions. Fixes BEANUTILS-207. Thanks to Erik Meade. bayard
Update Provide better error message for "argument type mismatch". Fixes BEANUTILS-224. Thanks to Ralf Hauser. bayard
Update Improved messages for unknown properties. Fixes BEANUTILS-30. Thanks to Barry Kaplan. bayard
Update MethodUtils.invoke for static methods. Fixes BEANUTILS-193. Thanks to Nestor Boscan. bayard
Update 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). Fixes BEANUTILS-266. Thanks to Brian Ewins and Commons HttpClient. niallp
Add Add lazyDynaList. Thanks to Vic Cekvenich. niallp
Add Provide a Map decorator for a DynaBean (enables DynaBean to be used with other teechnologies such as JSTL). Fixes BEANUTILS-185. Thanks to Gabriel Belingueres. niallp
Update Implement equals() and hashCode() methods for DynaProperty. Fixes BEANUTILS-233. Thanks to Russell. niallp
Fix BeanUtils's tests fail to compile under JDK 1.6. Fixes BEANUTILS-243. Thanks to Henri Yandell. niallp
Fix Lock in BeanUtilsBean.getInstance(. Fixes BEANUTILS-49. Thanks to Jesper Richter-Reichhelm. niallp
Fix Beanutils's describe() method cannot determine reader methods for anonymous class. Fixes BEANUTILS-157. Thanks to Thorbjorn Ravn Andersen. niallp
Fix Added warning about describe behavior to the javadocs. Fixes BEANUTILS-158. rdonkin
Fix BeanUtilsBean's setProperty() does not convert objects using custom converters properly. Fixes BEANUTILS-249. Thanks to Brad. niallp
Fix Fix javadoc - IllegalArgumentException in BeanUtils.copyProperties when property types don't match. Fixes BEANUTILS-17. Thanks to Matthew Sgarlata and Corey Scott. niallp
Fix Writing to a mapped property requires a setter for a map, but never uses it. Fixes BEANUTILS-68. Thanks to Dmitry Platonoff. niallp
Fix BeanUtilsBean.getArrayProperty() does not use ConvertUtils. Fixes BEANUTILS-110. Thanks to Etienne Bernard. niallp
Fix MappedPropertyDescriptor - replace copied code. Fixes BEANUTILS-6. Thanks to Sam Ruby. niallp
Fix MappedPropertyDescriptor: Add comments re: * use of static variable safe in shared classloader * memory leak possible on webapp undeploy. skitching
Fix MappedPropertyDescriptor doesn't recognize boolean property accessor. Fixes BEANUTILS-69. Thanks to Chris Audley. niallp
Fix Add test for MappedPropertyDescriptor with different types on get/set methods. Fixes BEANUTILS-163. niallp
Fix LocaleBeanUtils setProperty does not work on nested property. Fixes BEANUTILS-140. Thanks to Marco La Porta. niallp
Fix Package scope implementation of a public interface for mapped property fails (fixed by changes to MappedPropertyDescriptor associated with BEANUTILS-6). Fixes BEANUTILS-87. Thanks to YOKOTA Takehiko. niallp
Fix 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). Fixes BEANUTILS-33. Thanks to Eoin Curran. niallp
Fix Public methods overridden in anonymous or private subclasses are not recognized by PropertyUtils. Fixes BEANUTILS-273. Thanks to Marcelo Liberato. niallp
Fix PropertyUtilsBean's isReadable() / isWriteable() always return false for mapped properties. Fixes BEANUTILS-88. Thanks to Chuck Daniels. niallp
Fix PropertyUtilsBean isReadable() and isWriteable() methods do not work correctly for WrapDynaBean. Fixes BEANUTILS-61. Thanks to Brian Ewins. niallp
Fix PropertyUtils.isReadable() and PropertyUtils.getProperty() not consistent. Fixes BEANUTILS-18. Thanks to Maarten Coene. niallp
Fix PropertyUtilsBean.copyProperties does not catch NoSuchMethodException. Fixes BEANUTILS-92. Thanks to Will Pugh. bayard
Fix PropertyUtilsBean.getIndexedProperty()'s javadoc should indicate IndexOutOufBoundsException can be thrown rather than just ArrayIndexOutOufBoundsException. Fixes BEANUTILS-256. Thanks to Torsten Feig. niallp
Fix 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... Fixes BEANUTILS-162. skitching
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. skitching
Fix Correct getPropertyDescriptor() and setNestedProperty() methods to throw a NestedNullException rather than just IllegalArgumentException (consistent with the getNestedProperty() method). Fixes BEANUTILS-262. niallp
Fix Problems on indexed property with JDK 1.4. Fixes BEANUTILS-97. niallp
Update BooleanArrayConverter: Use new AbstractArrayConverter constructors and Convert strings to booleans by invoking a BooleanConverter rather than hard-wiring the conversion. skitching
Update 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. Thanks to Eric Rizzo. skitching
Update AbstractArrayConverter: provide ability to pass special NO_DEFAULT object as the "defaultValue" constructor parameter. skitching
Fix DecimalLocaleConverter and subClasses never throw a ConversionException. Fixes BEANUTILS-78. Thanks to Stefan Lotscher. niallp
Fix FloatLocaleConverter cannot parse negative values. Fixes BEANUTILS-44. Thanks to Paul Jenkins. niallp
Fix Improve ClassConverter robustness. Fixes BEANUTILS-263. Thanks to Alex Albu. niallp
Fix DateLocaleConverter does not always throw an Exception for invalid dates. Fixes BEANUTILS-271. Thanks to Nico Hoogervorst. niallp
Fix Don't try parsing values that are already Dates/Numbers in Date/Number locale Converters. Fixes BEANUTILS-288. niallp
Fix WrapDynaClass: Added comment re potential memory leak, and safety when using shared classloader skitching
Fix Make WrapDynaBean Serializable. niallp
Fix WrapDynaBeanTestCase failing with jikes/kaffe because of static List in TestBean. Fixes BEANUTILS-36. Thanks to Jack. niallp
Fix Misleading error message in ConvertingWrapDynaBean. Fixes BEANUTILS-23. Thanks to Aslak Hellesoy. niallp
Fix LazyDynaBean: don't try and instantiate properties of type Object.class. Fixes BEANUTILS-24. Thanks to Roi Ares. niallp
Fix LazyDynabean Javadoc corrections. Fixes BEANUTILS-133. Thanks to Masoud Omidvar. niallp
Fix LazyDynaClass can create a DynaProperty with a "null" type. Fixes BEANUTILS-250. niallp
Fix JDBCDynaClass "lowerCase" option causes problems in RowSetDynaClass and ResultSetIterator. Fixes BEANUTILS-289. niallp
Fix RowSetDynaClass fails to copy ResultSet to DynaBean with Oracle 10g JDBC driver. Fixes BEANUTILS-142. Thanks to Li Zhang. niallp
Fix Fix BeanComparator throws wrong exception and hides cause. Fixes BEANUTILS-241. Thanks to Chris Hyzer. bayard
Fix Deprecate the public static defaultTransformers HashMap and make it unmodifiable. Fixes BEANUTILS-112. Thanks to Simon Kitching. niallp
Update Merge Bean-Collections back into core BeanUtils and remove Bean-Collections sub-project. Fixes BEANUTILS-290. niallp
Fix 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). Fixes BEANUTILS-287. bayard
Fix Improvements to maven build. Fixes BEANUTILS-217. Thanks to Carlos Sanchez. niallp
Fix Add Implementation-Vendor-Id entry to jar's manifest. Fixes BEANUTILS-54. Thanks to Pascal Grange. niallp
Fix Resolve compiler warnings: Unused imports, un-read local variables, field hiding, empty block, improperly used statics, uncessary semi colons, unnecessary casts. Fixes BEANUTILS-121. Thanks to Chris Tilden. bayard
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. skitching
Fix BeanMap: Fix internal variable to not include non-existant write methods. - ported from Commons Collections. Fixes COLLECTIONS-22. Thanks to Dimiter Dimitrov. scolebourne
Update Change MethodUtils to make getMatchingAccessibleMethod() method selection more rational. Thanks to Steve Cohen. rdonkin

Release 1.7.0 – 2004-08-02

Type Changes By
Update See href="https://commons.apache.org/beanutils/commons-beanutils-1.7.0/RELEASE-NOTES.txt -

Release 1.6.1 – 2003-02-18

Type Changes By
Update See https://commons.apache.org/beanutils/commons-beanutils-1.6.1/RELEASE-NOTES.txt -

Release 1.6 – 2003-01-21

Type Changes By
Update See https://commons.apache.org/beanutils/commons-beanutils-1.6/RELEASE-NOTES.txt -

Release 1.5 – 2002-10-23

Type Changes By
Update See https://commons.apache.org/beanutils/commons-beanutils-1.5/RELEASE-NOTES.txt -

Release 1.4.1 – 2002-08-28

Type Changes By
Fix See https://commons.apache.org/beanutils/commons-beanutils-1.4.1/RELEASE-NOTES.txt -

Release 1.4 – 2002-08-13

Type Changes By
Update See https://commons.apache.org/beanutils/commons-beanutils-1.4/RELEASE-NOTES.txt -

Release 1.3 – 2002-04-29

Type Changes By
Update See https://commons.apache.org/beanutils/commons-beanutils-1.3/RELEASE-NOTES.txt -

Release 1.2 – 2001-12-24

Type Changes By
Update See https://commons.apache.org/beanutils/commons-beanutils-1.2/RELEASE-NOTES.txt -

Release 1.1 – 2001-09-22

Type Changes By
Update Version 1.1 -

Release 1.0 – 2001-07-14

Type Changes By
Add Initial Release -