All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- statistics text file output plugin
- handle
driver_file is None
- bump gitpython from 3.1 to 3.1.41
- bump lycheeverse action version
- support for Python 3.6
- 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)
- 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)
- remove spurious instruction context in assembly output
- 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
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
- 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
- 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'
- Unused package requirement pdfkit
- Fixes github issue 51 (#51): Pair report generation broken
- Fixes broken Python package version again
- Fixes broken Python package version again
- Fixes broken Python package version
- PyPI Python package installable via pip
- Enhanced CI for testing Python build, packaging and package installation from a local path
- Multi-page HTML reports
- Select and exclude symbols via regular expressions
- A fancy Logo
- Self contained HTML reports
- Fix internal links in pdf reports
- Initial release