Releases: encounter/objdiff
v3.0.0-beta.5
What's Changed
- Added: Reimplement colorized data relocation hover diffs by @LagoLunatic in #182
- Added: Limit left-panel scrollview to the file tree by @SquareMan in #185
- Added: x86: Support inline data for jumptables (e735adb)
- Added: wasm: Cache objects via data hash (7b00a9e)
- Fixed: ARM: Subtract with overflow error when no mapping symbol at address 0 by @LagoLunatic in #183
- Fixed: PPC: Pooled relocation addends being added twice sometimes by @LagoLunatic in #184
- Fixed: x86_64: Fix relocation placement in instruction (bc46e17)
- Fixed:
objdiff-cli report
: Skip unknown sections (2612cda)
Full Changelog: v3.0.0-beta.4...v3.0.0-beta.5
v3.0.0-beta.4
What's Changed
- Added: mips: Ignore
.NON_MATCHING
functions fromINLINE_ASM
macros (42d4c38) - Added: mips: C++ symbol demangling (CW & modern GCC) (9358d8e)
- Fixed: arm: thumb & data decoding (eaba239)
- Fixed: Section ordering with many same-named sections (5898d7a)
- Fixed: x86
mov
relocations with uint32 (a0e7f9b)
Full Changelog: v3.0.0-beta.2...v3.0.0-beta.4
v3.0.0-beta.2
Previous changelog (v3.0.0-beta.1)
Previous changelog (v3.0.0-alpha.3)
Previous changelog (v3.0.0-alpha.2)
Previous changelog (v3.0.0-alpha.1)
What's Changed
- Added:
objdiff-cli diff
: Display build log and any errors (3965a03) - Added: Initial support for x86-64 relocations (c6971f3)
- Fixed: Issues comparing objects with different endianness (7c4f1c5)
Full Changelog: v3.0.0-beta.1...v3.0.0-beta.2
v3.0.0-beta.1
Previous changelog (v3.0.0-alpha.3)
Previous changelog (v3.0.0-alpha.2)
Previous changelog (v3.0.0-alpha.1)
What's Changed
- Added: PPC: Reimplement pooled data reference calculation by @LagoLunatic in #167
- Changed: Update rabbitizer (MIPS disassembler)
- Changed: Upgrade to Rust edition 2024
Full Changelog: v3.0.0-alpha.3...v3.0.0-beta.1
v3.0.0-alpha.3
Previous changelog (v3.0.0-alpha.2)
Previous changelog (v3.0.0-alpha.1)
What's Changed
- Added: Reimplement function data value tooltips, function data value diffing, and data relocation diffing by @LagoLunatic in #166
- Fixed: Don't infer sizes for labels within another symbol (4f34dfa)
Full Changelog: v3.0.0-alpha.2...v3.0.0-alpha.3
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