Releases: encounter/objdiff
Releases · encounter/objdiff
v2.0.0-beta.5
What's Changed
- Added: Experimental wasm bindings (npm: objdiff-wasm)
- Used for experimental decomp.me integration
- Changed: Bump unarm to 1.5.0 by @AetiasHax in #98
- Changed: Support progress categories & auto-generated objects in
objdiff-cli report- New
metadatablock inobjdiff.jsonunits:"metadata": { "auto_generated": false, "complete": false, "reverse_fn_order": false, "source_path": "src/d/actor/d_a_movie_player.cpp", "progress_categories": [ "modules", "game" ] }
- Options
completeandreverse_fn_orderwere moved to here from the unit itself. - Values are passed through to the
report.json.
- New
Full Changelog: v2.0.0-beta.4...v2.0.0-beta.5
v2.0.0-beta.4
What's Changed
- Breaking:
objdiff-cli report's output format has changed. It's now defined using a protobuf definition, and uses proto 3 JSON mapping. Primarily, u64 numbers are now represented as decimal strings, and some fields were moved.objdiff-cli reportnow accepts a--format/-fargument to switch betweenjsonandproto(binary protobuf) output.
- Added: Support
R_MIPS_LITERAL,R_MIPS15_S3relocations (#92, #95)
Full Changelog: v2.0.0-beta.3...v2.0.0-beta.4
v2.0.0-beta.3
What's Changed
- Previous release notes (v2.0.0-beta.2)
- Added: Support R_MIPS_PC16 relocations (615ec4c)
- Fixed: Guard against symbols larger than section when diffing data (cf937b0)
Full Changelog: v2.0.0-beta.2...v2.0.0-beta.3
v2.0.0-beta.2
What's Changed
- Previous release notes (v2.0.0-beta.1)
- Added: Support R_MIPS_GPREL16 relocations correctly by @SquareMan in #88
- Added: Add dummy symbols to empty sections (de74dfd, #87)
- Added: Better graphics backend fallback (952b6a6)
- Fixed: Improve data section diffing more (e1ccee1, #84, #85)
- Fixed: Fix branch immediates missing diff colors (177bd5e, #86)
Full Changelog: v2.0.0-beta.1...v2.0.0-beta.2
v2.0.0-beta.1
What's Changed
- Previous release notes (v2.0.0-alpha.5)
- Added: Add rlwinm decoder tool by @CelestialAmber in #83
- Find in
Tools->Rlwinm Decoder...
- Find in
- Added: MW PPC exception table diff view by @CelestialAmber in #82
- Right click on a function with an associated exception table and click
Decode exception table
- Right click on a function with an associated exception table and click
- Added: Options for ARM disassembly syntax by @AetiasHax in #78
- Fixed: Symbol search, proper case insensitivity and now supports regex (#80)
- Fixed: Improve data section diff logic (#81)
Full Changelog: v2.0.0-alpha.5...v2.0.0-beta.1
v2.0.0-alpha.5
What's Changed
- Previous release notes (v2.0.0-alpha.4)
- Added: ARMv4T (GBA) and ARMv6K (3DS) support by @AetiasHax in #75
- Added: Option to combine data sections with equal names by @AetiasHax in #76
- Changed: Improve MIPS ABI auto-detection (95615c2)
Full Changelog: v2.0.0-alpha.4...v2.0.0-alpha.5
v2.0.0-alpha.4
What's Changed
- Previous release notes (v2.0.0-alpha.3)
- Added: Graphics backend configuration (#56, #73, #74)

- Added: DirectX 12 support is enabled on Windows builds, which may improve compatibility
- Fixed: Update notify-rs/notify#602 to fix WSL crash (#66)
Full Changelog: v2.0.0-alpha.3...v2.0.0-alpha.4
v2.0.0-alpha.3
What's Changed
- Previous release notes (v2.0.0-alpha.1)
- Previous release notes (v2.0.0-alpha.2)
- Added: ARMv5TE (DS) support by @AetiasHax in #68
- Added: More descriptive message for build failure (#64)
- Fixed: Fix read error on objects with no .text section by @AetiasHax in #67
- Fixed: Disable lto to workaround WSL2 crash (#66)
- Fixed: Update rabbitizer to fix crash (0ea6242)
- Changed: Use solid scrollbar in egui (#69)
Full Changelog: v2.0.0-alpha.2...v2.0.0-alpha.3
v2.0.0-alpha.2
What's Changed
- Previous release notes (v2.0.0-alpha.1)
- Added: Auto-detect MIPS ABI / instruction category (9e57a66)
- Added: Arch settings menu (9e57a66)

- Fixed: Default "Space between args" to true (f30b3cf)
Full Changelog: v2.0.0-alpha.1...v2.0.0-alpha.2
v2.0.0-alpha.1
What's Changed
- Added: objdiff has an alpha CLI version!
objdiff-cli diff: A modern TUI diff tool. Run withobjdiff-cli diff -1 target.o -2 base.o [symbol_name]orobjdif-cli diff -p [project_dir] [symbol_name](if project has anobjdiff.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 withobjdiff-cli report generate -p [project_dir] -o report.json(requiresobjdiff.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.splitsection. 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_argsoption inobjdiff.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
.textsections 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)]toReportFunction::addressby @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