<?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.
  -->
<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 Weaver Changes</title>
    <author email="mbenson@apache.org">Matt Benson</author>
  </properties>
  <body>
    <release version="2.1" date="YYYY-MM-DD" description="Requires Java 8 or above.">
      <action type="fix" dev="ggregory">Update commons.japicmp.version 0.11.1 -> 0.15.1.</action>
      <action type="fix" dev="ggregory" due-to="John Patrick">Use JUnit 5 assertThrows() #11, #12.</action>
      <action type="update" dev="ggregory" due-to="Dependabot">Bump org.apache.maven:maven-core from 3.1.0 to 3.8.1 in /maven-plugin #13.</action>
    </release>
    <release version="2.0" date="2018-09-07" description="Requires Java 8 or above.">
      <action issue="WEAVER-16" type="fix">NullPointerException when weaving class with no package.</action>
      <action issue="WEAVER-17" type="fix">Maven plugin was packaged without its (generated) HelpMojo class.</action>
      <action issue="WEAVER-19" type="add">Upgrade to Java 8.</action>
      <action issue="WEAVER-20" type="update">Remove commons-io, commons-collections dependencies.</action>
      <action issue="WEAVER-21" type="update">Upgrade xbean-finder to v4.9.</action>
      <action issue="WEAVER-22" type="update">Upgrade modules to ASM 6.2.1.</action>
      <action issue="WEAVER-23" type="fix">Privilizer Weaver computes Object for all variable types in catch context.</action>
      <action issue="WEAVER-24" type="add">Blueprint method references.</action>
      <action issue="WEAVER-25" type="update">Reject blueprint methods that access entities that would be inaccessible.</action>
      <action issue="WEAVER-26" type="update">Upgrade to commons-parent v47.</action>
    </release>
    <release version="1.3" date="2016-10-18" description="Requires Java 6 or greater.">
      <action issue="WEAVER-11" type="fix">bytecode generated with java 7 or 8 is different and can break on earlier versions</action>
      <action issue="WEAVER-12" type="add">Provide a mechanism for working with all classfiles found in the weave environment</action>
      <action issue="WEAVER-13" type="update">Make Ant tasks' system classpath inclusion optional</action>
      <action issue="WEAVER-14" type="update">upgrade modules to asm 5.1</action>
      <action issue="WEAVER-15" type="fix">m2e build encounters missing class</action>
    </release>
    <release version="1.2" date="2016-02-02" description="Requires Java 6 or greater.">
      <action issue="WEAVER-5" type="fix">Incomplete sorting code causes infinite loop</action>
      <action issue="WEAVER-6" type="update">Convert example modules into proper integration tests</action>
      <action issue="WEAVER-7" type="update">Support Weaver classloader in addition to context ClassLoader</action>
      <action issue="WEAVER-8" type="add">Add a dependency mechanism for ordering Weavers, Cleaners amongst themselves</action>
    </release>
    <release version="1.1" date="2014-09-30" description="Requires Java 6 or greater.">
      <action due-to="Bruno P. Kinoshita" issue="WEAVER-1" type="add">Enhance [weaver] documentation</action>
      <action issue="WEAVER-2" type="update">Upgrade to ASM 5</action>
      <action issue="WEAVER-3" type="update">Upgrade to latest xbean-finder (3.18)</action>
      <action issue="WEAVER-4" type="fix">Enable test on Oracle JVMs only</action>
    </release>
    <release version="1.0" date="2014-03-16" description="Initial release" />
  </body>
</document>
