Skip to content

Releases: encounter/objdiff

v3.1.0

04 Sep 02:05

Choose a tag to compare

What's Changed

  • Added: Diffing individual data symbols by @LagoLunatic in #244
  • Added: Hide certain symbols for X360 COFFs by @rjkiv in #248
  • Fixed: MIPS: Symbols being filtered out from target side of diff if target object contains .NON_MATCHING markers by @AngheloAlf in #250
  • Fixed: Gracefully handle OOB in symbol_context/symbol_hover (decompme/decomp.me#1576, a138dfa)

Full Changelog: v3.0.1...v3.1.0

v3.0.1

31 Aug 06:00
f2a5913

Choose a tag to compare

What's Changed

  • Added: Detect x86 instruction size differences (#233, #242)
  • Added: Ignore switchD_ labels generated by Ghidra by @ifarbod in #241
  • Added: Update default watch patterns to include more extensions by @LagoLunatic in #246
  • Added: Improve automatic symbol pairing for nameless literals by @LagoLunatic in #247
  • Fixed: PPC pooled data references: Add support for subi, addis, and subis instructions by @LagoLunatic in #245

Full Changelog: v3.0.0...v3.0.1

v3.0.0

15 Aug 23:50

Choose a tag to compare

objdiff v3 is a ground-up rewrite of many core systems, with added support for new architectures (SuperH, PPC64 with AltiVec and VMX128, and x86_64). This release brings sweeping improvements to performance and extensive new features.

objdiff's redesigned WebAssembly API now powers objdiff-web, available as a Visual Studio Code extension and as an experimental view in decomp.me.

Many thanks to all who contributed to v3:

For more detailed changes, see the v3.0.0-alpha and beta releases.

What's Changed (since v3.0.0-beta.14)

  • Added: CLI args for objdiff-gui (b21892b)
    • -p/--project-dir allows specifying opening the GUI to a specific project. (#211)
    • -V/--version prints the version information and exits. (#41)
  • Added: "Diff fill color" option in Appearance settings (813c8aa, #230)
    • Allows configuring the background color of lines with a diff.
  • Added: ignore_patterns option in configuration (52c138b, #143, #215)
    • Defaults to ["build/**/*"].
  • Added: Restore extab diff view (247d6da)
  • Added: ARM: Ignore trailing zeroed padding in inferred function sizes (2c57e49, #237)
  • Fixed: "Run in WSL" path handling for Windows paths (0f0aaab, #170)
  • Fixed: Reading DWARF info in GNU C 2.9-arm-000512 objects (gimli-rs/gimli#781, #228)
  • Removed: objdiff-cli diff JSON output mode (bd95faa)
    • This remained unimplemented after v3 internal architecture changes. If you used this feature, please open an issue.

Full Changelog: v3.0.0-beta.14...v3.0.0

v3.0.0-beta.14

13 Aug 06:08

Choose a tag to compare

v3.0.0-beta.14 Pre-release
Pre-release

What's Changed

  • Fixed: Data sections do not show when there is no section on the opposite side by @LagoLunatic in #234
  • Fixed: Context menu does not appear when right clicking the function name in the function diff view by @LagoLunatic in #236

Full Changelog: v3.0.0-beta.13...v3.0.0-beta.14

v3.0.0-beta.13

02 Aug 19:54

Choose a tag to compare

v3.0.0-beta.13 Pre-release
Pre-release

What's Changed

  • Added: Make function size inference logic arch-specific (#229, 1e62d46)
    • MIPS: account for delay slot nops (#3)
    • x86: check for trailing nops (0x90)
    • PPC: check for 4-byte 0x00 padding
  • Fixed: Don't hard fail on line info / DWARF parsing (#228, 0dc123b)
  • Fixed: Enable PS instructions for any 32-bit PPC ELF (e67d599)
  • Fixed: Use deprecated egui::menu temporarily (a015971)
    • The egui 0.32 update introduced some bugs with the refactored menu code. Downgrade to the pre-0.32 menu temporarily.

Full Changelog: v3.0.0-beta.12...v3.0.0-beta.13

v3.0.0-beta.12

30 Jul 03:46

Choose a tag to compare

v3.0.0-beta.12 Pre-release
Pre-release

What's Changed

  • Added: Strip zeros from end of inferred function sizes (padding, nops) (#3, #227, c917cad)
  • Fixed: PowerPC COFF: IMAGE_REL_PPC_REFHI/REFLO without IMAGE_REL_PPC_PAIR (#227, dd65332)
  • Changed: Split "OpenGL" option into "OpenGL" (glow) and "OpenGL ES" (wgpu) (f5d3d5f)
  • Changed: Update to egui 0.32 (c327ed3)

Full Changelog: v3.0.0-beta.11...v3.0.0-beta.12

v3.0.0-beta.11

28 Jul 23:26
85fb18a

Choose a tag to compare

v3.0.0-beta.11 Pre-release
Pre-release

What's Changed

  • Added: Support PowerPC COFFs (Xbox 360) (60b227f)
  • Added: Support 64-bit PowerPC ELFs (PS3) (00ad0d8)
  • Fixed: PPC pooled relocations: Ignore hidden symbols by @LagoLunatic in #221
  • Fixed: Data flow analysis for multiple text sections by @stravant in #220
  • Changed: Update rabbitizer to v2.0.0-alpha.4 by @ethteck in #226

Full Changelog: v3.0.0-beta.10...v3.0.0-beta.11

v3.0.0-beta.10

17 Jun 19:32

Choose a tag to compare

v3.0.0-beta.10 Pre-release
Pre-release

What's Changed

Full Changelog: v3.0.0-beta.9...v3.0.0-beta.10

v3.0.0-beta.9

17 Jun 16:32

Choose a tag to compare

v3.0.0-beta.9 Pre-release
Pre-release

What's Changed

  • Added: Data diff view: Show bytes with relocations as ?? instead of 00 by @LagoLunatic in #204
  • Added: WASM API updates, support symbol mapping (a57e5db)
  • Fixed: Scroll hotkeys not working in data diff view by @LagoLunatic in #208
  • Changed: Make encoding_rs an optional dependency by @AngheloAlf in #205

Full Changelog: v3.0.0-beta.8...v3.0.0-beta.9

v3.0.0-beta.8

14 May 05:27

Choose a tag to compare

v3.0.0-beta.8 Pre-release
Pre-release

What's Changed

  • Added: Ignore extern symbols when looking up symbols by name (#180, #181, 07ef93f)
  • Added: Skip local labels when inferring symbol sizes (#174, 8e8ab6b)
    • Currently ignores symbol names starting with .L or LAB_
  • Fixed: Highlighting of signed vs unsigned arguments by @LagoLunatic in #202
  • Fixed: Hidden symbol regression in v3.0.0-beta.7 (#199, 2b13e98)
  • Fixed: Inaccurate match percent when mapping symbols (#200, e865f3d)
  • Changed: Build with static CRT on Windows (1750af7)

Full Changelog: v3.0.0-beta.7...v3.0.0-beta.8