Releases: encounter/objdiff
v3.0.0-alpha.2
Previous changelog (v3.0.0-alpha.1)
What's Changed
- Added: MIPS: Use relocation pairing (
R_MIPS_HI16
,R_MIPS_LO16
) to calculate relocation addend - Added: MIPS: Option to display '$' prefix for registers. Off by default.
- Fixed: Various MIPS regressions.
- Changed: Build objdiff-gui against older glibc (#165, 80e9396)
Full Changelog: v3.0.0-alpha.1...v3.0.0-alpha.2
v3.0.0-alpha.1
This release brings significant internal changes that improve overall performance and enable better code reuse. Due to the complex refactoring involved, several features are currently missing and will be reimplemented before the stable release of v3:
- Data relocation diffing
- Displaying data values from instruction tooltips
- Displaying data pool references
- JSON output for
objdiff-cli diff
- PowerPC
extab
display/diffing
If you'd like these features, please continue using the latest stable v2 release until they return.
All object and architecture backends have been completely reworked. Please submit issues for any regressions. Going forward, integration tests are being added to prevent future regressions.
The WebAssembly API was rebuilt on top of the WebAssembly Component Model, and the new internal architecture significantly reduces the amount of data that needs to pass through the WASM/JS boundary. An updated version of the experimental VS Code extension will be released soon with significantly improved performance thanks to these changes.
What's Changed
- Added: Build errors are handled more gracefully and do not send you back to the symbols view (#161, d938988)
- Added: "Combine data sections" option now combines MSVC section groups with proper ordering (
.rdata$r
, etc) - Added: New "Combine text sections" option that will combine all text sections (including MSVC section groups, e.g.
.text$di
,.text$mn
, etc) - Added: Implement context menu copy functionality for data values by @SquareMan in #163
- Note: Currently not working post-refactor
- Added: Check relocation addends when diffing functions by @LagoLunatic in #158
- Added: Symbol search box when mapping a symbol (#160)
- Added: Calculate a diff score in addition to match percentage, based on asm-differ and decomp-permuter logic (#1)
- Added: Improve tooltip and context menu visuals, including better handling for long symbol names
- Fixed: Added/removed bytes being visually misaligned in data diff view by @LagoLunatic in #159
- Fixed: MSVC local static functions are missing from diff (#156)
- Fixed: Statics in MSVC built objs don't show names (#148)
- Fixed: x86 relocation incorrectly applied (#106)
- Changed: Use rabbitizer v2 for MIPS backend (6d3c63c)
- Changed: Simplified internal object representation & processing
Full Changelog: v2.7.1...v3.0.0-alpha.1
v2.7.1
NOTE: This release has configuration changes that the experimental VS Code extension has not yet been updated for. Please use v2.6.0 CLI for the extension.
What's Changed
- Fixed: Refactor data relocation diffing to improve accuracy and fix bugs by @LagoLunatic in #157
Full Changelog: v2.7.0...v2.7.1
v2.7.0
NOTE: This release has configuration changes that the experimental VS Code extension has not yet been updated for. Please use v2.6.0 CLI for the extension.
What's Changed
- Added: Show relocation diffs in function view when the data's content differs by @LagoLunatic in #153
- Added: Implement diffing relocations within data sections by @LagoLunatic in #154
- Fixed: Update dependencies to fix notify-rs crash (6037a79, #145)
Full Changelog: v2.6.0...v2.7.0
v2.6.0
What's Changed
- Added: Add buttons to collapse or expand all sections in the symbol list view for an object simultaneously by @LagoLunatic in #149
- Added: Internal changes to support upcoming objdiff Visual Studio Code extension.
- Update dependencies by @NWPlayer123 in #150
Full Changelog: v2.5.0...v2.6.0
v2.5.0
What's Changed
- Added: GUI: Implement keyboard shortcuts by @LagoLunatic in #139
- See PR description for a current list.
- Note: Ctrl-* shortcuts may be replaced with Alt shortcuts in the future
- Added: PPC: Display decoded rlwinm info to hover tooltip by @LagoLunatic in #141
- Added: PPC: Display data values on hover for pools as well by @LagoLunatic in #140
- Added: Experimental objdiff-cli diff auto-rebuild (526e031, #47)
- Includes improvements to file watch behavior (debouncing with a 200ms delay)
- Fixed: ARM: Immediate offset scaling for Thumb LDRB/LDRH/STRB/STRH (AetiasHax/unarm@a3f4053, #142)
- Fixed: PPC: Remove extab "null action" warning (CelestialAmber/cwextab@cd729e4)
Full Changelog: v2.4.0...v2.5.0
v2.4.0
What's Changed
- Experimental ARM64 support (424434e)
- Please report any issues or unhandled relocations!
- Combine nested otherwise empty directories in objects view by @robojumper in #137
- Show diff colors when symbols differ (c5da7f7)
- Relax symbol comparison logic (21f8f24)
- The Ghidra delinker plugin emits functions with type
STT_OBJECT
, rather thanSTT_FUNC
. The current logic was preventing these from being compared based on their symbol type. Relax this condition for now.
- The Ghidra delinker plugin emits functions with type
- Match branch destinations and hardcoded offsets when "Relax relocation diffs" is enabled (79bd731)
- Support scratch
preset_id
field for decomp.me integration (a119d9a)- dtk-template update: encounter/dtk-template@065fc7b
Full Changelog: v2.3.4...v2.4.0
v2.3.4
v2.3.3
What's Changed
- Fixed: Data tooltip panic by @SquareMan in #123
- Fixed: Panic when parsing DWARF 2 line info for empty section by @AetiasHax in #125
- Changed: Improve dependency gating on objdiff-core by @AngheloAlf in #126
- Changed: Lighten default blue diff color in 9ca157d
Full Changelog: v2.3.2...v2.3.3
v2.3.2
What's Changed
- Fixed: Resolving symbols for section-relative relocations (6764884)
- Fixed: MIPS
j
handling when jumping within the function (6764884)
Full Changelog: v2.3.1...v2.3.2