diffoscope 286 released 💠

Chris Lamb chris at reproducible-builds.org
Fri Jan 24 12:11:43 UTC 2025


Hi,

The diffoscope maintainers are pleased to announce the release of
version 286 of diffoscope.

diffoscope tries to get to the bottom of what makes files or
directories different. It will recursively unpack archives of many
kinds and transform various binary formats into more human-readable
form to compare them. It can compare two tarballs, ISO images, or PDF
just as easily.

Version 286 includes the following changes:

  [ Chris Lamb ]
  * Bug fixes:
    - When passing files on the command line, don't call specialize(..) before
      we've checked that the files are identical. In the worst case, this was
      resulting in spinning up binwalk and extracting two entire filesystem
      images merely to confirm that they were indeed filesystem images..
      before simply concluding that they were identical anyway.
    - Do not exit with a traceback if paths are inaccessible, either directly,
      via symbolic links or within a directory. (Closes: #1065498)
    - Correctly identify changes to only the line-endings of files; don't mark
      them as "Ordering differences only".
    - Use the "surrogateescape" mechanism of str.{decode,encode} to avoid a
      UnicodeDecodeError and crash when decoding zipinfo output that is not
      valid UTF-8. (Closes: #1093484)
  * Testsuite changes:
    - Don't mangle newlines when opening test fixtures; we want them untouched.
    - Move to assert_diff in test_text.py.
  * Misc:
    - Remove unnecessary return value from check_for_ordering_differences in
      the Difference class.
    - Drop an unused function in iso9600.py
    - Inline a call/check of Config().force_details; no need for an additional
      variable.

## Download

Version 286 is available from Debian unstable as well as PyPI, and
will shortly be available on other platforms surely. More details can
be found here:

   https://diffoscope.org/

… but source tarballs may be located here:

  https://diffoscope.org/archive/

The corresponding Docker image may be run via (for example):

  $ docker run --rm -t -w $(pwd) -v $(pwd):$(pwd):ro \
      registry.salsa.debian.org/reproducible-builds/diffoscope a b


## Contribute

diffoscope is developed within the "Reproducible builds" effort.

  - Git repository
    https://salsa.debian.org/reproducible-builds/diffoscope

  - Docker image, eg.
    registry.salsa.debian.org/reproducible-builds/diffoscope
    https://salsa.debian.org/reproducible-builds/diffoscope

  - Issues and feature requests
    https://salsa.debian.org/reproducible-builds/diffoscope/issues

  - Contribution instructions (eg. to file an issue)
    https://reproducible-builds.org/contribute/salsa/


Regards,

-- 
      o
    ⬋   ⬊      Chris Lamb
   o     o     reproducible-builds.org 💠
    ⬊   ⬋
      o


More information about the rb-general mailing list