<?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.
-->

<!-- Description: http://maven.apache.org/plugins/maven-changes-plugin/changes.html -->

<document>
  <properties>
    <title>Apache Commons Release Plugin Changes</title>
    <author email="dev@commons.apache.org">Apache Commons Developers</author>
  </properties>

  <body>
    <release version="1.8.1" date="2020-MM-DD" description="Version 1.8">
      <!-- UPDATES -->
      <action type="update" dev="ggregory" due-to="Gary Gregory">Bump actions/cache from 3 to 3.0.5 #123.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump actions/setup-java from 2 to 3 #108.</action>
      <action type="update" dev="ggregory" due-to="Dependabot">Bump spotbugs-maven-plugin from 4.5.3.0 to 4.7.1.0 #106, #115, #122.</action>
      <action type="update" dev="kinow" due-to="Gary Gregory, Dependabot">Bump spotbugs from 4.6.0 to 4.7.1 #114.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump commons-parent from 52 to 53 #111.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump github/codeql-action from 1 to 2 #109.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump jacoco-maven-plugin from 0.8.7 to 0.8.8 #112.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump plexus-velocity from 1.3 to 2.0 #116.</action>
      <action type="update" dev="ggregory" due-to="Dependabot">Bump maven-scm.version from 1.12.2 to 1.13.0 #117.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump maven.dependency.version from 3.8.5 to 3.8.6 #120.</action>
      <action type="update" dev="ggregory" due-to="Dependabot">Bump maven-pmd-plugin from 3.16.0 to 3.17.0 #119.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump junit-vintage-engine from 5.8.2 to 5.9.0 #125.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump spotbugs-maven-plugin from 4.7.1.0 to 4.7.1.1 #124.</action>
    </release>
    <release version="1.8.0" date="2022-03-13" description="Version 1.8">
      <action issue="COMMONSSITE-138" type="add" dev="chtompki, ggregory">Create signature validation script for releases.</action>
      <!-- FIXES -->
      <action type="fix" dev="sebb">Fail if commons.nexus.repo.id is not defined.</action>
      <action type="fix" dev="sebb">Allow for old-style group ids in vote-txt.</action>
      <action type="fix" dev="sebb">Don't create hash for .asc files.</action>
      <action type="fix" dev="ggregory" due-to="Arturo Bernal, Bruno P. Kinoshita">Replace construction of FileInputStream and FileOutputStream objects with Files NIO APIs. #44.</action>
      <action type="fix" dev="ggregory">Replace FindBugs with SpotBugs.</action>
      <action type="fix" dev="ggregory" due-to="Arturo Bernal">Minor Improvements #34.</action>
      <action type="fix" dev="ggregory" due-to="Gary Gregory">Workaround UnsupportedOperationException in CommonsDistributionDetachmentMojo.execute due to https://issues.apache.org/jira/browse/MNG-7316.</action>
      <!-- UPDATES -->
      <action type="update" dev="kinow">Bump maven-checkstyle-plugin from 3.1.1 to 3.1.2 #36.</action>
      <action type="update" dev="kinow">Bump maven-pmd-plugin from 3.13.0 to 3.15.0 #29 #72.</action>
      <action type="update" dev="kinow">Bump commons-build-plugin from 1.11 to 1.12 #25.</action>
      <action type="update" dev="kinow">Bump actions/setup-java from v1.4.0 to v2 #11 #19 #49.</action>
      <action type="update" dev="kinow" due-to="Gary Gregory">Bump spotbugs from 4.1.1 to 4.6.0 #10 #24 #30 #37 #41 #51 #59 #68 #71 #80 #93 #98.</action>
      <action type="update" dev="kinow">Bump spotbugs-maven-plugin from 4.1.1 to 4.5.3.0 #20 #26 #33 #45 #52 #61 #74 #79 #81 #88 #94 #99.</action>
      <action type="update" dev="ggregory">Update JUnit from 4.12 to 4.13.2, #23 #39.</action>
      <action type="update" dev="kinow" due-to="Gary Gregory, Dependabot">Bump maven.dependency.version from 3.6.1 to 3.8.5 #47 #76 #86.</action>
      <action type="update" dev="ggregory">Update commons-io:commons-io from 2.6 to 2.11.0 #13 #63.</action>
      <action type="update" dev="ggregory">Update checkstyle from 8.34 to 9.3 #5, #12, #14, #27, #31, #35, #40, #46, #53, #58, #64, #65, #69, #77, #84, #91, #95, #101.</action>
      <action type="update" dev="ggregory">Update actions/checkout from v2.3.1 to v3 #8, #16, #28, #78, #83, #103.</action>
      <action type="update" dev="ggregory">Update velocity-engine-core from 2.1 to 2.3 #4 #43.</action>
      <action type="update" dev="ggregory">Update commons-codec from 1.13 to 1.15.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump actions/cache from v2 to v3 #38, #50, #56, #87, #105.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump maven.plugin.version from 3.6.0 to 3.6.4 #54, #89, #97.</action>
      <action type="update" dev="kinow" due-to="Gary Gregory, Dependabot">Bump jacoco-maven-plugin from 0.8.5 to 0.8.7 (Fixes Java 15 builds) #55.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump plexus-velocity from 1.2 to 1.3 #60.</action>
      <action type="update" dev="kinow" due-to="Gary Gregory, Dependabot">Bump commons-compress from 1.19 to 1.21 #62.</action>
      <action type="update" dev="kinow" due-to="Gary Gregory">Replace JUnit from 4.13.2 to 5.7.2 vintage.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump maven-scm.version from 1.11.2 to 1.12.2 #66, #73, #96.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump junit-vintage-engine from 5.7.2 to 5.8.2 #70, #75, #90.</action>
      <action type="update" dev="kinow" due-to="Dependabot">Bump taglist-maven-plugin from 2.4 to 3.0.0 #100.</action>
    </release>

    <release version="1.7" date="2019-08-30" description="Version 1.7">
      <action type="update" dev="chtompki">checkstyle.version from 8.10.1 to 8.18</action>
      <action type="update" dev="ggregory">VOTE.txt: Sample git clone command should checkout in a folder named after the tag</action>
      <action type="update" dev="ggregory">VOTE.txt: Sort the file names being hashed</action>
      <action type="update" dev="ggregory">maven.dependency.version from 3.5.3 to 3.6.0</action>
      <action type="update" dev="ggregory">org.apache.maven.scm from 1.10.0 to 1.11.2</action>
      <action type="update" dev="ggregory">maven-pmd-plugin from 3.9.0 to 3.11.0</action>
      <action type="update" dev="ggregory">commons-build-plugin from 1.8 to 1.10</action>
      <action type="update" dev="ggregory">commons.jacoco.version from 0.8.2 to 0.8.3</action>
      <action type="update" dev="ggregory">velocity-engine-core from 2.0 to 2.1</action>
      <action type="update" dev="ggregory">maven.dependency.version from 3.6.0 to 3.6.1</action>
      <action type="update" dev="ggregory">checkstyle.version from 8.18 to 8.19</action>
      <action type="update" dev="ggregory">maven-pmd-plugin from 3.11.0 to 3.12.0</action>
      <action type="update" dev="ggregory">com.puppycrawl.tools:checkstyle from 8.19 to 8.20</action>
      <action type="update" dev="ggregory">Update Apache Commons Collections from 4.3 to 4.4</action>
      <action type="update" dev="ggregory">Update Apache Commons Compress from 1.18 to 1.19</action>
    </release>

    <release version="1.6" date="2019-03-08" description="Version 1.6">
      <action issue="COMMONSSITE-128" type="add" dev="chtompki">Release plugin cleans up staging area before staging</action>
      <action type="update" dev="ggregory">Update Apache Commons Codec from 1.11 to 1.12.</action>
    </release>

    <release version="1.5" date="2019-01-26" description="Version 1.5">
      <action type="update" dev="chtompki">vote-txt, use github as opposed to git-wip</action>
      <action type="fix" dev="chtompki">ReadmeHtmlVelocityDelegate, accommodate for artifactIds ending in numbers</action>
      <action type="fix" dev="chtompki">ReadmeHtmlVelocityDelegate, bcel's artifactId != commons-bcel, but is just bcel</action>
      <action type="update" dev="ggregory">Drop sha-256 and leave sha-512 only</action>
      <action type="update" dev="ggregory">commons.jacoco.version: 0.8.0 -> 0.8.2; java 11 compatibility</action>
      <action issue="COMMONSSITE-123" type="add" dev="mbenson">introduce configuration parameter to perfom distribution checkin using Maven settings server credentials</action>
      <action issue="COMMONSSITE-122" type="fix" dev="mbenson">stage-distributions mojo assumes site directory has basename 'site'</action>
    </release>

    <release version="1.4" date="2018-08-29" description="Version 1.4">
      <action type="update" dev="ggregory">Better error message when files cannot be checked in to the SCM.</action>
      <action type="fix" dev="ggregory">Check the result of checking out files from the SCM.</action>
      <action issue="COMMONSSITE-120" type="update" dev="ggregory">[release-plugin] Use SHA-256 and SHA-512, not MD5, not SHA-1.</action>
      <action type="update" dev="ggregory">Update Apache Commons Compress from 1.17 to 1.18.</action>
      <action type="update" dev="ggregory">Drop SHA-256 code, leaving only SHA-512.</action>
    </release>

    <release version="1.3" date="2018-06-15" description="Version 1.3">
      <action issue="COMMONSSITE-117" type="update" dev="chtompki">Remove md5 signatures from release artifacts.</action>
      <action issue="COMMONSSITE-113" type="update" dev="chtompki">Put unpacked site in scm dev dist directory for navigating purposes.</action>
      <action issue="COMMONSSITE-112" type="add" dev="ggregory">Add a vote.txt file.</action>
      <action issue="COMMONSSITE-108" type="add" dev="chtompki">Adding README.html and HEADER.html to staged release</action>
      <action type="update" dev="ggregory">Update platform requirement from Java 7 to Java 8.</action>
    </release>

    <release version="1.2" date="2018-04-02" description="Version 1.2">
      <action issue="COMMONSSITE-107" type="fix" dev="chtompki">Adding ./target/commons-release-plugin/scm/RELEASE-NOTES.txt to svn as opposed to ./RELEASE-NOTES.txt</action>
    </release>

    <release version="1.1" date="2018-02-28" description="1.1">
      <action issue="COMMONSSITE-104" type="fix" dev="chtompki">Sha1 signature files now reflect actual signatures.</action>
      <action issue="COMMONSSITE-98"  type="add" dev="chtompki">Making the project more multi-module compatible</action>
      <action issue="COMMONSSITE-102" type="fix" dev="chtompki">Commons Release Plugin doesn't work with Commons Release Plugin</action>
      <action issue="COMMONSSITE-101" type="fix" dev="chtompki">Make -Dcommons.release.dryRun=true our commit toggle</action>
    </release>


    <release version="1.0" date="2018-01-10" description="Initial release">
      <action issue="COMMONSSITE-96" type="add" dev="chtompki">Create commons-release-component project skeleton.</action>
      <action issue="COMMONSSITE-99" type="add" dev="chtompki">Prepare Standard Build integrations, travis, jacoco, checkstyle, etc.</action>
      <action issue="COMMONSSITE-97" type="add" dev="chtompki">Documentation for commons-release-plugin</action>
    </release>
  </body>
</document>
