Author: ggregory
Date: Tue Jan  7 13:58:26 2025
New Revision: 74023

Log:
Bump version from 2.0.0-SNAPSHOT to 2.0.0-M1

Modified:
    release/commons/beanutils/RELEASE-NOTES.txt

Modified: release/commons/beanutils/RELEASE-NOTES.txt
==============================================================================
--- release/commons/beanutils/RELEASE-NOTES.txt (original)
+++ release/commons/beanutils/RELEASE-NOTES.txt Tue Jan  7 13:58:26 2025
@@ -1,374 +1,471 @@
-              Apache Commons BeanUtils 1.10.0
-                  RELEASE NOTES
-
-The Apache Commons BeanUtils team is pleased to announce the release of Apache 
Commons BeanUtils 1.10.0
-
-Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around 
reflection and introspection.
-
-This is a maintenance release, requires Java 8.
-
-Changes in this version include:
-
-Fixed Bugs:
-o BEANUTILS-541:  FluentPropertyBeanIntrospector caches corrupted writeMethod 
(1.x backport) #69. Thanks to Sergey Chernov.
-o                 Replace internal use of Locale.ENGLISH with Locale.ROOT. 
Thanks to Gary Gregory.
-o                 Replace Maven CLIRR plugin with JApiCmp. Thanks to Gary 
Gregory.
-o                 Port to Java 1.4 Throwable APIs (!). Thanks to Gary Gregory.
-o                 Fix Javadoc generation on Java 8, 17, and 21. Thanks to Gary 
Gregory.
-o                 AbstractArrayConverter.parseElements(String) now returns a 
List<String> instead of a raw List. Thanks to Gary Gregory.
-
-Changes:
-o                 Bump org.apache.commons:commons-parent from 47 to 78. Thanks 
to Gary Gregory.
-o                 Bump Java requirement from Java 6 to 8. Thanks to Gary 
Gregory.
-o                 Bump junit:junit from 4.12 to 4.13.2. Thanks to Gary Gregory.
-o                 Bump JUnit from 4.x to 5.x "vintage". Thanks to Gary Gregory.
-o                 Bump commons-logging:commons-logging from 1.2 to 1.3.4. 
Thanks to Gary Gregory.
-o                 Deprecate BeanUtilsBean.initCause(Throwable, Throwable) for 
removal, use Throwable.initCause(Throwable). Thanks to Gary Gregory.
-o                 Deprecate BeanUtils.initCause(Throwable, Throwable) for 
removal, use Throwable.initCause(Throwable). Thanks to Gary Gregory.
-
-
-Historical list of changes: 
https://commons.apache.org/proper/commons-beanutils//changes-report.html
-
-For complete information on Apache Commons BeanUtils, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Commons BeanUtils 
website:
-
-https://commons.apache.org/proper/commons-beanutils/
-
-Download it from 
https://commons.apache.org/proper/commons-beanutils/download_bcel.cgi
-
-Have fun!
--Apache Commons BCEL team
-
-Feedback
---------
-Open source works best when you give feedback:
-
-    https://commons.apache.org/beanutils
-
-Please direct all bug reports to JIRA:
-
-    https://issues.apache.org/jira/browse/BEANUTILS
-
-Or subscribe to the commons-user mailing list
-
-The Apache Commons Team
-
------------------------------------------------------------------------------
-              Apache Commons BeanUtils 1.9.4
-                  RELEASE NOTES
-
-The Apache Commons BeanUtils team is pleased to announce the release of Apache 
Commons BeanUtils 1.9.4
-
-Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around 
reflection and introspection.
-
-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 behaviour 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 behaviour of 
the 2.X version line in
-regards to security.
-
-If one would like to opt out of the default behaviour, one could follow the 
example set out in the
-test class available in 
src/test/java/org/apache/commons/beanutils/bugs/Jira520TestCase.java.
-
-Changes in this version include:
-
-Fixed Bugs:
-o BEANUTILS-520:  BeanUtils mitigation of CVE-2014-0114. (CVE-2019-10086 for 
commons-beanutils). Thanks to Melloware.
-
-
-Historical list of changes: 
https://commons.apache.org/proper/commons-beanutils/changes-report.html
-
-For complete information on Apache Commons BeanUtils, including instructions 
on how to submit bug reports,
-patches, or suggestions for improvement, see the Apache Apache Commons 
BeanUtils website:
-
-https://commons.apache.org/proper/commons-beanutils/
-
------------------------------------------------------------------------------
-
-              Apache Commons BeanUtils 1.9.3
-                  RELEASE NOTES
-
-The Apache Commons team is pleased to announce the release of Apache
-Commons BeanUtils 1.9.3
-
-Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around
-reflection and introspection.
-
-This is a bug fix release, which also improves the tests for building on Java
-8.
-
-Note that Java 8 and later no longer support indexed bean properties on
-java.util.List, only on arrays like String[]. (BEANUTILS-492).  This affects
-PropertyUtils.getPropertyType() and PropertyUtils.getPropertyDescriptor();
-their javadoc have therefore been updated to reflect this change in the JDK.
-
-
-Changes in this version include:
-
-Fixed Bugs:
-
-* BEANUTILS-477: Changed log level in FluentPropertyBeanIntrospector
-* BEANUTILS-492: Fixed exception when setting indexed properties on DynaBeans.
-  Thanks to Bernhard Seebass.
-* BEANUTILS-470: Precision lost when converting BigDecimal Thanks to Tommy
-  Tynjä.
-* BEANUTILS-465: Indexed List Setters fixed. Thanks to Daniel Atallah.
-
-Changes:
-* BEANUTILS-433: Update dependency from JUnit 3.8.1 to 4.12.
-  Thanks to Benedikt Ritter, Gary Gregory.
-* BEANUTILS-469: Update commons-logging from 1.1.1 to 1.2.
-  Thanks to Gary Gregory.
-* BEANUTILS-474: FluentPropertyBeanIntrospector does not use the same naming
-  algorithm as DefaultBeanIntrospector.  Thanks to Michael Grove.
-* BEANUTILS-490: Update Java requirement from Java 5 to 6.
-  Thanks to Gary Gregory.
-* BEANUTILS-482: Update commons-collections from 3.2.1 to 3.2.2
-  (CVE-2015-4852). Thanks to Gary Gregory.
-* BEANUTILS-490: Update java requirement to Java 6. Thanks to Gary Gregory.
-* BEANUTILS-492: IndexedPropertyDescriptor tests now pass on Java 8.
-  Thanks to Stian Soiland-Reyes.
-* BEANUTILS-495: DateConverterTestBase fails on M/d/yy in Java 9.
-  Thanks to Stian Soiland-Reyes.
-* BEANUTILS-496: testGetDescriptorInvalidBoolean fails on Java 9.
-  Thanks to Stian Soiland-Reyes.
-
-
-Historical list of changes: 
http://commons.apache.org/proper/commons-beanutils/changes-report.html
-
-For complete information on Apache Commons BeanUtils, including instructions on
-how to submit bug reports, patches, or suggestions for improvement, see the
-Apache Apache Commons BeanUtils website:
-
-https://commons.apache.org/proper/commons-beanutils/
-
------------------------------------------------------------------------------
-
-                          Commons BeanUtils Package
-                               Version 1.9.2
-                               Release Notes
-
-INTRODUCTION:
-============
-
-This document contains the release notes for this version of the Commons
-BeanUtils package, and highlights changes since the previous version.
-
-For more information on Commons BeanUtils, see
-o http://commons.apache.org/beanutils/
-
-Release 1.9.2 mainly addresses a potential security issue when accessing
-properties in an uncontrolled way. In a nutshell, if an application that uses
-Commons BeanUtils passes property paths from an external source directly to
-the getProperty() method of BeanUtilsBean, an attacker can access the class
-loader via the class property available on all Java objects.
-
-In version 1.9.2 now a special BeanIntrospector class was added which allows
-suppressing this property. Note that this BeanIntrospector is NOT enabled by
-default! Commons BeanUtils is a low-level library, and on this layer it cannot
-be decided whether access to a certain property is legal or not. Therefore,
-an application has to activate this suppressing BeanIntrospector explicitly.
-This can be done with the following lines of code:
-
-BeanUtilsBean bub = new BeanUtilsBean();
-bub.getPropertyUtils().addBeanIntrospector(
-    SuppressPropertiesBeanIntrospector.SUPPRESS_CLASS);
-
-Now all access to properties has to be done via the specially configured
-BeanUtilsBean instance. More information about this issue can be found at
-https://issues.apache.org/jira/browse/BEANUTILS-463 or in section 2.5 of the
-user's guide.
-
-BUGFIXES in version 1.9.2
-=========================
-* [BEANUTILS-458]
-  BaseLocaleConverter.checkConversionResult() no longer throws a
-  ConversionException if the result of a conversion is null.
-
-New features in version 1.9.2
-=============================
-* [BEANUTILS-463]
-  Added new SuppressPropertiesBeanIntrospector class to deal with a potential
-  class loader vulnerability.
-
------------------------------------------------------------------------------
-
-                        Release Notes for version 1.9.1
-
-Release 1.9.1 is a bug fix release which addresses a problem with the new
-feature of custom introspection introduced with release 1.9.0. It is fully
-binary compatible with the previous release. The minimum required Java version
-is 1.5.
-
-BUGFIXES in version 1.9.1
-=========================
-* [BEANUTILS-456]
-  For PropertyDescriptors obtained via custom introspection now additional
-  information is stored to prevent that write methods are lost during
-  garbage collection.
-
------------------------------------------------------------------------------
-
-                        Release Notes for version 1.9.0
-
-Release 1.9.0 contains some bug fixes and improvements that have accumulated
-after the 1.8.3 release. The most obvious change is that the new version now
-requires JDK 1.5 or higher, and that language features introduced with Java 5
-(mainly generics) are used. A new feature has been introduced, too: the support
-for customizing bean introspection.
-
-Compatibility with 1.8.3
-========================
-Adding generics to the BeanUtils API has been done in a backwards compatible
-way. This means that after type erasure the resulting classes look the same as
-in the previous version. A drawback of this approach is that sometimes it is
-not possible to use the logically correct type parameters because then
-backwards compatibility would be broken. One example is the BeanMap class: The
-class is now a Map<Object, Object> while its keys actually are strings.
-However, implementing Map<String, Object> would change the signatures of some
-methods in an incompatible way. More details about limitations of the
-generification can be found at
-https://issues.apache.org/jira/browse/BEANUTILS-452
-
-One exception from the compatibility rule is the ResultSetIterator class which
-now implements the Iterator<DynaBean> interface. This causes a change in the
-return value of its next() method. ResultSetIterator is used internally as the
-iterator implementation within ResultSetDynaClass (it is probably a mistake 
that
-it is public). So chances are minimal that this change affects existing code.
-
-Another change which may affect compatibility is [BEANUTILS-379] (details can
-be found at https://issues.apache.org/jira/browse/BEANUTILS-379). Older
-versions of BeanUtils contained some classes that were copied from Commons
-Collections. These classes have now been removed, and a dependency to Commons
-Collections has been added; the collections jar now has to be contained in the
-classpath, too.
-
-Except for the change on ResultSetIterator and the additional dependency to
-Commons Collections, Commons BeanUtils 1.9.0 is fully binary compatible with
-the previous version 1.8.3.
-
-Changes on Converters
-=====================
-The convert() method in the Converter interface now uses a type parameter in
-the following way:
-
-    <T> T convert(Class<T> type, Object value);
-
-This makes it possible to access the converter's result in a type-safe way.
-Applying generics in this way revealed some inconsistencies in the Converter
-implementations. There were situations in which converters could return a
-result object of a different type as was requested. This was not a problem
-before because the result type was just Object. Now the compiler complains if
-a converter's result is not compatible with the desired target type.
-
-Because of that Converter implementations have been made more strict. A
-converter now checks the passed in target type, and if it cannot handle it,
-throws a ConversionException. This prevents unexpected results and makes
-converters more reliable (it could be considered a bug that a converter returns
-a result object of a different data type as the passed in target type). In a
-typical scenario, when converters are accessed via ConvertUtils, this change
-should not cause any problems because the converters are only called for the
-data types they have been registered for. But if converters are used directly,
-they might now throw ConversionExceptions when they did not in a previous
-version.
-
-BUGFIXES in version 1.9.0
-=========================
-* [BEANUTILS-454]
-  BeanUtilsBean.copyProperties() no longer throws a ConversionException for
-  null properties of certain data types. This fixes a regression introduced in
-  version 1.8.0. The issue is related to [BEANUTILS-387].
-* [BEANUTILS-411]
-  BeanUtilsBean.setProperty throws IllegalArgumentException if getter of nested
-  property returns null.
-* [BEANUTILS-408]
-  MethodUtils.invokeMethod() throws NullPointerException when args==null.
-* [BEANUTILS-426]
-  ConstructorUtils.invokeConstructor(Class klass, Object arg) throws
-  NullPointerException when arg==null.
-* [BEANUTILS-380]
-  BeanMap methods should initialize the root cause of exceptions that are
-  thrown when running on JDK 1.4+.
-* [BEANUTILS-379]
-  Remove copied Collection classes.
-* [BEANUTILS-378]
-  BeanMap does not work in osgi (fixed by BEANUTILS-378).
-* [BEANUTILS-381]
-  MethodUtils getMatchingAccessibleMethod() does not correctly handle
-  inheritance and method overloading.
-
-New features in version 1.9.0
-=============================
-* [BEANUTILS-425]
-  Support customization of introspection mechanism.
-* [BEANUTILS-428]
-  Provide a BeanIntrospector implementation which supports properties in a
-  fluent API.
-* [BEANUTILS-455]
-  WrapDynaBeans can now be configured to use a specific instance of
-  PropertyUtilsBean for introspection or property access.
-
-Other changes in version 1.9.0
-==============================
-* [BEANUTILS-452]
-  Add generics.
-* [BEANUTILS-449]
-  LocaleConverters do not take the target type into account.
-* [BEANUTILS-448]
-  LocaleConverters do not check their default value.
-* [BEANUTILS-447]
-  LazyDynaList.toArray() is not conform to the contract defined by the
-  Collection interface.
-* [BEANUTILS-446]
-  Some of the converters ignore the passed in target type.
-* [BEANUTILS-445]
-  Converters can return an invalid result object if a default value is set.
-* [BEANUTILS-441]
-  Replace UnmodifiableSet.decorate with Collections.unModifiableSet.
-* [BEANUTILS-436]
-  Replace package.html with package-info.java.
-* [BEANUTILS-438]
-  Add @Deprecated and @Override Annotations.
-* [BEANUTILS-437]
-  Replace Date and Revision SVN keywords with Id.
-* [BEANUTILS-431]
-  Remove @author tags and move missing authors to pom.xml.
-* [BEANUTILS-432]
-  Switch to Java 1.5.
-* [BEANUTILS-429]
-  Delete trailing white spaces and white spaces on empty lines from all files.
-* [BEANUTILS-427]
-  Configure Checkstyle to check for trailing white spaces and white spaces on
-  empty lines.
-
------------------------------------------------------------------------------
-
-                        Release Notes for version 1.8.3
-
-Compatibility with 1.8.2
-========================
-BeanUtils 1.8.3 is binary compatible release with Beanutils 1.8.2, containing 
only bug fixes.
-
-BeanUtils 1.8.3 requires a minimum of JDK 1.3.
-
-Memory Leak
-===========
-A memory leak was found in BeanUtils 1.7.0 (see BEANUTILS-291) which was fixed
-in BeanUtils 1.8.0 for JDK 1.5+.
-
-Testing of BeanUtils 1.8.1 revealed that the leak still appears to exist
-in IBM's JDK 1.6 implementation.
-
-
-see http://issues.apache.org/jira/browse/BEANUTILS-291
-    http://issues.apache.org/jira/browse/BEANUTILS-366
-
-
-BUGS FIXED:
-===========
-
-The following is a list of the bugs fixed in this release, with their Jira 
issue number:
-
-  * [BEANUTILS-373] - MethodUtils is not thread safe because WeakFastHashMap 
which uses WeakHashMap is not thread-safe
-  * [BEANUTILS-371] - Add constructors which have useColumnLabel parameter to 
ResultSetDynaClass and RowSetDynaClass
-
-
+Apache Commons BeanUtils 2.0.0-M1
+Release Notes
+
+The Apache Commons BeanUtils team is pleased to announce the release of Apache 
Commons BeanUtils 2.0.0-M1
+
+Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around 
reflection and introspection.
+
+This is a major release, requires Java 8.
+
+Changes in this version include:
+
+New features:
+o BEANUTILS-530:  New converters for Java 8 Time classes #13. Thanks to 
Melloware, Matt Sicker, Gary Gregory.
+o BEANUTILS-346:  New converter for Enum. Thanks to Melloware.
+o                 Add github/codeql-action #118. Thanks to Dependabot, Gary 
Gregory.
+o                 Add and use ConversionException.format(String, Object...). 
Thanks to Dependabot, Gary Gregory.
+o                 Add Converters for additional types: Color, Dimension, 
InetAddress, Locale, Pattern, Point #47. Thanks to Seth Falco, Gary Gregory.
+o                 Make PropertyUtilsBean.getReadMethod(Class, 
PropertyDescriptor) public #232. Thanks to Sergey Chernov, Gary Gregory.
+
+Fixed Bugs:
+o BEANUTILS-402:  Double-Checked Locking anti pattern in WeakFastHashMap. 
Thanks to Melloware.
+o                 Refactor logger usage #72. Thanks to Andrei Korzhevskii, 
Gary Gregory.
+o                 Migrate to JUnit 5 #93, #283, #284, #285, #287. Thanks to 
SethFalco, Steve Bosman, Gary Gregory.
+o                 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.
+o                 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.
+o                 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.
+o                 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.
+o                 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.
+o                 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.
+o                 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.
+o                 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.
+o                 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.
+o                 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.
+o                 Replace Commons Collections Test Framework 3.2.2 with 
4.5.0-M3 #40. Thanks to Melloware, sebbASF, Gary Gregory, Michal Landsman.
+o                 Provide error index in ConversionException message in 
DateTimeConverter.parse(Class, Class, String, DateFormat). Thanks to Gary 
Gregory.
+o                 Avoid possible NPE in DateTimeConverter.parse(Class, Class, 
String). Thanks to Gary Gregory.
+o                 Annotate Converter with @FunctionalInterface. Thanks to 
Claude Warren, Gary Gregory.
+o BEANUTILS-564:  Fix JDK 21 CI failure due to locale changes #201. Thanks to 
SingingBush.
+o                 Fix warnings and To-Dos #92. Thanks to Seth Falco.
+o                 Replace internal use of Locale.ENGLISH with Locale.ROOT. 
Thanks to Gary Gregory.
+o BEANUTILS-541:  FluentPropertyBeanIntrospector caches corrupted writeMethod 
(2.x) #68. Thanks to Sergey Chernov.
+
+Changes:
+o BEANUTILS-503:  Change packaging from org.apache.commons.beanutils to 
org.apache.commons.beanutils2. Thanks to Gary Gregory.
+o BEANUTILS-505:  Add missing serialVersionUID to Serializable classes. Thanks 
to Gary Gregory.
+o BEANUTILS-512:  Add Automatic-Module-Name entry to MANIFEST.MF. Thanks to 
Gary Gregory.
+o BEANUTILS-514:  Remove deprecated code for 2.0.0. Thanks to Gary Gregory.
+o BEANUTILS-509:  WeakHashmap enters into infinite loop in WrapDynaClass.java. 
Thanks to sunil, Akshay Gehi.
+o BEANUTILS-520:  BeanUtils2 mitigate CVE-2014-0114. Thanks to Melloware.
+o BEANUTILS-527:  Convert Collections4 to java.util.function. #8. Thanks to 
Melloware, Matt Sicker, Gary Gregory.
+o BEANUTILS-528:  New converters for UUID, URI, and Path #10. Thanks to 
Melloware, Matt Sicker, Gary Gregory.
+o BEANUTILS-529:  Log at the debug level instead of info. Thanks to Gary 
Gregory.
+o BEANUTILS-537:  Fix typos; fix error in Javadoc; performance fix; fix code 
smells #25. Thanks to XenoAmess, Gary Gregory.
+o                 Bump actions/cache from 2 to 3.0.11 #77, #89, #103, #111. 
#137, #141. Thanks to Dependabot, Gary Gregory.
+o                 Update actions/checkout from 2.3.1 to 3.0.2 #33, #108. 
Thanks to Dependabot, Gary Gregory.
+o                 Update actions/setup-java from 1.4.0 to 3.6.0 #35, #114, 
#144. Thanks to Dependabot, Gary Gregory.
+o                 Bump actions/upload-artifact from 3.1.0 to 3.1.1 #143. 
Thanks to Dependabot.
+o BEANUTILS-522:  Bump Apache Commons Collections from 4.3 to 4.4. Thanks to 
Gary Gregory.
+o BEANUTILS-504:  Bump Java from 6 to 7. Thanks to Gary Gregory.
+o BEANUTILS-515:  Bump Java from 7 to 8. Thanks to Gary Gregory.
+o                 Bump junit-jupiter from 5.7.2 to 5.9.1 #113, #126, #134. 
Thanks to Dependabot.
+o                 Bump JUnit from 4 to 5.9.1 vintage, #78, #112, #127, #136. 
Thanks to Gary Gregory, Dependabot.
+o                 Bump Jacoco from 0.8.4 to 0.8.8. Thanks to Gary Gregory.
+o                 Bump JApiCmp from 0.12.0 to 0.17.1, #46, #110, #130, #146. 
Thanks to Gary Gregory, Dependabot.
+o                 Bump maven-surefire-plugin from 2.22.1 to 3.0.0-M7, #116, 
#122. Thanks to Gary Gregory, Dependabot.
+o                 Bump maven-checkstyle-plugin from 3.0.0 to 3.2.0, #76, #129. 
Thanks to Gary Gregory, Dependabot.
+o                 Bump maven-pmd-plugin from 3.12.0 to 3.19.0, #120, #128, 
#131. Thanks to Gary Gregory, Dependabot.
+o                 Bump BC version from 1.9.3 to 1.9.4. Thanks to Gary Gregory.
+o                 Bump org.apache.commons:commons-parent from 50 to 74 #229, 
#245, #254, #264, #274, #279. Thanks to Gary Gregory, Dependabot.
+o                 Bump biz.aQute.bndlib from 5.1.0 to 6.4.1 #29, #45, #79, 
#109, #119, #121, #147, #175. Thanks to Dependabot.
+o                 Jacoco 0.8.6 for JDK15 support #55. Thanks to melloware.
+o                 Updated URLConverterTestCase to run without Internet access 
#50. Thanks to SethFalco.
+o                 Don't initialize variables to defaults #71. Thanks to Arturo 
Bernal.
+o                 Bump spotbugs-maven-plugin from 4.5.3.0 to 4.6.0.0. Thanks 
to Dependabot.
+o                 Bump spotbugs from 4.5.3 to 4.6.0. Thanks to Dependabot.
+o                 Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.17.0 
#263, #269, #280. Thanks to Gary Gregory, Dependabot.
+o                 Bump commons-logging:commons-logging from 1.2 to 1.3.4 #226, 
#246, #259, #275. Thanks to Gary Gregory, Dependabot.
+o                 Bump org.apache.commons:commons-parent from 74 to 78 #291, 
#295, #299, #306. Thanks to Gary Gregory, Dependabot.
+
+Removed:
+o BEANUTILS-527:  Removed Commons Collections dependency. #8. Thanks to 
Melloware, Matt Sicker, Gary Gregory.
+o                 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.
+o                 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.
+o                 Do not implement Serializable. Thanks to Gary Gregory.
+
+Historical list of changes: 
https://commons.apache.org/proper/commons-beanutils/changes-report.html
+
+For complete information on Apache Commons BeanUtils, including instructions 
on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BeanUtils 
website:
+
+https://commons.apache.org/proper/commons-beanutils/
+
+-----------------------------------------------------------------------------
+
+Apache Commons BeanUtils 1.10.0
+Release Notes
+
+
+The Apache Commons BeanUtils team is pleased to announce the release of Apache 
Commons BeanUtils 1.10.0
+
+Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around 
reflection and introspection.
+
+This is a maintenance release and requires Java 8.
+
+Changes in this version include:
+
+Fixed Bugs:
+o BEANUTILS-541:  FluentPropertyBeanIntrospector caches corrupted writeMethod 
(1.x backport) #69. Thanks to Sergey Chernov.
+o                 Replace internal use of Locale.ENGLISH with Locale.ROOT. 
Thanks to Gary Gregory.
+o                 Replace Maven CLIRR plugin with JApiCmp. Thanks to Gary 
Gregory.
+o                 Port to Java 1.4 Throwable APIs (!). Thanks to Gary Gregory.
+o                 Fix Javadoc generation on Java 8, 17, and 21. Thanks to Gary 
Gregory.
+o                 AbstractArrayConverter.parseElements(String) now returns a 
List<String> instead of a raw List. Thanks to Gary Gregory.
+
+Changes:
+o                 Bump org.apache.commons:commons-parent from 47 to 78. Thanks 
to Gary Gregory.
+o                 Bump Java requirement from Java 6 to 8. Thanks to Gary 
Gregory.
+o                 Bump junit:junit from 4.12 to 4.13.2. Thanks to Gary Gregory.
+o                 Bump JUnit from 4.x to 5.x "vintage". Thanks to Gary Gregory.
+o                 Bump commons-logging:commons-logging from 1.2 to 1.3.4. 
Thanks to Gary Gregory.
+o                 Deprecate BeanUtilsBean.initCause(Throwable, Throwable) for 
removal, use Throwable.initCause(Throwable). Thanks to Gary Gregory.
+o                 Deprecate BeanUtils.initCause(Throwable, Throwable) for 
removal, use Throwable.initCause(Throwable). Thanks to Gary Gregory.
+
+
+Historical list of changes: 
https://commons.apache.org/proper/commons-beanutils//changes-report.html
+
+For complete information on Apache Commons BeanUtils, including instructions 
on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Commons BeanUtils 
website:
+
+https://commons.apache.org/proper/commons-beanutils/
+
+Download it from 
https://commons.apache.org/proper/commons-beanutils/download_bcel.cgi
+
+Have fun!
+-Apache Commons BCEL team
+
+Feedback
+--------
+Open source works best when you give feedback:
+
+    https://commons.apache.org/beanutils
+
+Please direct all bug reports to JIRA:
+
+    https://issues.apache.org/jira/browse/BEANUTILS
+
+Or subscribe to the commons-user mailing list
+
+The Apache Commons Team
+
+-----------------------------------------------------------------------------
+Apache Commons BeanUtils 1.9.4
+Release Notes
+
+
+The Apache Commons BeanUtils team is pleased to announce the release of Apache 
Commons BeanUtils 1.9.4
+
+Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around 
reflection and introspection.
+
+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 behaviour 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 behaviour of 
the 2.X version line in
+regards to security.
+
+If one would like to opt out of the default behaviour, one could follow the 
example set out in the
+test class available in 
src/test/java/org/apache/commons/beanutils/bugs/Jira520TestCase.java.
+
+Changes in this version include:
+
+Fixed Bugs:
+o BEANUTILS-520:  BeanUtils mitigation of CVE-2014-0114. (CVE-2019-10086 for 
commons-beanutils). Thanks to Melloware.
+
+
+Historical list of changes: 
https://commons.apache.org/proper/commons-beanutils/changes-report.html
+
+For complete information on Apache Commons BeanUtils, including instructions 
on how to submit bug reports,
+patches, or suggestions for improvement, see the Apache Apache Commons 
BeanUtils website:
+
+https://commons.apache.org/proper/commons-beanutils/
+
+-----------------------------------------------------------------------------
+Apache Commons BeanUtils 1.9.3
+Release Notes
+
+
+The Apache Commons team is pleased to announce the release of Apache
+Commons BeanUtils 1.9.3
+
+Apache Commons BeanUtils provides an easy-to-use but flexible wrapper around
+reflection and introspection.
+
+This is a bug fix release, which also improves the tests for building on Java
+8.
+
+Note that Java 8 and later no longer support indexed bean properties on
+java.util.List, only on arrays like String[]. (BEANUTILS-492).  This affects
+PropertyUtils.getPropertyType() and PropertyUtils.getPropertyDescriptor();
+their javadoc have therefore been updated to reflect this change in the JDK.
+
+
+Changes in this version include:
+
+Fixed Bugs:
+
+* BEANUTILS-477: Changed log level in FluentPropertyBeanIntrospector
+* BEANUTILS-492: Fixed exception when setting indexed properties on DynaBeans.
+  Thanks to Bernhard Seebass.
+* BEANUTILS-470: Precision lost when converting BigDecimal Thanks to Tommy
+  Tynjä.
+* BEANUTILS-465: Indexed List Setters fixed. Thanks to Daniel Atallah.
+
+Changes:
+* BEANUTILS-433: Update dependency from JUnit 3.8.1 to 4.12.
+  Thanks to Benedikt Ritter, Gary Gregory.
+* BEANUTILS-469: Update commons-logging from 1.1.1 to 1.2.
+  Thanks to Gary Gregory.
+* BEANUTILS-474: FluentPropertyBeanIntrospector does not use the same naming
+  algorithm as DefaultBeanIntrospector.  Thanks to Michael Grove.
+* BEANUTILS-490: Update Java requirement from Java 5 to 6.
+  Thanks to Gary Gregory.
+* BEANUTILS-482: Update commons-collections from 3.2.1 to 3.2.2
+  (CVE-2015-4852). Thanks to Gary Gregory.
+* BEANUTILS-490: Update java requirement to Java 6. Thanks to Gary Gregory.
+* BEANUTILS-492: IndexedPropertyDescriptor tests now pass on Java 8.
+  Thanks to Stian Soiland-Reyes.
+* BEANUTILS-495: DateConverterTestBase fails on M/d/yy in Java 9.
+  Thanks to Stian Soiland-Reyes.
+* BEANUTILS-496: testGetDescriptorInvalidBoolean fails on Java 9.
+  Thanks to Stian Soiland-Reyes.
+
+
+Historical list of changes: 
http://commons.apache.org/proper/commons-beanutils/changes-report.html
+
+For complete information on Apache Commons BeanUtils, including instructions on
+how to submit bug reports, patches, or suggestions for improvement, see the
+Apache Apache Commons BeanUtils website:
+
+https://commons.apache.org/proper/commons-beanutils/
+
+-----------------------------------------------------------------------------
+Apache Commons BeanUtils 1.9.2
+Release Notes
+
+
+INTRODUCTION:
+============
+
+This document contains the release notes for this version of the Commons
+BeanUtils package, and highlights changes since the previous version.
+
+For more information on Commons BeanUtils, see
+o http://commons.apache.org/beanutils/
+
+Release 1.9.2 mainly addresses a potential security issue when accessing
+properties in an uncontrolled way. In a nutshell, if an application that uses
+Commons BeanUtils passes property paths from an external source directly to
+the getProperty() method of BeanUtilsBean, an attacker can access the class
+loader via the class property available on all Java objects.
+
+In version 1.9.2 now a special BeanIntrospector class was added which allows
+suppressing this property. Note that this BeanIntrospector is NOT enabled by
+default! Commons BeanUtils is a low-level library, and on this layer it cannot
+be decided whether access to a certain property is legal or not. Therefore,
+an application has to activate this suppressing BeanIntrospector explicitly.
+This can be done with the following lines of code:
+
+BeanUtilsBean bub = new BeanUtilsBean();
+bub.getPropertyUtils().addBeanIntrospector(
+    SuppressPropertiesBeanIntrospector.SUPPRESS_CLASS);
+
+Now all access to properties has to be done via the specially configured
+BeanUtilsBean instance. More information about this issue can be found at
+https://issues.apache.org/jira/browse/BEANUTILS-463 or in section 2.5 of the
+user's guide.
+
+BUGFIXES in version 1.9.2
+=========================
+* [BEANUTILS-458]
+  BaseLocaleConverter.checkConversionResult() no longer throws a
+  ConversionException if the result of a conversion is null.
+
+New features in version 1.9.2
+=============================
+* [BEANUTILS-463]
+  Added new SuppressPropertiesBeanIntrospector class to deal with a potential
+  class loader vulnerability.
+
+-----------------------------------------------------------------------------
+Apache Commons BeanUtils 1.9.1
+Release Notes
+
+
+Release 1.9.1 is a bug fix release which addresses a problem with the new
+feature of custom introspection introduced with release 1.9.0. It is fully
+binary compatible with the previous release. The minimum required Java version
+is 1.5.
+
+BUGFIXES in version 1.9.1
+=========================
+* [BEANUTILS-456]
+  For PropertyDescriptors obtained via custom introspection now additional
+  information is stored to prevent that write methods are lost during
+  garbage collection.
+
+-----------------------------------------------------------------------------
+Apache Commons BeanUtils 1.9.0
+Release Notes
+
+
+Release 1.9.0 contains some bug fixes and improvements that have accumulated
+after the 1.8.3 release. The most obvious change is that the new version now
+requires JDK 1.5 or higher, and that language features introduced with Java 5
+(mainly generics) are used. A new feature has been introduced, too: the support
+for customizing bean introspection.
+
+Compatibility with 1.8.3
+========================
+Adding generics to the BeanUtils API has been done in a backwards compatible
+way. This means that after type erasure the resulting classes look the same as
+in the previous version. A drawback of this approach is that sometimes it is
+not possible to use the logically correct type parameters because then
+backwards compatibility would be broken. One example is the BeanMap class: The
+class is now a Map<Object, Object> while its keys actually are strings.
+However, implementing Map<String, Object> would change the signatures of some
+methods in an incompatible way. More details about limitations of the
+generification can be found at
+https://issues.apache.org/jira/browse/BEANUTILS-452
+
+One exception from the compatibility rule is the ResultSetIterator class which
+now implements the Iterator<DynaBean> interface. This causes a change in the
+return value of its next() method. ResultSetIterator is used internally as the
+iterator implementation within ResultSetDynaClass (it is probably a mistake 
that
+it is public). So chances are minimal that this change affects existing code.
+
+Another change which may affect compatibility is [BEANUTILS-379] (details can
+be found at https://issues.apache.org/jira/browse/BEANUTILS-379). Older
+versions of BeanUtils contained some classes that were copied from Commons
+Collections. These classes have now been removed, and a dependency to Commons
+Collections has been added; the collections jar now has to be contained in the
+classpath, too.
+
+Except for the change on ResultSetIterator and the additional dependency to
+Commons Collections, Commons BeanUtils 1.9.0 is fully binary compatible with
+the previous version 1.8.3.
+
+Changes on Converters
+=====================
+The convert() method in the Converter interface now uses a type parameter in
+the following way:
+
+    <T> T convert(Class<T> type, Object value);
+
+This makes it possible to access the converter's result in a type-safe way.
+Applying generics in this way revealed some inconsistencies in the Converter
+implementations. There were situations in which converters could return a
+result object of a different type as was requested. This was not a problem
+before because the result type was just Object. Now the compiler complains if
+a converter's result is not compatible with the desired target type.
+
+Because of that Converter implementations have been made more strict. A
+converter now checks the passed in target type, and if it cannot handle it,
+throws a ConversionException. This prevents unexpected results and makes
+converters more reliable (it could be considered a bug that a converter returns
+a result object of a different data type as the passed in target type). In a
+typical scenario, when converters are accessed via ConvertUtils, this change
+should not cause any problems because the converters are only called for the
+data types they have been registered for. But if converters are used directly,
+they might now throw ConversionExceptions when they did not in a previous
+version.
+
+BUGFIXES in version 1.9.0
+=========================
+* [BEANUTILS-454]
+  BeanUtilsBean.copyProperties() no longer throws a ConversionException for
+  null properties of certain data types. This fixes a regression introduced in
+  version 1.8.0. The issue is related to [BEANUTILS-387].
+* [BEANUTILS-411]
+  BeanUtilsBean.setProperty throws IllegalArgumentException if getter of nested
+  property returns null.
+* [BEANUTILS-408]
+  MethodUtils.invokeMethod() throws NullPointerException when args==null.
+* [BEANUTILS-426]
+  ConstructorUtils.invokeConstructor(Class klass, Object arg) throws
+  NullPointerException when arg==null.
+* [BEANUTILS-380]
+  BeanMap methods should initialize the root cause of exceptions that are
+  thrown when running on JDK 1.4+.
+* [BEANUTILS-379]
+  Remove copied Collection classes.
+* [BEANUTILS-378]
+  BeanMap does not work in osgi (fixed by BEANUTILS-378).
+* [BEANUTILS-381]
+  MethodUtils getMatchingAccessibleMethod() does not correctly handle
+  inheritance and method overloading.
+
+New features in version 1.9.0
+=============================
+* [BEANUTILS-425]
+  Support customization of introspection mechanism.
+* [BEANUTILS-428]
+  Provide a BeanIntrospector implementation which supports properties in a
+  fluent API.
+* [BEANUTILS-455]
+  WrapDynaBeans can now be configured to use a specific instance of
+  PropertyUtilsBean for introspection or property access.
+
+Other changes in version 1.9.0
+==============================
+* [BEANUTILS-452]
+  Add generics.
+* [BEANUTILS-449]
+  LocaleConverters do not take the target type into account.
+* [BEANUTILS-448]
+  LocaleConverters do not check their default value.
+* [BEANUTILS-447]
+  LazyDynaList.toArray() is not conform to the contract defined by the
+  Collection interface.
+* [BEANUTILS-446]
+  Some of the converters ignore the passed in target type.
+* [BEANUTILS-445]
+  Converters can return an invalid result object if a default value is set.
+* [BEANUTILS-441]
+  Replace UnmodifiableSet.decorate with Collections.unModifiableSet.
+* [BEANUTILS-436]
+  Replace package.html with package-info.java.
+* [BEANUTILS-438]
+  Add @Deprecated and @Override Annotations.
+* [BEANUTILS-437]
+  Replace Date and Revision SVN keywords with Id.
+* [BEANUTILS-431]
+  Remove @author tags and move missing authors to pom.xml.
+* [BEANUTILS-432]
+  Switch to Java 1.5.
+* [BEANUTILS-429]
+  Delete trailing white spaces and white spaces on empty lines from all files.
+* [BEANUTILS-427]
+  Configure Checkstyle to check for trailing white spaces and white spaces on
+  empty lines.
+
+-----------------------------------------------------------------------------
+Apache Commons BeanUtils 1.8.3
+Release Notes
+
+Compatibility with 1.8.2
+========================
+BeanUtils 1.8.3 is binary compatible release with Beanutils 1.8.2, containing 
only bug fixes.
+
+BeanUtils 1.8.3 requires a minimum of JDK 1.3.
+
+Memory Leak
+===========
+A memory leak was found in BeanUtils 1.7.0 (see BEANUTILS-291) which was fixed
+in BeanUtils 1.8.0 for JDK 1.5+.
+
+Testing of BeanUtils 1.8.1 revealed that the leak still appears to exist
+in IBM's JDK 1.6 implementation.
+
+
+see http://issues.apache.org/jira/browse/BEANUTILS-291
+    http://issues.apache.org/jira/browse/BEANUTILS-366
+
+
+BUGS FIXED:
+===========
+
+The following is a list of the bugs fixed in this release, with their Jira 
issue number:
+
+  * [BEANUTILS-373] - MethodUtils is not thread safe because WeakFastHashMap 
which uses WeakHashMap is not thread-safe
+  * [BEANUTILS-371] - Add constructors which have useColumnLabel parameter to 
ResultSetDynaClass and RowSetDynaClass



Reply via email to