<?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.
-->
<!DOCTYPE document
[
<!ELEMENT document (properties?, release+)>
<!ELEMENT properties (title)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT release (action*)>
<!ELEMENT action (#PCDATA)>
<!ATTLIST release
          version CDATA #REQUIRED
          date CDATA #REQUIRED
          description CDATA #IMPLIED>
<!ATTLIST action
          issue CDATA #IMPLIED
          type (add|fix|remove|update) #REQUIRED
          breaks-bwc (true|false) #IMPLIED>
]
>
  <document>
    <properties>
      <title>Apache Compress Ant Library</title>
    </properties>

    <release version="1.6" date="unreleased">
    </release>
    <release version="1.5" date="2017-06-13">
      <action type="update" breaks-bwc="true">
        The coordinates inside the Ivy file have been changed to match
        those of the POM.
      </action>
      <action type="update" breaks-bwc="true">
        The Apache Compress Antlib now requires Apache Commons
        Compress 1.14 or later for 7z, DEFLATE, LZ4 and write support
        for LZMA and Snappy.
        XZ for Java 1.6 or later is required for write support for LZMA.
        Brotli dec 0.1.2 or later is required for Brotli support.
        As a side effect the Compress Antlib now requires Java 7 at
        runtime as this is required by Commons Compress 1.14.
      </action>
      <action type="add">
        A new keepCompression flag can be used to keep the content
        compression methods the same they have been when updating a 7z
        archive or adding entries from a sevenzfileset.
      </action>
      <action type="add">
        Multiple content compression/encryption/filter methods can now
        be specified via nested elements of the sevenz task.
      </action>
      <action type="add" issue="52414">
        The gzip task has a new attribute that controls the level of
        compression.
      </action>
      <action type="add">
        Added write support for the LZMA format.
      </action>
      <action type="add">
        Added support for the DEFLATE format with and without ZLIB headers.
      </action>
      <action type="add">
        Added write support for the Snappy format.
      </action>
      <action type="add">
        Added support for the LZ4 format.
      </action>
      <action type="add">
        Added read-only support for the Brotli format.
      </action>
    </release>

    <release version="1.4" date="2014-01-29">
      <action type="update" breaks-bwc="true">
        The Apache Compress Antlib now requires Apache Commons
        Compress 1.7 if you want to work with Snappy or .Z compressed
        resources.
      </action>
      <action type="add">
        Read-only support for traditional Unix Compress (.Z) has been
        added.
      </action>
      <action type="add">
        Read-only support for Snappy compression has been added.
      </action>
    </release>

    <release version="1.3" date="2013-11-07">
      <action type="update" breaks-bwc="true">
        The Apache Compress Antlib now requires Apache Commons
        Compress 1.6 if you want to work with arj or 7z archives.

        In addition XZ for Java 1.4 is required if you want to
        read/write 7z archives using LZMA(2) compression or
        stand-alone LZMA files.
      </action>
      <action type="add">
        Encoding support for dump and cpio archives and filesets.
      </action>
      <action type="add">
        Read-only support for uncompressed arj archives has been added.
      </action>
      <action type="add">
        Read-only support for LZMA standalone compression has been
        added.
      </action>
      <action type="add">
        Support for file based 7z archives has been added.
      </action>
    </release>

    <release version="1.2" date="2012-04-20">
      <action type="update" breaks-bwc="true">
        The Apache Compress Antlib now requires Apache Commons
        Compress 1.4 and the public domain XZ for Java library if you
        want to use the XZ format.

        Commons Compress 1.4 is also required for the GNU, STAR and
        PAX formats of the tar task.
      </action>
      <action type="add">
        Support for xz compression has been added.
      </action>
      <action type="add">
        The gunzip and bunzip2 tasks as well as the corresponding
        resources now support uncompressing resources that contain
        multiple concatenated streams as a single stream.  This
        behavior has to be enabled explicitly via the
        decompressConcatenated attribute.
      </action>
      <action type="add">
        The tar task now supports the POSIX 1003.1/PAX way of storing
        long file names used by most modern tar implementations.
      </action>
      <action type="add">
        The tar resources and the untar task read entries bigger than
        8 GByte transparently now, if you use Commons Compress 1.4.
      </action>
      <action type="add">
        The tar task writes entries bigger than 8 GByte using POSIX
        1003.1/PAX headers or the star extension if you set the format
        attribute to "star", "gnu" or "pax".  See the tar task's
        documentation of details.
      </action>
      <action type="add" breaks-bwc="true">
        The tar and untar tasks as well as the tar related resources
        now allow the encoding for file names to be specified.  The
        default is the platform's native encoding, it used to be
        ISO-8859-1 in Commons Compress 1.3 and thus the Compress
        Antlib 1.1.
      </action>
    </release>

    <release version="1.1" date="2011-11-05">
      <action type="update" breaks-bwc="true">
        The Apache Compress Antlib now requires Apache Commons
        Compress 1.3 which in turn requires Java5 at runtime.
        This change allows the Compress Antlib to support Zip64
        extensions.
      </action>
      <action type="add">
        Support for pack200 compression has been added.
      </action>
      <action type="add">
        The new pack200normalize task allows you to prepare JAR
        archives so they can be signed and compressed with pack200 and
        the signature will still be valid after uncompressing them
        again.
      </action>
      <action type="add">
        Read-only support for the Unix dump format has been added in
        the form of an &lt;undump&gt; task and corresponding
        &lt;dumpentry&gt; and &lt;dumpfileset&gt; resources.
      </action>
      <action type="update">
        A new attribute zip64Mode provides finer grained control over
        whether Zip64 extensions will be used in the &lt;zip&gt; task.
      </action>
      <action type="update">
        The &lt;zip&gt; task has a new attribute zip64Mode that
        controls whether Zip64 extended information is written to the
        archive.
      </action>
      <action type="update">
        The &lt;ar&gt; task now optionally suppports writing entries
        with names longer than 16 characters using the BSD variant of
        AR archives.
      </action>
      <action type="add">
        The unarchiving tasks and fileset types share a new attribute
        skipUnreadableEntries that can be used to ignore archive
        entries that Apache Commons Compress knows it cannot handle
        (like encrypted ZIP entries or sparse files in GNU tar
        archives).
      </action>
      <action type="update">
        The preserveLeadingSlashes attribute of the &lt;tar&gt; task
        now works as expected.
      </action>
    </release>
  </document>
