Skip to content

Releases: noseglasses/elf_diff

v0.7.1

13 Jan 10:08
Compare
Choose a tag to compare

Added

  • statistics text file output plugin

Changed

  • handle driver_file is None
  • bump gitpython from 3.1 to 3.1.41
  • bump lycheeverse action version

Removed

  • support for Python 3.6

v0.6.0

21 Dec 08:05
Compare
Choose a tag to compare

Added

  • command line arg --skip_persisting_same_size enables skipping those persisting symbols whose size did not change
  • read nm -l output to gain symbol source locations (if debug info available)
  • proper HTML escaping of symbol names
  • sort HTML overview tables
  • add symbol class table to HTML statistics
  • CI validate generated HTML documents by comparing with reference documents
  • highlight HTML statistics delta
  • migrated symbols info (if Dwarf debugging info available in elf-binary)

Changed

  • enable all types of source prefix command line args being supplied multiple times
  • vertically align statistics tables in HTML reports
  • fix errors in symbol statistics tables
  • replace Python package dicttoxml with dict2xml for XML export (the former causes problems with Python 3.10)

Removed

  • remove spurious instruction context in assembly output

v0.5.0

19 Nov 15:18
Compare
Choose a tag to compare

Added

  • CI tests of Python versions 3.5-3.10
  • Command line arguments grouped in -h output
  • Determine binary file type
  • Refuse comparing binaries with incompatible file types
  • CI test json document output by comparing against reference document
  • test_requirements.txt (Python packages required for testing)
  • thorough Python type checking for the whole codebase
  • CI check typing using mypy
  • XML export plugin
  • improved error-output at CLI
  • make errors and warnings more prominent
  • use unicode characters for CLI output in non-Windows environments
  • command line options for listing default plugins
  • CI testing of plugin interface
  • allow default plugins being loaded and parametrized from command line
  • only output stack tarces if the --debug flag is set

Changed

Enable comparison of elf_diff documents across binutils versions by

  • stripping instruction lines (remove leading and trailing whitespaces)
  • unify instruction differences in x86_64 output of objdump (0xC3 ret/retq -> ret)
  • sort symbols alphabetically before assigning integer IDs

v0.4.0

05 Nov 14:18
Compare
Choose a tag to compare

Added

  • Badges at the top of README.md file
  • Documents Weasyprint usage in README.md
  • Documents PyPI package name inconsistency
  • Mangling files for compilers with exotic name mangling that do not provide binutils
  • Similar symbols detection and output can now explicitly disabled for performance reasons
  • CI tests on Windows
  • CI code coverage testing (line & branch coverage)
  • CI codacy code quality testing
  • Github CI now deploys examples to gh_pages
  • CONTRIBUTING.md file
  • CODE_OF_CONDUCT.md file
  • Github issue templates
  • A second simple example for testing and documentation (also deployed on gh_pages)
  • Balloons with additional information are displayed when hovering over HTML table headers
  • Statistics now comprise the total number and the number of selected and excluded symbols
    of each binary in addition to the selection and exclusion regex
  • Added means to gess whether symbol demangling is available
  • Plugin system added
  • Report generation now taken over by plugins
  • Added YAML, JSON and TXT reports
  • Between the extraction of symbols from the binaries and the report generation a
    new central data structure, the document tree is established
  • Jinja2 templates of the html export plugin now operate directly on the document tree
  • Custom plugins can be loaded from the command line
  • Command line flag added to write the document tree to stdout
  • HTML reports now additionally output tree formatted information to aid changing the Jinja templates or writing custom versions

Changed

  • Initial example in README.md improved
  • README.md restructured
  • Added and improved tests
  • Tests write their output to a directory structure that matches the fixture and test names
    of the Python test definition
  • Python requirements mostly tied to exact versions
  • Mass reports deprecated
  • Mass reports Jinja template simplified
  • Symbol type 'new' renamed to 'appeared in order not to conflict with the distinction old/new
  • 'Symbol similarity' renamed 'signature similarity'

Removed

  • Unused package requirement pdfkit

v0.3.4

17 Oct 08:56
Compare
Choose a tag to compare

v0.3.3

26 Sep 09:03
9113dc6
Compare
Choose a tag to compare

Fix package version.

v0.3.2

26 Sep 08:59
2c07493
Compare
Choose a tag to compare

Fixes package version validation.

v0.3.1

26 Sep 08:55
5841cb4
Compare
Choose a tag to compare

Hotfix release that fixes broken Python package version.

v0.3.0

25 Sep 18:59
529f1a2
Compare
Choose a tag to compare

This release adds the following:

  • PyPI Python package installable via pip
  • enhanced CI that tests build, packaging and package installation from local path

v0.2

21 Sep 11:25
4bfdf92
Compare
Choose a tag to compare

Adds the following new features and fixes:

  • multi page html reports
  • select and exclude symbols via regular expressions
  • a fancy logo
  • self contained html reports
  • fix internal links in pdf reports