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

          https://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.
To generate the release notes from this file:

mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn]

The <action> type attribute can be add, update, fix, or remove.
-->
<document xmlns="http://maven.apache.org/changes/2.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/changes/2.0.0 https://maven.apache.org/xsd/changes-2.0.0.xsd">
  <properties>
    <title>Apache Commons XML - Changes</title>
  </properties>
  <body>
    <release version="0.1.0" date="YYYY-MM-DD" description="First release.">
      <action type="add" dev="ppkarwasz">
        Secure-by-default JAXP factory creation via XmlFactories, with implementation-specific hardening recipes for the
        stock JDK, Android, Apache Xalan, Apache Xerces, Woodstox, and Saxon-HE.
      </action>
    </release>
  </body>
</document>
