You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/05/31 20:27:04 UTC

[commons-beanutils] branch master updated (0fbc23ff -> 638695de)

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-beanutils.git


    from 0fbc23ff Update test framework method for java.sql.Date.
     new 82b03d09 Sort members.
     new c9e7844f Format to use longer lines.
     new 638695de Bump actions/cache from 3.0.2 to 3.0.3

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/maven.yml                        |    2 +-
 src/changes/changes.xml                            | 1470 ++++++++++----------
 .../DefaultIntrospectionContextTestCase.java       |   58 +-
 3 files changed, 762 insertions(+), 768 deletions(-)


[commons-beanutils] 03/03: Bump actions/cache from 3.0.2 to 3.0.3

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-beanutils.git

commit 638695de6b4fdd72f1a4ee69b85e0725e84827d1
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue May 31 16:27:00 2022 -0400

    Bump actions/cache from 3.0.2 to 3.0.3
---
 .github/workflows/maven.yml |    2 +-
 src/changes/changes.xml     | 1470 +++++++++++++++++++++----------------------
 2 files changed, 736 insertions(+), 736 deletions(-)

diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 664ff7df..c3878d80 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -32,7 +32,7 @@ jobs:
         
     steps:
     - uses: actions/checkout@v3
-    - uses: actions/cache@v3.0.2
+    - uses: actions/cache@v3.0.3
       with:
         path: ~/.m2/repository
         key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index c5da59a1..03ce6630 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -1,735 +1,735 @@
-<?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="2018-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>
-      <!-- ADD -->
-      <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
-        Add github/codeql-action #118.
-      </action>
-      <!--  UPDATES -->
-      <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
-        Bump actions/cache from 2 to 3.0.2 #77, #89, #103, #111.
-      </action>
-      <action dev="ggregory" type="update" due-to="Dependabot">
-        Update actions/checkout from 2.3.1 to 3 #33, #108.
-      </action>
-      <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
-        Update actions/setup-java from 1.4.0 to 3 #35, #114.
-      </action>
-      <action issue="BEANUTILS-522" dev="ggregory" type="update" due-to="Gary Gregory">
-        Update Apache Commons Collections from 4.3 to 4.4.
-      </action>
-      <action issue="BEANUTILS-504" dev="ggregory" type="update" due-to="Gary Gregory">
-        Update from Java 6 to 7.
-      </action>
-      <action issue="BEANUTILS-515" dev="ggregory" type="update" due-to="Gary Gregory">
-        Update from Java 7 to 8.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
-        Update JUnit from 4 to 5 vintage, #78, #112.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Update Jacoco from 0.8.4 to 0.8.8.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
-        Update JApiCmp from 0.12.0 to 0.15.7, #46, #110.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
-        Update maven-surefire-plugin from 2.22.1 to 3.0.0-M6, #116.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
-        Update maven-checkstyle-plugin from 3.0.0 to 3.1.2, #76.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Update maven-pmd-plugin from 3.12.0 to 3.13.0.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Update BC version from 1.9.3 to 1.9.4.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Update commons-parent from 50 to 53.
-      </action>
-      <action dev="ggregory" type="update" due-to="Dependabot">
-        Update biz.aQute.bndlib from 5.1.0 to 6.2.0 #29, #45, #79, #109.
-      </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 junit-jupiter from 5.7.2 to 5.8.2 #113.
-      </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>
-    </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&#228;">
-        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>
+<?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="2018-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>
+      <!-- ADD -->
+      <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
+        Add github/codeql-action #118.
+      </action>
+      <!--  UPDATES -->
+      <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
+        Bump actions/cache from 2 to 3.0.3 #77, #89, #103, #111.
+      </action>
+      <action dev="ggregory" type="update" due-to="Dependabot">
+        Update actions/checkout from 2.3.1 to 3 #33, #108.
+      </action>
+      <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
+        Update actions/setup-java from 1.4.0 to 3 #35, #114.
+      </action>
+      <action issue="BEANUTILS-522" dev="ggregory" type="update" due-to="Gary Gregory">
+        Update Apache Commons Collections from 4.3 to 4.4.
+      </action>
+      <action issue="BEANUTILS-504" dev="ggregory" type="update" due-to="Gary Gregory">
+        Update from Java 6 to 7.
+      </action>
+      <action issue="BEANUTILS-515" dev="ggregory" type="update" due-to="Gary Gregory">
+        Update from Java 7 to 8.
+      </action>
+      <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
+        Update JUnit from 4 to 5 vintage, #78, #112.
+      </action>
+      <action dev="ggregory" type="update" due-to="Gary Gregory">
+        Update Jacoco from 0.8.4 to 0.8.8.
+      </action>
+      <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
+        Update JApiCmp from 0.12.0 to 0.15.7, #46, #110.
+      </action>
+      <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
+        Update maven-surefire-plugin from 2.22.1 to 3.0.0-M6, #116.
+      </action>
+      <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
+        Update maven-checkstyle-plugin from 3.0.0 to 3.1.2, #76.
+      </action>
+      <action dev="ggregory" type="update" due-to="Gary Gregory">
+        Update maven-pmd-plugin from 3.12.0 to 3.13.0.
+      </action>
+      <action dev="ggregory" type="update" due-to="Gary Gregory">
+        Update BC version from 1.9.3 to 1.9.4.
+      </action>
+      <action dev="ggregory" type="update" due-to="Gary Gregory">
+        Update commons-parent from 50 to 53.
+      </action>
+      <action dev="ggregory" type="update" due-to="Dependabot">
+        Update biz.aQute.bndlib from 5.1.0 to 6.2.0 #29, #45, #79, #109.
+      </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 junit-jupiter from 5.7.2 to 5.8.2 #113.
+      </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>
+    </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&#228;">
+        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>


