<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
  <properties>
    <title>Java convert - Changes</title>
    <author>Stephen Colebourne</author>
  </properties>

  <body>
    <!-- types are add, fix, remove, update -->
    <release version="1.9.2" date="2017-09-20" description="Version 1.9.2">
      <action dev="jodastephen" type="fix" >
        Standard subclass of `TimeZone` must be explicitly registered.
      </action>
    </release>
    <release version="1.9.1" date="2017-09-20" description="Version 1.9.1">
      <action dev="jodastephen" type="fix" >
        Add `Automatic-Module-Name` into `MANIFEST.MF`.
        Locks in module name for Java SE 9.
        Fixes #17.
      </action>
    </release>
    <release version="1.9" date="2017-09-18" description="Version 1.9">
      <action dev="jodastephen" type="fix" >
        Change converter search to not look at superclasses and interfaces.
        Looking at these was fine for `convertToString`, but not for `convertFromString`.
        This change should be compatible for most use cases, but will be incompatible for others.
        If the new release is incompatible, you will need to register an additional converter for the supertype.
        Fixes #15.
      </action>
      <action dev="jodastephen" type="add" >
        Add support for Java 8 primitive optional types - `OptionalInt`, `OptionalLong`, `OptionalDouble`.
        These are supported by reflection - Joda-Convert still supports Java 1.6.
        Fixes #9.
      </action>
    </release>
    <release version="1.8.3" date="2017-08-21" description="Version 1.8.3">
      <action dev="jodastephen" type="update" >
        Optional Guava dependency updated to v20.0.
        As Guava is accessed only by reflection guarded by try-catch, any version of Guava may be used by end users.
        This version has been selected for the pom.xml as it is the last version for Java 1.6.
      </action>
      <action dev="jodastephen" type="update" >
        Provide ability to lock rename handler for additional security.
        Prevent renames of java.*, javax.* and org.joda.* types.
      </action>
    </release>
    <release version="1.8.2" date="2017-06-28" description="Version 1.8.2">
      <action dev="jodastephen" type="fix" >
        Fix to ensure primitive types can be deserialized.
        Fixes #16.
      </action>
    </release>
    <!-- types are add, fix, remove, update -->
    <release version="1.8.1" date="2015-10-02" description="Version 1.8.1">
      <action dev="jodastephen" type="fix" >
        More lenient test of InetAddress format.
        Fixes #13.
      </action>
      <action dev="jodastephen" type="fix" >
        Make Guava dependency optional again.
        Add test run to ensure this
        Fixes #14.
      </action>
    </release>
    <release version="1.8" date="2015-09-29" description="Version 1.8">
      <action dev="jodastephen" type="update" >
        Avoid use of java.xml.DatatypeConverter which may help Android.
        Fixes #7.
      </action>
      <action dev="jodastephen" type="add" >
        Add support for Guava TypeToken and java.lang.reflect.Type.
        Most string formats of TypeToken are handled, but not all (eg. union types, mult-dimensional arrays).
        The Guava dependency is completely optional, loaded by reflection.
      </action>
      <action dev="jodastephen" type="fix" >
        Avoid possible null pointer exception when loading a class.
      </action>
    </release>
    <release version="1.7" date="2014-08-04" description="Version 1.7">
      <action dev="jodastephen" type="add" >
        Add ability to extract the effective type.
        Useful when serializing data to avoid exposing private subclasses.
        The effective type is the class defining the FromString.
        Fixes #8.
      </action>
    </release>
    <release version="1.6" date="2014-01-27" description="Version 1.6">
      <action dev="jodastephen" type="add" >
        Add support for renaming types and enum constants.
        Fixes #6.
      </action>
    </release>
    <release version="1.5" date="2013-09-17" description="Version 1.5">
      <action dev="jodastephen" type="add" >
        Add support for all primitive object arrays.
      </action>
      <action dev="jodastephen" type="add" >
        Add support for boolean[].
      </action>
      <action dev="jodastephen" type="add" >
        Add support for numeric primitive arrays.
      </action>
      <action dev="jodastephen" type="add" >
        Add support for char[] and byte[].
      </action>
      <action dev="jodastephen" type="add" >
        Add StringConverterFactory for more flexible initialization.
      </action>
      <action dev="jodastephen" type="add" >
        Weaken generics to better support framework-level access.
      </action>
      <action dev="jodastephen" type="add" >
        Add isConvertible() method.
      </action>
      <action dev="jodastephen" type="update" >
        Validate the @FromString is a static method.
      </action>
    </release>
    <release version="1.4" date="2013-08-15" description="Version 1.4">
      <action dev="jodastephen" type="update" >
        Change to use Maven plugin for OSGi, changing some published info.
      </action>
      <action dev="jodastephen" type="add" >
        Home page at GitHub.
      </action>
      <action dev="jodastephen" type="add" >
        Add support for FromString using a factory. Issue #5.
      </action>
      <action dev="jodastephen" type="update" >
        Change to use m2e Maven Eclipse.
      </action>
    </release>
    <release version="1.3.1" date="2013-03-08" description="Version 1.3.1">
      <action dev="rocketraman" type="fix" >
        Fix OSGI manifest.
      </action>
    </release>
    <release version="1.3" date="2013-01-25" description="Version 1.3">
      <action dev="jodastephen" type="add" >
        Add register method designed for JDK 1.8 method references or lambdas.
      </action>
      <action dev="jodastephen" type="update" >
        Change to requiring JDK 1.6.
      </action>
      <action dev="jodastephen" type="add" >
        Add alternate package locations for JSR-310 classes.
      </action>
    </release>
    <release version="1.2" date="2011-10-27" description="Version 1.2">
      <action dev="jodastephen" type="add" >
        Add support for CharSequence based fromString methods.
      </action>
      <action dev="jodastephen" type="add" >
        Add support for JSR-310 by reflection, avoiding a dependency.
      </action>
      <action dev="jodastephen" type="add" >
        Allow registration of conversions by method name.
      </action>
      <action dev="jodastephen" type="add" >
        Allow toString conversion to specify the desired type.
      </action>
    </release>
    <release version="1.1.2" date="2011-10-21" description="Version 1.1.2">
      <action dev="jodastephen" type="fix" >
        Allow conversion of primitive types.
      </action>
    </release>
    <release version="1.1.1" date="2011-10-24" description="Version 1.1.1">
      <action dev="jodastephen" type="fix" >
        Allow conversion of primitive types
      </action>
    </release>
    <release version="1.1" date="2010-12-04" description="Version 1.1">
      <action dev="jodastephen" type="fix" >
        Enable superclass factories.
      </action>
    </release>
    <release version="1.0" date="2010-09-05" description="Version 1.0">
      <action dev="jodastephen" type="fix" >
        Lots of tests and fixes.
      </action>
    </release>
    <release version="0.5" date="unreleased" description="Version 0.5">
      <action dev="jodastephen" type="fix" >
        Initial checkin.
      </action>
    </release>
  </body>
</document>
