All The Latest Disarchive News
******************************

Noteworthy changes in release 0.6.0 (2024-01-24)
================================================

  - Archives compressed with bzip2 can now be disassembled.
  - Attempting to disassemble an unsupported file type will now result
    in an error instead of a nonsense specification.

Noteworthy changes in release 0.5.0 (2022-09-15)
================================================

  - The 'disarchive-assemble' and 'specification->blueprint' procedures
    can operate on ports.
  - The base 'disarchive' command accepts 'help' and 'version' flags.
  - The 'disassemble' subcommand accepts an 'output' flag as well as
    'help' and 'version'.
  - The 'assemble' subcommand can read from standard input, write to
    standard output, and accepts 'output', 'help', and 'version' flags.

Noteworthy changes in release 0.4.0 (2021-12-18)
================================================

  - Archives compressed with XZ can now be disassembled.
  - Disarchive's internal GZip implementation should now be
    deterministic.  Disarchive uses an old version of GZip inherited
    from the pristine-tar project.  Since that version was forked
    (around ten years ago) a nondeterminism bug was found and fixed in
    GZip.  This fix is now included in Disarchive.  Note that this
    means that some specifications produced with older versions can no
    longer be built.  This should only happen for archives compressed
    with a nondeterministic GZip, and even then, only when the
    nondeterminism introduced by Disarchive matches the nondeterminism
    introduced by GZip.
  - A small bug has been fixed that was preventing tarballs with
    nonzero file padding (as opposed to header padding) from being
    processed.  (Before the fix, Disarchive would reject them at
    disassembly time.)
  - On newer versions of Guile, the O_NOFOLLOW variable is no longer
    clobbered, which used to produce a warning.
  - Disarchive now logs to the current error port when running as a
    script.

Noteworthy changes in release 0.3.0 (2021-10-24)
================================================

  - Empty directories are no longer ignored while hashing.
  - The 'directory-ref-addresses' procedure is now exported.
  - Cross-compilation has been fixed.

Noteworthy changes in release 0.2.1 (2021-05-06)
================================================

  - The octal tests have been adjusted to be more reliable.

Noteworthy changes in release 0.2.0 (2021-03-22)
================================================

  - The "load" and "save" commands have been replaced with "assemble"
    and "disassemble", with new interfaces.
  - The database model has been removed.  Now, Disarchive uses one
    "specification" file per disassembled file.  This means that the
    "DISARCHIVE_DB" environment variable is no longer used, and a
    specification is given to the "assemble" command instead of a
    hash.
  - Address resolution can now be done by the user.  In addition, the
    old resolver (using Guix to resolve SWHIDs) is turned off by
    default.
  - The full SWHID is used for Software Heritage references.

Copying this file
=================

This file was written by Timothy Sample <samplet@ngyro.com>.

To the extent possible under law, the author(s) have waived all
copyright and related or neighboring rights to this file.

You should have received a copy of the CC0 legalcode along with this
work.  If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
