Skip to content

Releases: Col-E/Recaf

1.15.0 - Refactoring & bug fixes

12 Jun 12:17
Compare
Choose a tag to compare

What's fixed

  • Assembler auto-complete had a random chance to crash when typing fast
  • Changed default CFR decompilation options (Delete your existing cfr config file to apply these changes)
  • Loading an outdated config will cancel loading all config options

What's refactored

  • Renaming engine
  • Input (loaded file management)

1.14.0 - Java 11+ compatibility, assembler improvements, bug fixes

31 May 07:37
Compare
Choose a tag to compare

What's new

  • Assembler can be accessed from instructions list (Insert with assembler)
  • Compatibility for Java 11+
    • Releases will continue to be compiled with Java 8, but now Recaf can patch itself to be Java 11+ compliant
    • Using maven to compile (mvn package) in Java 11+ will generate a proper Java 11 complaint jar.
    • Java 9 & 10 are officially unsupported, please update to Java 11+ if this affects you.
  • Recaf will now prompt to save progress when closing
    • Can be disabled in config -> display

What's fixed

  • Searching for references spawned from context-menus used CONTAINS mode instead of EQUALITY mode
  • Potential logging crash if an error occured before the JavaFx platform had a chance to open
  • TableSwitch vs LookupSwitch had inconsistent representations of the default label in the instructions list
  • Assembler failed to parse MultiANewArray instructions

1.13.1 - Assembler fixes

24 May 06:29
Compare
Choose a tag to compare

What's fixed

  • Wrong pattern matching for field instruction types
  • Assembler may hang suddenly when typing

1.13.0 - Assembler & bug fixes

23 May 13:39
Compare
Choose a tag to compare

What's new

  • Added alternative instruction editor, the assembler
    • Edit instructions as text
    • Includes:
      • Tab-completion for opcodes, class names, field & method declarations
      • Errors shown in-line, hover over red dots for detailed messages
      • Verification (Ensures bytecode is valid)
      • Ability to use variable names in addition to raw indices
    • For more information see: Assembler guide
  • Update CFR decompiler to 143
  • Slight change to instruction display format

What's fixed

  • Copy keybind didn't copy display text of selected content to system keyboard
  • Duplicate keybind generating private custom instruction implementations

1.12.2 - New keybinds & bug fixes

30 Apr 23:45
Compare
Choose a tag to compare

What's new

  • Keybind for moving instructions up / down
    • Initial: CONTROL + UP/DOWN
  • Keybind for duplicating instructions
    • Initial: CONTROL + D

Thanks to TimmyOVO for #122 for these additions!

What's fixed

  • Optimization of code windows by reducing unnecessary double executions

1.12.1 - Bug fixes

22 Apr 09:42
Compare
Choose a tag to compare

What's new

  • Attach menu shows process id (PID) of Java processes available

What's fixed

  • Attach menu shown when Recaf spawns as an attached agent
  • Attach menu shows the current process (allowing to attach to self)
  • Attaching to a JavaFX application crashes the newly spawned Recaf instance
  • Decompiler failed to analyze char types
  • Live method-only decompiler locking the GUI when editing bytecode
  • Live method-only decompiler updating when classes outside of the targeted one are edited

1.12.0 - UX Improvements & Fixes

20 Apr 05:43
Compare
Choose a tag to compare

What's new

  • Added keybind for searching text of instructions, in the instructions window (Control + F by default)
  • Decompiler context supports more references
    • Support field/method references on method parameters
    • Support field/method references on a class, even if the referenced field belongs not to that exact class, but one of its parents (excluding interfaces)
  • Added recently opened file menu
    • File -> Recent: Shows recenty updated files. Long paths are truncated. Limited to 6 entries by default (but this is customizable in the config, under "other")
  • Updated CFR decompiler to 141
  • Cleaned up recompile error logging

What's fixed

  • Recompiling a decompiled class did not update the class panel
  • Exported jars did not have verbose ZipFile attributes, such as directory entries. Files were also in random order.
  • Blockpane error logging always put null as the block title
  • Special highlights in the instructions window would override the "selected" style, making it hard to keep track of the current selected opcode

1.11.1 - New Plugin API

13 Mar 02:42
Compare
Choose a tag to compare

What's new

The plugin API has been replaced. The old system was based on old mechanics that worked, but were not intuitive for most people. This new setup is much simpler. The docs page on plugin development has been updated to reflect these changes.

Note: Existing plugins will not be loaded and will require minor changes in order to support the new system.

1.11.0 - Replaced Plugin API

13 Mar 02:12
Compare
Choose a tag to compare

Stub, see 1.11.1 instead

1.10.2 - StackWatcher Improvements & Fixes

11 Mar 05:42
Compare
Choose a tag to compare

What's new

  • StackWatcher now records the entire history of what modified a value on the stack/local table

What's fixed

  • NPE on startup with Hierarchy analysis