Skip to content

Releases: encounter/objdiff

v3.3.0

25 Sep 16:42
572afa8
Compare
Choose a tag to compare

What's Changed

  • Added: mips: Support for the other ABIs supported by rabbitizer by @AngheloAlf in #259
  • Added: Arch-independent demangling and add gnuv2_demangle for old g++ projects by @AngheloAlf in #262
  • Added: Support overriding diff options in project config (& for individual units) by @encounter in #263
  • Added: Support IDO .mdebug for line numbers by @encounter in #264
  • Added: 'None' demangler option (1866158)
  • Changed: Standardize the values for invalid and data opcodes by @ethteck in #261
  • Changed: Improve ARM function size inference (#253)

Full Changelog: v3.2.1...v3.3.0

v3.2.1

09 Sep 04:52
Compare
Choose a tag to compare

What's Changed

  • Changed: Ignore extern differences in relocations by @ifarbod in #258
  • Changed: Use dim color for address column in asm view (c698750)

Full Changelog: v3.2.0...v3.2.1

v3.2.0

08 Sep 02:03
fbdaa89
Compare
Choose a tag to compare

What's Changed

  • Added: Refactor data diffing & expose WASM API by @encounter in #256
    • Supports data diffing in objdiff-web. Some minor data diffing bugs fixed.

Full Changelog: v3.1.1...v3.2.0

v3.1.1

07 Sep 18:04
Compare
Choose a tag to compare

What's Changed

  • Added: Support for x86 indirect tables by @ifarbod in #251
  • Added: Automatic symbol pairing for MSVC generated static functions by @tomsons26 in #255

Full Changelog: v3.1.0...v3.1.1

v3.1.0

04 Sep 02:05
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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