Skip to content

v3.0.0-alpha.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 03 Mar 05:49
· 85 commits to main since this release

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