Skip to content

v2.0.0-alpha.1

Compare
Choose a tag to compare
@github-actions github-actions released this 21 May 18:59
· 137 commits to main since this release

What's Changed

  • Added: objdiff has an alpha CLI version!
    • objdiff-cli diff: A modern TUI diff tool. Run with objdiff-cli diff -1 target.o -2 base.o [symbol_name] or objdif-cli diff -p [project_dir] [symbol_name] (if project has an objdiff.json)
      • Note: Auto-build has not been implemented yet! Build manually, then use R to reload the object.
    • objdiff-cli report: Generate project matching reports with objdiff-cli report generate -p [project_dir] -o report.json (requires objdiff.json). This report includes a detailed view of every symbol in the project and statistics on matched code and data.
  • Added: Alpha support for x86 in COFF objects (.obj). Please report any bugs!
  • Added: objdiff now loads metadata from a .note.split section. This section can include the original virtual address of each symbol, which objdiff displays in a tooltip when hovering over the symbol. Generated by decomp-toolkit version v0.8.1 and above.
  • Added: custom_args option in objdiff.json. (#59)
  • Added: More instruction context menu options: "Copy instruction", "Copy instruction bytes"
  • Added: Calculate & display overall section match percentages.
  • Fixed: Strip WSL distro root from \\wsl.localhost\ paths. (#59)
  • Fixed: Proper handling of multiple .text sections when parsing DWARF line info. (#63)
  • Fixed: decomp.me integration now works if the configuration is present. (v1.0.0 bug)
  • Changed: Removed all diff algorithms other than "patience".
  • Changed: Rewrote ppc750cl disassembler (10x faster disassembly)

Contributions

  • Handle ^F, ^B, ^U and ^D readline shortcuts in pager by @r-burns in #42
  • Add #[serde(default)] to ReportFunction::address by @ribbanya in #43
  • cli diff: Resolve object and project if not specified by @ribbanya in #44
  • cli report: Generate virtual addresses as uppercase by @ribbanya in #45
  • cli: Log to stderr instead of stdout by @ribbanya in #46
  • objdiff-cli diff: Accept any kind of unit path by @ribbanya in #48
  • objdiff-cli diff: Support "Relax relocation diffs" by @ribbanya in #50
  • objdiff-cli diff: Reduce duplicate key event code by @ribbanya in #51
  • Fix release CI (and add sccache) by @ribbanya in #52
  • Add custom make args by @AetiasHax in #59
  • Strip distro root prefix by @AetiasHax in #58
  • Fix size of .note.split section by @cadmic in #61
  • Use base arch when processing base code by @AetiasHax in #62
  • Display correct line numbers for multiple .text sections by @AetiasHax in #63
  • objdiff-cli report: Support data sections by @ribbanya in #49

Full Changelog: v1.0.0...v2.0.0-alpha.1