[commons-beanutils] 02/03: Format to use longer lines.

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-beanutils.git

commit c9e7844fe16b2e48012a7038ded46e4e76a5ed3c
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed May 25 07:47:21 2022 -0400

    Format to use longer lines.
---
 .../DefaultIntrospectionContextTestCase.java         | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/src/test/java/org/apache/commons/beanutils2/DefaultIntrospectionContextTestCase.java b/src/test/java/org/apache/commons/beanutils2/DefaultIntrospectionContextTestCase.java
index 4ad0c0a0..b324c931 100644
--- a/src/test/java/org/apache/commons/beanutils2/DefaultIntrospectionContextTestCase.java
+++ b/src/test/java/org/apache/commons/beanutils2/DefaultIntrospectionContextTestCase.java
@@ -25,9 +25,9 @@ import junit.framework.TestCase;
 
 /**
  * Test class for {@code IntrospectionContext}.
- *
  */
 public class DefaultIntrospectionContextTestCase extends TestCase {
+
     /** Constant for the name of a property. */
     private static final String PROP = "foo";
 
@@ -39,8 +39,7 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
      */
     private static PropertyDescriptor createDescriptor(final String propName) {
         try {
-            return new PropertyDescriptor(propName,
-                    DefaultIntrospectionContextTestCase.class, null, null);
+            return new PropertyDescriptor(propName, DefaultIntrospectionContextTestCase.class, null, null);
         } catch (final IntrospectionException e) {
             throw new IllegalStateException("Unexpected exception: " + e);
         }
@@ -62,8 +61,7 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
         final PropertyDescriptor desc = createDescriptor(PROP);
         context.addPropertyDescriptor(desc);
         assertTrue("Property not found", context.hasProperty(PROP));
-        assertSame("Wrong descriptor", desc,
-                context.getPropertyDescriptor(PROP));
+        assertSame("Wrong descriptor", desc, context.getPropertyDescriptor(PROP));
     }
 
     /**
@@ -97,12 +95,10 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
         assertEquals("Wrong number of property names", count + 1, names.size());
         assertTrue("Property not found: " + PROP, names.contains(PROP));
         for (int i = 0; i < count; i++) {
-            assertTrue("Property not found: " + (PROP + i),
-                    names.contains(PROP + i));
+            assertTrue("Property not found: " + (PROP + i), names.contains(PROP + i));
         }
         final PropertyDescriptor[] addedDescs = context.getPropertyDescriptors();
-        assertEquals("Wrong number of added descriptors", count + 1,
-                addedDescs.length);
+        assertEquals("Wrong number of added descriptors", count + 1, addedDescs.length);
         for (final PropertyDescriptor pd : addedDescs) {
             assertTrue("Unexpected descriptor: " + pd, descSet.remove(pd));
         }
@@ -142,8 +138,7 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
      * Tests a newly created instance.
      */
     public void testInit() {
-        assertEquals("Wrong current class", getClass(),
-                context.getTargetClass());
+        assertEquals("Wrong current class", getClass(), context.getTargetClass());
         assertTrue("Got property names", context.propertyNames().isEmpty());
     }
 
@@ -167,7 +162,6 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
         context.addPropertyDescriptor(createDescriptor(PROP));
         context.removePropertyDescriptor(PROP);
         assertTrue("Got property names", context.propertyNames().isEmpty());
-        assertEquals("Got descriptors", 0,
-                context.getPropertyDescriptors().length);
+        assertEquals("Got descriptors", 0, context.getPropertyDescriptors().length);
     }
 }


