<?xml version="1.0" encoding="UTF-8"?>
<!--
  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.
-->
<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/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd">
  <properties>
    <title>Apache Commons BeanUtils2 - Changes</title>
  </properties>
  <body>
  <release version="2.0" date="TBA" description="Redesign of beanutils with a fluent API">
    <action dev="britter" type="update" issue="SANDBOX-502">
      Add Builder API for defining type conversion
    </action>
    <action dev="britter" type="update" issue="SANDBOX-506">
      Use 'Converter' instead of 'Transformer'
    </action>
    <action dev="britter" type="remove" issue="SANDBOX-501">
      Remove Transformer&lt;S, T&gt; in favor of java.util.function.Function&lt;S, T&gt;
    </action>
    <action dev="britter" type="add" issue="SANDBOX-482">
      Add short cut methods for accessing property values
    </action>
    <action dev="britter" type="add" issue="SANDBOX-478">
      BeanUtils and Maps
    </action>
    <action dev="britter" type="add" due-to="Yogesh Rao" issue="SANDBOX-472">
      Add a registry for Transformer implementations
    </action>
    <action dev="britter" type="add" due-to="Yogesh Rao" issue="SANDBOX-473">
        Exception raised during Transformation
    </action>
    <action dev="britter" type="update" issue="SANDBOX-474">
        Change Codestyle to Sun/Eclipse formatting with spaces
    </action>
    <action dev="britter" due-to="André Diermann" type="update" issue="SANDBOX-471">
      Typos and codestyle violations in GetPropertyTestCase
    </action>
    <action dev="britter" due-to="André Diermann" type="add" issue="SANDBOX-463">
      Implementation of property paths
    </action>
    <action dev="britter" type="update" issue="SANDBOX-444">
      Add test case for BeanProperties.hasProperty()
    </action>
    <action dev="britter" type="update" issue="SANDBOX-443">
      Add test case for BeanAccessor.cast()
    </action>
    <action dev="britter" type="update" issue="SANDBOX-440">
      Configure Checkstyle to allow undeclared unchecked Exceptions in JavaDoc
    </action>
    <action dev="britter" type="update" issue="SANDBOX-442">
      Remove IntrospectionException from BeanProperties methods by wrapping it internally
    </action>
    <action dev="britter" type="update" issue="SANDBOX-441">
      Handling of types that can not be instantiated in DefaultClassAccessor should 
      be improved to give users better feedback
    </action>
    <action dev="britter" type="update" issue="SANDBOX-439">
      Rename ClassLoaderBuilder.loadWithClassLoader to loadWith
    </action>
    <action dev="britter" type="add" issue="SANDBOX-438">
      Implement setMapped on DefaultBeanAccessor
    </action>
    <action dev="britter" type="add" issue="SANDBOX-436">
      Implement BeanAccessor.getMapped
    </action>
    <action dev="britter" type="update" issue="SANDBOX-433">
      Setting properties or calling methods very often results in a NullPointerException
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-431" due-to="Benedikt Ritter">
      Add FindBugs report to pom.xml
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-430" due-to="Benedikt Ritter">
      Change getMapped(String).withKey(String) to getMapped(String).of(String)
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-429" due-to="Benedikt Ritter">
      Implement unit tests for MethodsRegistry
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-428" due-to="Benedikt Ritter">
      Implement unit tests for ConstructorRegistry
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-427" due-to="Benedikt Ritter">
      Suppress m2e plugin life cycle mapping errors
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-426" due-to="Benedikt Ritter">
      Add Cobertura Test Coverage Report to build
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-422" due-to="Benedikt Ritter">
      Wrap checked exceptions into unchecked exception
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-421" due-to="Benedikt Ritter">
      Make sure VoidMethodsTestCase uses a NullBeanAcessor
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-419" due-to="Benedikt Ritter">
      Implement setIndexed(String propertyName) on DefaultBeanAccessor
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-405" due-to="Benedikt Ritter">
      Implement copyPropertiesTo(T target) on DefaultBeanAccessor
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-403" due-to="Benedikt Ritter">
      Refactor Unit tests for better readability
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-401" due-to="Benedikt Ritter">
      Performance improvement: store hash code of AccessibleObjectDescriptor as member variable
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-399" due-to="Benedikt Ritter">
      Handle methods that return void separately
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-398" due-to="Benedikt Ritter">
      Implement unit tests for BeanUtils.onClassName()
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-397" due-to="Benedikt Ritter">
      Replace NullPointerExceptions been thrown in DefaultBeanAccessor with NoSuchMethodEceptions
    </action>
    <action dev="simonetripodi" type="add" issue="SANDBOX-396" due-to="Benedikt Ritter">
      Implement clone() on DefaultBeanAccessor
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-390" due-to="Benedikt Ritter">
      Make sure that the internal package does not get exported when packaging as OSGi bundle
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-389" due-to="Benedikt Ritter">
      implement populate() on DefaultBeanAccessor
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-387" due-to="Benedikt Ritter">
      Implement possibility to find out if a property readable and/or wirtable
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-379" due-to="Benedikt Ritter">
      Implement describe() on DefaultBeanAccessor
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-378" due-to="Benedikt Ritter">
      Extend StaticMethodsTestCase
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-377" due-to="Benedikt Ritter">
      Implement invoke(Exact)Method(...) on DefaultBeanAccessor
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-376" due-to="Benedikt Ritter">
      Extract magic numbers in AccessibleObjectsRegistry.getObjectTransformationCosts(...) to constants
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-373" due-to="Benedikt Ritter">
      Implement setProperty( String name ) on DefaultBeanAccessor
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-371" due-to="Benedikt Ritter">
      Make sure that a property is readable in DefaultBeanAccessor.getProperty( String name )
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-369" due-to="Benedikt Ritter">
      Move logic for type compatibility checking from AccessibleObjectsRegistry to TypeUtils
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-365" due-to="Benedikt Ritter">
      Extend Assertions for checking null references in arrays
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-363" due-to="Benedikt Ritter">
      Check if value is of the correct type in Argument.argument( Class&lt;T&gt; type, V value )
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-362" due-to="Benedikt Ritter">
      Create basic unit tests for all classes
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-360" due-to="Benedikt Ritter">
      Rename Converter&lt;T, S&gt; to Transformer&lt;T, S&gt;.
    </action>
    <action dev="simonetripodi" type="update" issue="SANDBOX-352" due-to="Benedikt Ritter">
      Create basic unit tests for all classes.
    </action>
  </release>
  </body>
</document>
