diff --git a/diffoscope-113.tar.bz2 b/diffoscope-113.tar.bz2 deleted file mode 100644 index c0fba6c..0000000 --- a/diffoscope-113.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9028ef46a2c9f472d5864d04b8f99f96ed16dba360aa937010b0a95b113c1194 -size 1393826 diff --git a/diffoscope-113.tar.bz2.asc b/diffoscope-113.tar.bz2.asc deleted file mode 100644 index 358479d..0000000 --- a/diffoscope-113.tar.bz2.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAlx9oFQACgkQHpU+J9Qx -Hljdew/8DC2uqETQ4DD0hesL4RVOBGtouUj96wxQYDwefmYzPAISQoDyhQ6keWXU -kdNd07Qp4aqY3nAtRrRYXe6+VnFIJehv3WPEtR6QS0kUWkVNR1ImrYcsGFtEaBcr -47iY2Hw3UHWzNNHlP2gnBy/tGc3p4qjG8CMnAbf+XLqx1o9zJkFwvIGxgPqtABVn -j6lgSWkAojipdwLIJhR+29u2j1TdGz+cqUkpQA7IQ8vwZYSdrsrLYOPPRHS6Opl4 -W8kP2imPe1m+sICgqpnT0lGCi0K70XpDD7yGS4DOWmU48yyAeHqww9d4QED2N9WI -+X4945kaWPmBGOOOFYWPHYX72Oy28Cwduho9y1X/1U5irpW6+Ye70OxSBRtOj0uw -nmApemzpqLI72OadWWqz7Rgi8xc+em9KhSzSOxdwmhvR41Ak8n8w1SCamp8f6gol -DQ1UCv7w9u370FJ/XopvlmjNlbA9i6oXRxAQAJYuF8RA91DVzV3CSpiIaVZLyhDe -Is/KPWTXEPVd1ysHD/E926ADTlm+5/TvckGpxyiMLv8lPBVvLlHP+tnXSzWfxCrN -CZ97pKevNDndB92qLCu6VpHGtAwiQs7R7pslIU5c9TRVPf1uu1ragDHr448twwsX -VBtfKTsnH2YbrUIVC8/Tm7Wrd8llwQJRpbcX4yUm9i4jLpb6OlM= -=hgqX ------END PGP SIGNATURE----- diff --git a/diffoscope-168.tar.bz2 b/diffoscope-168.tar.bz2 new file mode 100644 index 0000000..61fe324 --- /dev/null +++ b/diffoscope-168.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78e58bfb6e7f0e6f532426ffaf2b3c0fd48c3dbda6238fc8ef9c3c1f424d02e7 +size 1331784 diff --git a/diffoscope-168.tar.bz2.asc b/diffoscope-168.tar.bz2.asc new file mode 100644 index 0000000..a55ece3 --- /dev/null +++ b/diffoscope-168.tar.bz2.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAmA6EkgACgkQHpU+J9Qx +Hlg1mg/8CQT/JUreR6xApxpoqMZ/6sF/qANHNeiYiVpcqAOilWIh3NB143tLWtNb +u4RomlDbSgQ2VX4W6l/JE5TAmvr9VTXSOTv0SAkw0SCnDeMIeKtAh07rnT/dn6Lg +TRl1LRWIQeWYtq+JjfP2gydb4DtaaCSwqp2bGNysvK+hpX9Q1IdIGZSUYlVR7Mez +xKZVPXyt9k0Yg6BWfV+QymTNZpy/HOHNJ+ZV/EFIGCgiPYwnoU6WTlBo3QY2LiOI +hioSmk4mqE2TCDaCo+vaTDe/qtc3jE/TfGWivf0BtkrV7SbHhaQi8AZHGzig9eom +nGQ47jYj+fFh/ZzbWwrwiAe/BdwrHShM2rRkqV0llJVEh6Au9FB4l6VEPYw9YGSF +I42hjfLjBFNm4tgmC3c0pqL4l6I2I6Jd/6gSTx2Mbq3aoEJlR36UMRPgD3mUvhbt +d56YVSvcKbuhVRAH3EiQX5YTqcQAgCGpAWzkao90kE6snetMjd/DgShYyDLUbvN/ +400g32IbT2oQUQ++fLfOgSdB5CgCu5D4XBJzcSc9Q1juX5J+nknFenEO8Iggx/9H +1wU51GB/it4Twf/nY5qzuaVpMBTiaM2D1xDNhcVmbycXyVzcUWCmSwbT4UX1dS+t +s/MAmG2i1P877k2JTtEMHkwWK1fITLSBRZ8fAjpTmvc0+evjW3Q= +=1Fpu +-----END PGP SIGNATURE----- diff --git a/diffoscope.changes b/diffoscope.changes index 18143c5..b6e91a3 100644 --- a/diffoscope.changes +++ b/diffoscope.changes @@ -1,3 +1,973 @@ +------------------------------------------------------------------- +Sat Feb 27 15:00:17 UTC 2021 - Sebastian Wagner + +- Update dependencies +- Update to version 168: + * Don't call difflib.Differ.compare with very large inputs; it is at least + O(n^2) and makes diffoscope appear to hang. + (Closes: reproducible-builds/diffoscope#240) + * Don't use "Inheriting PATH of X" in debug log message; use "PATH is X". + * Correct the capitalisation of jQuery. +- Update to version 167: + * Temporary directory handling: + - Ensure we cleanup our temporary directory by avoiding confusion between + the TemporaryDirectory instance and the underlying directory. + (Closes: deb#981123) + - Use a potentially-useful suffix to our temporary directory based on the + command-line passed to diffoscope. + - Fix some tempfile/weakref interaction in Python 3.7 (ie. Debian buster). + (Closes: reproducible-builds/diffoscope#239) + - If our temporary directory does not exist anymore (eg. it has been + cleaned up in tests, signal handling or reference counting), make sure + we recreate it. + * Bug fixes: + - Don't rely on magic.Magic(...) to have an identical API between file's + magic.py and PyPI's "python-magic" library. + (Closes: reproducible-builds/diffoscope#238) + - Don't rely on dumpimage returning an appropriate exit code; check that + the file actually exists after we call it. + * Codebase changes: + - Set a default Config.extended_filesystem_attributes. + - Drop unused Config.acl and Config.xattr attributes. + - Tidy imports in diffoscope/comparators/fit.py. + * Tests: + - Add u-boot-tools to test dependencies so that salsa.debian.org pipelines + actually test the new FIT comparator. + - Strip newlines when determining Black version to avoid "requires black + >= 20.8b1 (18.9b0\n detected)" in test output (NB. embedded newline). + - Gnumeric is back in testing so re-add to test dependencies. + - Use assert_diff (over get_data, etc.) in the FIT and APK comparators. + - Mark test_apk.py::test_android_manifest as being allowed to fail for now. + - Fix the FIT tests in buster and unstable. +- Update to version 166: + [ Chris Lamb ] + * New features and bugfixes: + - Explicitly remove our top-level temporary directory. + (Closes: deb#981123, reproducible-builds/diffoscope#234) + - Increase fuzzy matching threshold to 130 ensure that we show more + differences. (Closes: reproducible-builds/diffoscope#232) + - Save our sys.argv in our top-level temporary directory in case it + helps debug current/errant temporary directories. + - Prefer to use "magic.Magic" over the "magic.open" compatibility + interface. (Closes: reproducible-builds/diffoscope#236) + - Reduce fuzzy threshold to 110 to prevent some test failures. + (Closes: reproducible-builds/diffoscope#233) + * Output improvements: + - Show fuzzyness amount in percentage terms, not out of the + rather-arbitrary "400". + - Improve the logging of fuzzy matching. + - Print the free space in our temporary directory when we create it, not + from within diffoscope.main. + * Codebase improvements: + - Tidy the diffoscopecomparators.utils.fuzzy module. + - Update my copyright years. + - Clarify the grammar of a comment. + - Clarify in a comment that __del__ is not always called, so temporary + directories are not neccessary removed the *moment* they go out of scope. + [ Conrad Ratschan ] + * Fix U-Boot Flattened Image Tree ("FIT") image detection for larger image + files. (MR: reproducible-builds/diffoscope!75) +- Update to version 165: + [ Dimitrios Apostolou ] + * Introduce the --no-acl and --no-xattr arguments [later collapsed to + --extended-filesystem-attributes] to improve performance. + * Avoid calling the external stat command. + [ Chris Lamb ] + * Collapse --acl and --xattr into --extended-filesystem-attributes to cover + all of these extended attributes, defaulting the new option to false (ie. + to not check these very expensive external calls). + [ Mattia Rizzolo ] + * Override several lintian warnings regarding prebuilt binaries in the + * source. + * Add a pytest.ini file to explicitly use Junit's xunit2 format. + * Ignore the Python DeprecationWarning message regarding the `imp` module + deprecation as it comes from a third-party library. + * debian/rules: filter the content of the d/*.substvars files +- Update to version 164: + [ Chris Lamb ] + * Truncate jsondiff differences at 512 bytes lest they consume the entire page. + * Wrap our external call to cmp(1) with a profile (to match the internal + profiling). + * Add a note regarding the specific ordering of the new + all_tools_are_listed test. + [ Dimitrios Apostolou ] + * Performance improvements: + - Improve speed of has_same_content by spawning cmp(1) less frequently. + - Log whenever the external cmp(1) command is spawn.ed + - Avoid invoking external diff for identical, short outputs. + * Rework handling of temporary files: + - Clean up temporary directories as we go along, instead of at the end. + - Delete FIFO files when the FIFO feeder's context manager exits. + [ Mattia Rizzolo ] + * Fix a number of potential crashes in --list-debian-substvars, including + explicitly listing lipo and otool as external tools. + - Remove redundant code and let object destructors clean up after themselves. + [ Conrad Ratschan ] + * Add a comparator for Flattened Image Trees (FIT) files, a boot image format + used by U-Boot. +- Update to version 163: + [ Chris Lamb ] + * Bug fixes & new features: + - Normalise "ret" to "retq" in objdump output to support multiple versions + of obdump(1). (Closes: deb#976760, reproducible-builds/diffoscope#227) + - Don't show progress indicators when running zstd(1). + (Closes: reproducible-builds/diffoscope#226) + - Move the slightly-confusing behaviour of loading an "existing diff" if a + single file is passed to diffoscope to the new --load-existing-diff + command. + * Output improvements: + - Use pprint.pformat in the JSON comparator to serialise the differences + from jsondiff to make the output render better. + - Correct tense in --debug log output. + * Code quality: + * Don't use an old-style "super" call. + - Rewrite the filter routine for post-processing output from readelf(1). + - Update my copyright years. + - Remove unncessary PEP 263 encoding lines (replaced via PEP 3120). + - Use "minimal" instead of "basic" as a variable name to match the + underlying package name. + - Add comment regarding Java tests for diffoscope contributors who are not + using Debian. (Re: reproducible-builds/diffoscope!58) + * Debian packaging: + - Update debian/copyright to match copyright notices in source-tree. + (Closes: reproducible-builds/diffoscope#224) + - Ensure the new "diffoscope-minimal" package has a different short + description from the main "diffoscope" one. + [ Jean-Romain Garnier ] + * Add tests for OpenJDK 14. + [ Conrad Ratschan ] + * Add comparator for "legacy" uboot uImage files. + (MR: reproducible-builds/diffoscope!69) +- Update to version 162: + [ Chris Lamb ] + * Don't depends on radare2 in the Debian autopkgtests as it will not be in + bullseye due to security considerations (#950372). (Closes: deb#975313) + * Avoid "Command `s p a c e d o u t` failed" messages when creating an + artificial CalledProcessError instance in our generic from_operation + feeder creator. + * Overhaul long and short descriptions. + * Use the operation's full name so that "command failed" messages include + its arguments. + * Add a missing comma in a comment. + [ Jelmer Vernooij ] + * Add missing space to the error message when only one argument is passed to + diffoscope. + [ Holger Levsen ] + * Update Standards-Version to 4.5.1. + [ Mattia Rizzolo ] + * Split the diffoscope package into a diffoscope-minimal package that + excludes the larger packages from Recommends. (Closes: deb#975261) + * Drop support for Python 3.6. +- Update to version 161: + [ Chris Lamb ] + * Fix failing testsuite: (Closes: deb#972518) + - Update testsuite to support OCaml 4.11.1. (Closes: deb#972518) + - Reapply Black and bump minimum version to 20.8b1. + * Move the OCaml tests to the assert_diff helper. + [ Jean-Romain Garnier ] + * Add support for radare2 as a disassembler. + [ Paul Spooren ] + * Automatically deploy Docker images in the continuous integration pipeline. +- Update to version 160: + * Check that pgpdump is actually installed before attempting to run it. + Thanks to Gianfranco Costamagna (locutusofborg). (Closes: deb#969753) + * Add some documentation for the EXTERNAL_TOOLS dictionary. + * Ensure we check FALLBACK_FILE_EXTENSION_SUFFIX, otherwise we run pgpdump + against all files that are recognised by file(1) as "data". +- Update to version 159: + [ Chris Lamb ] + * Show "ordering differences only" in strings(1) output. + (Closes: reproducible-builds/diffoscope#216) + * Don't alias output from "os.path.splitext" to variables that we do not end + up using. + * Don't raise exceptions when cleaning up after a guestfs cleanup failure. + [ Jean-Romain Garnier ] + * Make "Command" subclass a new generic Operation class. +- Update to version 158: + * Improve PGP support: + - Support extracting of files within PGP signed data. + (Closes: reproducible-builds/diffoscope#214) + - pgpdump(1) can successfully parse some unrelated, non-PGP binary files, + so check that the parsed output contains something remotely sensible + before identifying it as a PGP file. + * Don't use Python's repr(...)-style output in "Calling external command" + logging output. + * Correct a typo of "output" in an internal comment. +- Update to version 157: + [ Chris Lamb ] + * Try obsensibly "data" files named .pgp against pgpdump to determine whether + they are PGP files. (Closes: reproducible-builds/diffoscope#211) + * Don't raise an exception when we encounter XML files with "" + declarations inside the DTD, or when a DTD or entity references an external + resource. (Closes: reproducible-builds/diffoscope#212) + * Temporarily drop gnumeric from Build-Depends as it has been removed from + testing due to Python 2.x deprecation. (Closes: deb#968742) + * Codebase changes: + - Add support for multiple file extension matching; we previously supported + only a single extension to match. + - Move generation of debian/tests/control.tmp to an external script. + - Move to our assert_diff helper entirely in the PGP tests. + - Drop some unnecessary control flow, unnecessary dictionary comprehensions + and some unused imports found via pylint. + * Include the filename in the "... not identified by any comparator" + logging message. +- Update to version 156: + [ Chris Lamb ] + * Update PPU tests for compatibility with Free Pascal versions 3.2.0 or + greater. (Closes: deb#968124) + * Emit a debug-level logging message when our ppudump(1) version does not + match file header. + * Add and use an assert_diff helper that loads and compares a fixture output + to avoid a bunch of test boilerplate. + [ Frazer Clews ] + * Apply some pylint suggestions to the codebase. +- Update to version 155: + [ Chris Lamb ] + * Bump Python requirement from 3.6 to 3.7 - most distributions are either + shipping3.5 or 3.7, so supporting 3.6 is not somewhat unnecessary and also + more difficult to test locally. + * Improvements to setup.py: + - Apply the Black source code reformatter. + - Add some URLs for the site of PyPI.org. + - Update "author" and author email. + * Explicitly support Python 3.8. + [ Frazer Clews ] + * Move away from the deprecated logger.warn method logger.warning. + [ Mattia Rizzolo ] + * Document ("classify") on PyPI that this project works with Python 3.8. +- Update to version 154: + [ Chris Lamb ] + * Add support for F2FS filesystems. + (Closes: reproducible-builds/diffoscope#207) + * Allow "--profile" as a synonym for "--profile=-". + * Add an add_comment helper method so don't mess with our _comments list + directly. + * Add missing bullet point in a previous changelog entry. + * Use "human-readable" over unhyphenated version. + * Add a bit more debugging around launching guestfs. + * Profile the launch of guestfs filesystems. + * Correct adding a comment when we cannot extract a filesystem due to missing + guestfs module. +- Update to version 153: + [ Chris Lamb ] + * Drop some legacy argument styles; --exclude-directory-metadata and + --no-exclude-directory-metadata have been replaced with + --exclude-directory-metadata={yes,no}. + * Code improvements: + - Make it easier to navigate the main.py entry point. + - Use a relative import for get_temporary_directory in diffoscope.diff. + - Rename bail_if_non_existing to exit_if_paths_do_not_exist. + - Rewrite exit_if_paths_do_not_exist to not check files multiple times. + * Documentation improvements: + - CONTRIBUTING.md: + - Add a quick note about adding/suggesting new options. + - Update and expand the release process documentation. + - Add a reminder to regenerate debian/tests/control. + - README.rst: + - Correct URL to build job on Jenkins. + - Clarify and correct contributing info to point to salsa.debian.org. +- Update to version 152: + [ Chris Lamb ] + * Bug fixes: + - Don't require zipnote(1) to determine differences in a .zip file as we + can use libarchive directly. + * Reporting improvements: + - Don't emit "javap not found in path" if it is available in the path but + it did not result in any actual difference. + - Fix "... not available in path" messages when looking for Java + decompilers; we were using the Python class name (eg. "") over the actual command we looked + for (eg. "javap"). + * Code improvements: + - Replace some simple usages of str.format with f-strings. + - Tidy inline imports in diffoscope.logging. + - In the RData comparator, always explicitly return a None value in the + failure cases as we return a non-None value in the "success" one. + [ Jean-Romain Garnier ] + * Improve output of side-by-side diffs, detecting added lines better. + (MR: reproducible-builds/diffoscope!64) + * Allow passing file with list of arguments to ArgumentParser (eg. + "diffoscope @args.txt"). (MR: reproducible-builds/diffoscope!62) +- Update to version 151: + [ Chris Lamb] + * Improvements and bug fixes: + - Pass the absolute path when extracting members from SquashFS images as we + run the command with our working directory set to the temporary + directory. (Closes: deb#964365, reproducible-builds/diffoscope#189) + - Increase the minimum length of the output from strings(1) to 8 characters + to avoid unnecessary diff noise. (Re. reproducible-builds/diffoscope#148) + * Logging improvements: + - Fix the compare_files message when the file does not have a literal name. + - Reduce potential log noise by truncating the has_some_content messages. + * Codebase changes: + - Clarify use of a "null" diff in order to remember an exit code. + - Don't alias a variable when don't end up it; use "_" instead. + - Use a "NullChanges" file to represent missing data in the Debian package + comparator. + - Update some miscellaneous terms. +- Update to version 150: + [ Chris Lamb ] + * Don't crash when listing entries in archives if they don't have a listed + size (such as hardlinks in .ISO files). + (Closes: reproducible-builds/diffoscope#188) + * Dump PE32+ executables (including EFI applications) using objdump. + (Closes: reproducible-builds/diffoscope#181) + * Tidy detection of JSON files due to missing call to File.recognizes that + checks against the output of file(1) which was also causing us to attempt + to parse almost every file using json.loads. (Whoops.) + * Drop accidentally-duplicated copy of the new --diff-mask tests. + * Logging improvements: + - Split out formatting of class names into a common method. + - Clarify that we are generating presenter formats in the opening logs. + [ Jean-Romain Garnier ] + * Remove objdjump(1) offsets before instructions to reduce diff noise. + (Closes: reproducible-builds/diffoscope!57) +- Update to version 149: + [ Chris Lamb ] + * Update tests for file 5.39. (Closes: reproducible-builds/diffoscope#179) + * Downgrade the tlsh warning message to an "info" level warning. + (Closes: deb#888237, reproducible-builds/diffoscope#29) + * Use the CSS "word-break" property over manually adding U+200B zero-width + spaces that make copy-pasting cumbersome. + (Closes: reproducible-builds/diffoscope!53) + * Codebase improvements: + - Drop some unused imports from the previous commit. + - Prevent an unnecessary .format() when rendering difference comments. + - Use a semantic "AbstractMissingType" type instead of remembering to check + for both "missing" files and missing containers. + [ Jean-Romain Garnier ] + * Allow user to mask/filter reader output via --diff-mask=REGEX. + (MR: reproducible-builds/diffoscope!51) + * Make --html-dir child pages open in new window to accommodate new web + browser content security policies. + * Fix the --new-file option when comparing directories by merging + DirectoryContainer.compare and Container.compare. + (Closes: reproducible-builds/diffoscope#180) + * Fix zsh completion for --max-page-diff-block-lines. + [ Mattia Rizzolo ] + * Do not warn about missing tlsh during tests. +- Update to version 148: + [ Daniel Fullmer ] + * Fix a regression in the CBFS comparator due to changes in our_check_output. + [ Chris Lamb ] + * Add a remark in the deb822 handling re. potential security issue in the + .changes, .dsc, .buildinfo comparator. +- Update to version 147: + [ Chris Lamb ] + * New features: + - Add output from strings(1) to ELF binaries. It is intended this will + expose expose build paths that are hidden somewhere within the objdump(1) + output. (Closes: reproducible-builds/diffoscope#148) + - Add basic zsh shell tab-completion support. + (Closes: reproducible-builds/diffoscope#158) + * Bug fixes: + - Prevent a traceback when comparing a PDF document that does not contain + any metadata, ie. it is missing a PDF "/Info" stanza. + (Closes: reproducible-builds/diffoscope#150) + - Fix compatibility with jsondiff 1.2.0 which was causing a traceback and + log the version of jsondiff we are using to aid debugging in the future. + (Closes: reproducible-builds/diffoscope#159 + - Fix an issue in GnuPG keybox handling that left filenames in the diff. + - Don't mask an existing test name; ie. ensure it is actually run. + * Reporting: + - Log all calls to subprocess.check_output by using our own wrapper utility. + (Closes: reproducible-builds/diffoscope#151) + * Code improvements: + - Replace references to "WF" with "Wagner-Fischer" for clarity. + - Drop a large number of unused imports (list_libarchive, + ContainerExtractionError, etc.) + - Don't assign exception to a variable that we do not use. + - Compare string values with the equality operator, not via "is" identity. + - Don't alias an open file to a variable when we don't use it. + - Don't alias "filter" builtin. + - Refactor many small parts of the HTML generation, dropping explicit + u"unicode" strings, tidying the generation of the "Offset X, Y lines + modified" messages, moving to PEP 498 f-strings where appropriate, etc. + - Inline a number of single-used utility methods. +- Update to version 146: + [ Chris Lamb ] + * Refactor .changes and .buildinfo handling to show all details (including + the GPG header and footer components), even when referenced files are not + present. (Closes: reproducible-builds/diffoscope#122) + * Normalise filesystem stat(2) "birth times" (ie. st_birthtime) in the same + way we do with stat(1)'s "Access:" and "Change:" times to fix a + nondetermistic build failure on GNU Guix. + (Closes: reproducible-builds/diffoscope#74) + * Drop the (default) subprocess.Popen(shell=False) keyword argument so that + the more unsafe shell=True is more obvious. + * Ignore lower vs. upper-case when ordering our file format descriptions. + * Don't skip string normalisation in Black. + [ Mattia Rizzolo ] + * Add a "py3dist" override for the rpm-python module (Closes: deb#949598) + * Bump the debhelper compat level to 13 and use the new + execute_after_*/execture_before_* style rules. + * Fix a spelling error in changelog. + [ Daniel Fullmer ] + * Mount GuestFS filesystem images readonly. + [ Jean-Romain Garnier ] + * Prevent an issue where (for example) LibarchiveMember's has_same_content + method is called regardless of the actual type of file. +- Update to version 145: + [ Chris Lamb ] + * Improvements: + - Add support for Apple Xcode mobile provisioning .mobilepovision files. + (Closes: reproducible-builds/diffoscope#113) + - Add support for printing the signatures via apksigner(1). + (Closes: reproducible-builds/diffoscope#121) + - Use SHA256 over MD5 when generating page names for the HTML directory + presenter, validate checksums for files referenced in .changes files + using SHA256 too, and move to using SHA256 in "Too much input for diff" + output too. (Closes: reproducible-builds/diffoscope#124) + - Don't leak the full path of the temporary directory in "Command [..] + exited with 1". (Closes: reproducible-builds/diffoscope#126) + - Identify "iOS App Zip archive data" files as .zip files. + (Closes: reproducible-builds/diffoscope#116) + * Bug fixes: + - Correct "differences" typo in the ApkFile handler. + (Closes: reproducible-builds/diffoscope#127) + * Reporting/output improvements: + - Never emit the same id="foo" TML anchor reference twice, otherwise + identically-named parts will not be able to linked to via "#foo". + (Closes: reproducible-builds/diffoscope#120) + - Never emit HTML with empty "id" anchor lements as it is not possible to + link to "#" (vs "#foo"). We use "#top" as a fallback value so it will + work for the top-level parent container. + - Clarify the message when we cannot find the "debian" Python module. + - Clarify "Command [..] failed with exit code" to remove duplicate "exited + with exit" but also to note that diffoscope is interpreting this as an + error. + - Add descriptions for the 'fallback' Debian module file types. + - Rename the --debugger command-line argument to --pdb. + * Testsuite improvements: + - Prevent CI (and runtime) apksigner test failures due to lack of + binfmt_misc on Salsa CI and elsewhere. + * Codebase improvements: + - Initially add a pair of comments to tidy up a slightly abstraction level + violating code in diffoscope.comparators.mising_file and the + .dsc/.buildinfo file handling, but replace this later by by inlining + MissingFile's special handling of deb822 to prevent leaking through + abstraction layers in the first place. + - Use a BuildinfoFile (etc.) regardless of whether the associated files + such as the orig.tar.gz and the .deb are present, but don't treat them as + actual containers. (Re: reproducible-builds/diffoscope#122) + - Rename the "Openssl" command class to "OpenSSLPKCS7" to accommodate other + commands with this prefix. + - Wrap a docstring across multiple lines, drop an inline pprint import and + comment the HTMLPrintContext class, etc. + [ Emanuel Bronshtein ] + * Avoid build-cache in building the released Docker image. + (Closes: reproducible-builds/diffoscope#123) + [ Holger Levsen ] + * Wrap long lines in older changelog entries. +- Update to version 144: + [ Chris Lamb ] + * Improvements: + - Print the amount of free space that we have available in our temporary + directory as a debugging message. + - Remove (broken) fuzzy matching of JSON files as file 5.35 (in buster, + released 2018-10-18) supports recognising JSON data. + (Closes: reproducible-builds/diffoscope#106) + - Don't pretty-print the JSON output by default as it will usually be so + complicated to be unreadable by the human eye and it can be easily + replaced by piping to "| jq". + - Don't print a traceback if we pass a single, missing argument to + diffoscope (eg. a JSON diff to re-load). + * Reporting/output improvements: + - Reduce the default number of maximum standard error lines printed from 50 + to 25; usually the error is obvious by that point. + - Clarify the message when we truncate the number of lines to standard + error. + - Clarify when an external command emits for both files, otherwise it can + look like diffoscope is repeating itself when it is actually being run + twice. + - Don't repeat "stderr from {}" if both commands emit the same thing. + * Dockerfile improvements: + - Use ARG instead of ENV for DEBIAN_FRONTEND so we do not set this + environment variable at runtime. + (Closes: reproducible-builds/diffoscope#103) + - Run diffoscope as a non-root user in the runtime container. + (Closes: reproducible-builds/diffoscope#102) + - Add a .dockerignore file to whitelist files we need in our container. + Thanks to Emanuel Bronshtein for the original idea. + (Closes: reproducible-builds/diffoscope#105) + - Install/remove the build-essential package during build so we can install + the recommended packages from Git. + * Testsuite improvements: + - Include the Black output in the assertion failure too. + - Update the Black self-test; we don't care about the length of the black + output, rather whether it has some or, preferably, not. + * Codebase improvements: + - Bump the officially required version of Python from 3.5 to 3.6. + (Closes: reproducible-builds/diffoscope#117) + - Drop an unused shlex import. + - Instruct linters to pass over a bare try-except when cleaning up + temporary files used to extract archives. + - Format diffoscope/comparators/utils/command.py according to Black + 19.10b0-3. + - Drop entries from Uploaders that have not uploaded in over three years + with esteemed thanks for their previous work. + - Drop .travis.yml; we are using Salsa now and likely would not give + support for running on Travis CI at this point. + [ Jelle van der Waa ] + * Update LLVM diff for LLVM version 10. + [ Vagrant Cascadian ] + * Add external tool reference on openssl for GNU Guix. +- Update to version 143: + * Add support for .p7c and .p7b certificates. + (Closes: reproducible-builds/diffoscope#94) + * Add "pdftotext" as a requirement to run the PDF test_metadata text. Special + thanks to Chocimier/Piotr for the debugging work. + (Closes: reproducible-builds/diffoscope#99) + * Improve the documentation of FALLBACK_FILE_TYPE_HEADER_PREFIX and + FILE_TYPE_HEADER_PREFIX to note that only the first 16 bytes are used. +- Update to version 142: + [ Chris Lamb ] + * Render multiline difference comments in a way to show indentation. + (Closes: reproducible-builds/diffoscope#101) + * Correct parsing of "./setup.py test --pytest-args ...". + * Capitalise "Ordering differences only" in text comparison comments. + * Don't include the JSON similarity percentage if it is 0.0%. + [ Ben Hutchings ] + * Document how --exclude arguments are matched against filenames. + [ Vagrant Cascadian ] + * Add external tool reference for h5dump on Guix. +- Update to version 141: + [ Chris Lamb ] + * Dalvik .dex files can also serve as APK containers. Restrict the narrower + identification of .dex files to files ending with this extension, and widen + the identification of APK files to when file(1) discovers a Dalvik file. + (Closes: deb#884095, reproducible-builds/diffoscope#28) + * Explicitly list python3-h5py in debian/tests/control.in to ensure that we + have this module installed during an autopkgtest run to generate the test + fixture & regenerate debian/tests/control from debian/tests/control.in + to match. + * Drop unnecessary and unused assignment to "diff" variable. + * Strip paths from the output of zipinfo(1) warnings. + (re. reproducible-builds/diffoscope#97) + [ Michael Osipov ] + * Revert to using zipinfo(1) directly instead of piping input via /dev/stdin + for BSD portability. (Closes: reproducible-builds/diffoscope#97) + [ Jelle van der Waa ] + * Add an external tool for h5dump on Arch. +- Update to version 140: + * apktool 2.5.0 changed the handling of output of XML schemas, so update and + restrict the corresponding test to match. + (Closes: reproducible-builds/diffoscope#96) + * Add support for Hierarchical Data Format (HD5) files. + (Closes: reproducible-builds/diffoscope#95) +- Update to version 139: + [ Mattia Rizzolo ] + * Fix Build-Depends on python3-pdfminer. (Closes: deb#955645) +- Update to version 138: + * New features & bug fixes: + - Use dumppdf from python3-pdfminer if we do not see any other differences + from pdftext, etc. (reproducible-builds/diffoscope#92) + - Prevent a traceback when comparing two .rdx files directly as get_member + will return a file even if the file is missing and not raise a KeyError + exception; we therefore explicitly test for the existence of the file. + * Don't allow errors within "Rscript" deserialisation to cause the entire + operation to fail (for example if an external library cannot be loaded). + (reproducible-builds/diffoscope#91) + * Reporting improvements: + - Inject the supported file formats into the package long description and + remove any duplicate comparator descriptions when formatting. + (#reproducible-builds/diffoscope#90) + - Print a potentially-helpful message if the PyPDF2 module is not installed + (#reproducible-builds/diffoscope#92) + - Weaken "Install the X package to get a better output" claim to "... may + produce a better output" as this is not guaranteed. + * Code improvements: + - Inline the RequiredToolNotFound.get_package method; only used once. + - Drop deprecated "py36 = [..]" argument in pyproject.toml. + - Factor out generation of comparator descriptions. + - Add an upstream metadata file. +- Update to version 137: + * Also extract classes2.dex, classes3.dex etc. from .apk files. + (Closes: reproducible-builds/diffoscope#88) + * Add generalised support for "ignoring" returncodes and move special-casing + of returncodes in the zip comparator to this. + * Accommodate sng returning with a UNIX exit code of 1 even if there minor + errors in the file (discovered via #950806). +- Update to version 136: + [ Chris Lamb ] + * Improvements: + - Support external build tools. (Closes: reproducible-builds/diffoscope#87) + - Fallback to the regular .zip container format for .apk files if apktool + is not available. + - Clarify that "install X" in difference comment messages actually refer to + a system/distribution package. + - Drop the --max-report-size-child and --max-diff-block-lines-parent + options; both deprecated and scheduled for removal in January 2018. + * Bug fixes: + - No longer raise a KeyError exception if we request an invalid member from + a directory container. + * Logging improvements: + - Log a debug-level message if we cannot open a file as container due to a + missing tool in order to assist diagnosing issues. + - If we don't know the HTML output name, don't emit an enigmatic "html + output for" message. + - Add the current PATH environment variable to the "Normalising locale..." + debug-level message. + - Print the "Starting diffoscope $VERSION" line as the first line. + - Correct a debug-level message for compare_meta calls to quote the + arguments correctly. + * Refactoring: + - Add support for alternative container types for a file, allowing for + runtime (vs import time) control of fallbacks such as adding comments. + and append a comment to a difference if we fallback to an inferior + container format due to missing a tool. + - Factor-out the generation of "foo not available in path" difference + comment messages as a helper method in the exception that represents + them. + * Code improvements: + - Tidy diffoscope.main's configure method, factoring out the set of the + Config() global out of the run_diffoscope method and inlining the + functionality of maybe_set_limit, etc. + - Rename diffoscope.locale module to diffoscope.environ as we are modifying + things beyond just the locale (eg. calling tzset(), etc.) + - Drop unused "Difference" import from the APK comparator. + - Drop an assertion that is guaranteed by parallel "if" conditional. + - Add a "noqa" line to avoid a false-positive flake8 "unused import" + warning. + - Turn down the "volume" for a recommendation in a comment. + * Release/source-code management: + - Add a .git-blame-ignore-revs file to improve the output of git-blame(1) by + ignoring large changes when introducing the Black source code reformatter + and update the CONTRIBUTING.md guide on how to optionally use it locally. + - Convert CONTRIBUTING.rst to CONTRIBUTING.md and include it in the + PyPI.org release. + * Test improvements + - Refresh and update the fixtures for the .ico tests to match the latest + version of Imagemagick in Debian unstable. + [ Holger Levsen ] + * Bump Standards Version to 4.5.0, no changes needed. + [ Marc Herbert ] + * Search for expected keywords in the output of cbfstool tests and not a + specific output. (Closes: reproducible-builds/diffoscope!42) +- Update to version 135: + [ Chris Lamb ] + * Extract resources.arsc files (as well as classes.dex) from Android .apk + files to ensure that we at least show differences there. (Closes: deb#916359) + * Always pass a filename with a ".zip" extension to zipnote otherwise it + will return with an exit code of 9 and revert to a binary diff for the + entire file. + * Don't exhaustively output the entire HTML report when testing the + regression for #875281; parsing the JSON and pruning the tree should be + enough. + * Factor out running all of our zipinfo variants into a new method and use + this routine when comparing .apk files, thus now also displaying any + differences exposed by bsdtar. + * Testsuite improvements: + - Always allow fixtures called "output*". + - Actually test the output of the test_html_regression_875281 test. + * Add a note to the "Contributing" page to suggest enable concurrency when + running the tests locally. + [ Marc Herbert ] + * Fix a misplaced debug "Loading diff from stdin" logging message. + * Add new "Testing" section to CONTRIBUTING.rst. +- Update to version 134: + [ Chris Lamb ] + * Ensure that autopkgtests are run with our pyproject.toml present for the + correct "black" source code formatter settings. (Closes: deb#945993) + * Tidy some unnecessary boolean logic in the ISO9660 tests. + * Rename the "text_option_with_stdiout" to "text_option_with_stdout". + * Include the libarchive file listing for ISO images to ensure that + timestamps (not just dates) are visible in any difference. + (Closes: reproducible-builds/diffoscope#81) + [ Eli Schwartz ] + * Fix an exception in the progressbar handler. + [ Vagrant Cascadian ] + * Add an external tool reference for zstd on GNU Guix. +- Update to version 133: + * Correct the substitution/filtering of paths in ELF output to avoid + unnecessary differences depending on the path name provided on the + commandline. (Closes: deb#945572) + * Silence/correct a SyntaxWarning message due to incorrectly comparing an + integer by identity (is) over equality (==). (Closes: deb#945531) +- Update to version 132: + * Allow all possible .zip variations to return with non-zero exit codes, not + just known types we can explicitly identify (eg. Java .jmod and .jar + files). (Closes: reproducible-builds/diffoscope#78) + * Also permit UTF-8 encoded .dsc and .changes files. + (Re: reproducible-builds/diffoscope#78) + * Rework a long string of "or" statements into a loop with a "break". +- Update to version 131: + * Clarify in the HTML and text outputs that the limits are per output format, + not global. (Closes: deb#944882, reproducible-builds/diffoscope#76) + - Bump the previous "max_page_size" limit from 400 kB to 4 MB. + * Update an Android manifest test to reflect that parsed XML attributes are + returned in a sorted or otherwise novel manner under Python 3.8. + * Update code to reflect version 19.10b0 of the black source code + reformatter and don't run our self-test for versions earlier than this as + it will generate different results and thus fail. + * Limit .dsc and .buildinfo matching; don't attempt to compare them as + ELF sections or similar. (Closes: reproducible-builds/diffoscope#77) + * Add a comment that the text_ascii{1,2} test fixture files are used in + multiple places so are not trivial to generate on the fly. +- Update to version 130: + [ Chris Lamb ] + * debian/tests/basic-command-line: + Move from deprecated ADTTMP to AUTOPKGTEST_TMP. + * Correct the matching of R .rds files by also detecting newer versions + of this file format. + * Drop unused BASE_DIR global in the tests. + * Try and ensure that new test data files are generated dynamically, ie. + at least no new ones are added without "good" reasons. + * Truncate the tcpdump expected diff to 8KB (from ~600KB). + * Refresh OCaml test fixtures to support OCaml >= 4.08.1. Closes: deb#944709 + * Correct reference to the ".rdx" extension in a comment. + * Update XML test for Python 3.8+. + * Don't use line-base dbuffering when communucating with subprocesses + in binary mode. (Closes: reproducible-builds/diffoscope#75) + [ Jelle van der Waa ] + * Add support for comparing .zst files are created by zstd. + (Closes: reproducible-builds/diffoscope!34) +- Update to version 129: + * Call R's "deparse" function to ensure that we do not error out and revert + to a binary diff when processing .rdb files with internal "vector" types as + they do not automatically coerce to strings. + * Add the ability to pass Python bytestrings to external commands and + pass our long script to parse R .rdb files using this new method over a + long command-line argument + * Use Rscript's --vanilla option over --no-environ as this also enables + --no-save, --no-restore, --no-site-file and --no-init-file. + * Improve command-line error messages: + - Split out formatting into a separate utility function. + - Truncate very long lines when displaying them as an external source + of data. + - When printing an error from a command, format the command for the user. + * Use "exit code" over "return code" when referring to UNIX error codes in + displayed differences. +- Update to version 128: + * Query the container for the full path of the parallel R .rdx file for a + .rdb file as well as looking in the same directory. This ensures that + comparing two .deb/.changes files shows a varying path introduced in + version 127. +- Update to version 127: + [ Chris Lamb ] + * Move build-dependency on python-argcomplete to the Python 3.x version to + facilitate Python 2.x removal. (Closes: deb#942967) + * Overhaul the handling of GNU R .rdb files: + - Rework and refactor the handling of .rdb files specifically with respect + to locating the parallel .rdx file prior to inspecting the file to ensure + that we do not add files to the user's filesystem in the case of directly + comparing two .rdb files or, worse, overwriting a file in is place. + - Use a ("""-formatted) docstring for our internal R script to dump + variables. + - Mask/hide standard errors; R will often produce noisy output that is not + useful to us. + - Don't include a useless and misleading "NULL". + - Include all R object names are displayed, including ones beginning with a + fullstop ("."). + - Sort package fields when dumping data for output stability. + - Format package contents as "foo = bar" rather than using ugly and + misleading brackets. + - Include the object's type when dumping package contents. + - Never read the site or user's R location environment configuration to + ensure output stability. + - Expose absolute paths in the semantic/human-readable output, preventing + falling back to a useless hexdump. + * Improve the formatting of command lines: + - Ensure newlines and other metacharacters appear escaped as "\n", etc. + - Use the newline (etc.) escaped version of the commandline being executed + in logging/debug output. + - When displaying standard error, ensure use the escaped version too. + * Add support for easily masking the standard error of commands and use this + in the ffprobe comparator. + * To match the libarchive container, raise a KeyError exception if we request + an invalid member from a directory container. + * Correct string representation output in the traceback when we cannot locate + a specific item in a container. + [ Mattia Rizzolo ] + * Run Debian autopkgtests against all Python versions. +- Update to version 126: + [ Chris Lamb ] + * Track and report on missing Python modules. + (Closes: reproducible-builds/diffoscope#72) + * Drop some unnecessary control flow. + * Drop explicit inheriting from 'object' class; unnecessary in Python 3. + * Bump Standards-Version to 4.4.1. + [ Mattia Rizzolo ] + * Exit with 2 instead of 1 in case of no disk space. +- Update to version 125: + * The test_libmix_differences ELF test requires xxd. (Closes: deb#940645) +- Update to version 124: + [ Chris Lamb ] + * Also conditionally skip the identification and "no differences" tests as we + require the Ocaml compiler to be present when building the test files + themselves. (Closes: deb#940471) + [ Mattia Rizzolo ] + * Permit all sorts of version suffixes when checking the Debian package + version matches setup.py, not just for backports. (Closes: deb#939387) + [ Vagrant Cascadian ] + * Add external tools on GNU Guix for odt2txt, sng and pgpdump. + [ Marc Herbert ] + * Remove StaticLibFile in the ELF comparator -- ArFile.compare_details() is + superior. (Closes: reproducible-builds/diffoscope#64) +- Update to version 123: + [ Chris Lamb ] + * Build OCaml test input files on-demand rather than shipping them with the + package in order to prevent test failures with OCaml 4.08. + (Closes: deb#939386) + * Update test skipping messages: + - When skipping tests due to the lack of installed tool, print the package + that may provide it. + - Update "requires foo module" messages to clarify that they are regarding + Python modules, not packages. + * Rebuild the test squashfs images to exclude the character device as they + requires root or fakeroot to extract. (reproducible-builds/diffoscope#65) + * Remove accidentally-committed test fixture generation code from tests. + * Set long_description_content_type to 'text/x-rst' in setup.py to appease + the PyPI.org linter. + [ Mattia Rizzolo ] + * Don't crash when the progress is requested but the Python module is + missing. (Closes: deb#939085) + [ Vagrant Cascadian ] + * Add external tools for gifbuild, javap and kbxutil in GNU Guix. + [ Marc Herbert ] + * In the cbfs tests, add a "Comp" column test to support Coreboot + utils > 4.6. +- Update to version 122: + [ Chris Lamb ] + * Apply patch from László Böszörményi to update the squashfs test output and + bump the required version for the test itself. (Closes: deb#935684) + * Skip calls to unsquashfs when we are not root or fakeroot. + (Re: reproducible-builds/diffoscope#63) + * Include either standard error or standard output (and not just the latter) + if/when an external command fails. + * Fix a few unicode/bytes issues: + - Avoid a possible traceback caused by a str/bytes confusion when handling + the output of failing external commands. + - Ensure that all of our artificially-created subprocess.CalledProcessError + instances have `output` instances that are bytes objects, not str. + * Improve debugging output: + * Add the containing module name to the (eg.) "Using StaticLibFile for ..." + * Improve and condense output when creating our Comparator object types. + * Correct a reference to `parser.diff` as `diff` in this context is a Python + function in the module, not the actual output returned from diff(1). + * Add the "wabt" Debian package to the test dependencies so that we run the + wasm tests. + [ Mattia Rizzolo ] + * Now that we test-require wabt, expect that its tools to be available during + autopkgtests. +- Update to version 121: + * Don't fallback to a (useless) raw hexdump when readelf(1) reports an minor + issue in a section in an ELF binary. For example, when the "frames" section + is of the "NOBITS" type, its contents are apparently "unreliable" and thus + readelf(1) exits with a returncode of 1. (Closes: deb#849407, #931962) + * Add support to Difference.from_command_exc and friends to optionally ignore + specified returncodes from the called program and treat them as "no" + difference. + * Simplify the parsing of the optional "command_args" argument to the + from_command and from_command_exc methods in the Difference class. +- Update to version 120: + * No-change sourceful after accidentally uploading binaries in order to + migration to testing. +- Update to version 119: + [ Chris Lamb ] + * If a command fails to execute but does not print anything to standard + error, try and include the first line of standard output in the message we + include in the diff. This was motivated by readelf(1) returning its error + messages on stdout. (Closes: deb#931963) + * Add support for Java ".jmod" modules. Not all versions of file(1) support + detection of Jmod files yet, so we perform a manual comparison instead. + (Closes: deb#933308) + * Re-add "return code" noun to "Command `foo` exited with X" error messages. + * Factor out the ability to ignore the exit codes of "zipinfo" and + "zipinfo -v" in the presence of non-standard headers. + * Only override the exit code from our special-cased calls to zipinfo(1) if + they are 1 or 2 to avoid potentially masking real errors. + * Also add missing textual description entries for ZipFile and + MozillaZipFile file types. + * Skip extra newline in "Output:\n". + * Cease ignoring test failures in stable-backports. + * Bump debhelper compat level to 12. + [ Marc Herbert ] + * Catch failures to disassemble and rescue all other differences. + (Closes: reproducible-builds/diffoscope!29) +- Update to version 118: + * Don't fail in autopkgtests when, for example, we do not have sufficiently + newer or older version of file. (Closes: deb#931881) + * Also include python3-tlsh in test dependencies. + * Tidy handling of DIFFOSCOPE_FAIL_TESTS_ON_MISSING_TOOLS: + - Merge two previously-overlapping environment variables. + - Use repr(..)-style output when printing test status. + - Add some explicit return values to appease pylint. +- Update to version 117: + [ Chris Lamb ] + * Add support for file 5.37. Thanks again to Christoph Biedl for the heads-up + in advance. (Closes: reproducible-builds/diffoscope/#57) + * Apply patch from Gianfranco Costamagna to fix autopkgtest failures in + Debian. (Closes: deb#931709) + [ Holger Levsen ] + * debian/control: Bump Standards-Version to 4.4.0. +- Update to version 116: + [ Chris Lamb ] + * Upload to unstable after the release of Debian "buster". + * README.rst & manual page generation: + - Strip out manpage-only parts of the README rather than using "only" + reStructuredText directives in order to support the demands of the latest + PyPI website. + - Use "real" reStructuredText comments instead of using the "raw" directive. + * Dockerfile: + - Build the Docker image from the current Git checkout, not the Debian + archive. (reproducible-builds/diffoscope#56) + - Use the ENTRYPOINT directive with the JSON syntax instead so we pass all + arguments to the underlying diffoscope executable. + * Document that run_diffoscope should not be considered a stable API. + [ Mattia Rizzolo ] + * Rename a test function to prevent shadowing a previous one with the + same name. + * Add ffmpeg to the list of Debian build-dependencies for the testsuite. + [ Vagrant Cascadian ] + * Add support for known external tools in GNU Guix. +- Update to version 115): + [ Chris Lamb ] + * Fix execution of symbolic links that point to the "bin/diffoscope" entry + point by fully resolving the location. + * Add a Dockerfile. + * Update contributing messages with instructions regarding the Docker image. + [ Mattia Rizzolo ] + * tests: + + Allow specifying which tools are known missing using + DIFFOSCOPE_TESTS_MISSING_TOOLS, to override a _FAIL_ON_MISSING_TOOLS. + + With DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS=1, actually fail only tests + that are missing the required tools. + * debian: + + Add black to the test dependencies. + + Enforce the "fail on missing tools" only when testing with all the + recommended packages. + + Ack some missing tools during autopkgtest. + + Reinstate oggvideotools and procyon-decompiler test dependencies, + now that are not buggy anymore. +- Update to version 114): + [ Chris Lamb ] + * Add support for GnuPG "keybox" files. Thanks to Daniel Kahn Gillmor for the + suggestion. (Closes: deb#871244, reproducible-builds/diffoscope#23) + * Always warn if tlsh module is not available (not just if a specific + fuzziness threshold is specified) to match the epilog of the --help output. + This prevents missing support for file rename detection. + (Closes: deb#888237, reproducible-builds/diffoscope#29) + * Treat missing tools on Debian autopkgtests as individual test failures by + checking whether a new DIFFOSCOPE_TESTS_FAIL_ON_MISSING_TOOLS environment + variable is exported. (Closes: deb#905885, reproducible-builds/diffoscope#35) + * Require that "-" is explicitly specified to read a single diff from + standard input to avoid non-intuitive behaviour when diffoscope is called + without any arguments. (Closes: reproducible-builds/diffoscope#54) + * Make --use-dbgsym a ternary operator to make it easier to totally disable. + Thanks to Mattia Rizzolo for the suggestion. + * Consolidate on "e" as the aliased exception name. + [ Milena Boselli Rosa ] + * Various fixes to the HTML markup to prevent validation warnings/errors: + - Prevent empty values for the "name" attribute name on HTML anchor tags, + and add an "id" to its parent "div" container. + - Fix "table column x established by element 'col' has no cells beginning + in it" warnings. + - Fix "Text run is not in Unicode Normalization Form C". + - Remove the "type" HTML attribute from