[commons-beanutils] 01/03: Sort members.

Posted by gg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-beanutils.git

commit 82b03d09d7525d851f20d8949c775012bde95297
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed May 25 07:45:35 2022 -0400

    Sort members.
---
 .../DefaultIntrospectionContextTestCase.java       | 42 +++++++++++-----------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/src/test/java/org/apache/commons/beanutils2/DefaultIntrospectionContextTestCase.java b/src/test/java/org/apache/commons/beanutils2/DefaultIntrospectionContextTestCase.java
index 86dc1977..4ad0c0a0 100644
--- a/src/test/java/org/apache/commons/beanutils2/DefaultIntrospectionContextTestCase.java
+++ b/src/test/java/org/apache/commons/beanutils2/DefaultIntrospectionContextTestCase.java
@@ -31,15 +31,6 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
     /** Constant for the name of a property. */
     private static final String PROP = "foo";
 
-    /** The context to be tested. */
-    private DefaultIntrospectionContext context;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        context = new DefaultIntrospectionContext(getClass());
-    }
-
     /**
      * Creates a property descriptor object for a property with the given name.
      *
@@ -55,13 +46,13 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
         }
     }
 
-    /**
-     * Tests a newly created instance.
-     */
-    public void testInit() {
-        assertEquals("Wrong current class", getClass(),
-                context.getTargetClass());
-        assertTrue("Got property names", context.propertyNames().isEmpty());
+    /** The context to be tested. */
+    private DefaultIntrospectionContext context;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        context = new DefaultIntrospectionContext(getClass());
     }
 
     /**
@@ -129,6 +120,15 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
         }
     }
 
+    /**
+     * Tests getPropertyDescriptor() if the property name is unknown.
+     */
+    public void testGetPropertyDescriptorUnknown() {
+        assertNull("Got a property (1)", context.getPropertyDescriptor(PROP));
+        context.addPropertyDescriptor(createDescriptor(PROP));
+        assertNull("Got a property (2)", context.getPropertyDescriptor("other"));
+    }
+
     /**
      * Tests hasProperty() if the expected result is false.
      */
@@ -139,12 +139,12 @@ public class DefaultIntrospectionContextTestCase extends TestCase {
     }
 
     /**
-     * Tests getPropertyDescriptor() if the property name is unknown.
+     * Tests a newly created instance.
      */
-    public void testGetPropertyDescriptorUnknown() {
-        assertNull("Got a property (1)", context.getPropertyDescriptor(PROP));
-        context.addPropertyDescriptor(createDescriptor(PROP));
-        assertNull("Got a property (2)", context.getPropertyDescriptor("other"));
+    public void testInit() {
+        assertEquals("Wrong current class", getClass(),
+                context.getTargetClass());
+        assertTrue("Got property names", context.propertyNames().isEmpty());
     }
 
     /**