Releases: noseglasses/elf_diff
Releases · noseglasses/elf_diff
v0.7.1
v0.6.0
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
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
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
v0.3.3
Fix package version.
v0.3.2
Fixes package version validation.
v0.3.1
Hotfix release that fixes broken Python package version.
v0.3.0
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
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