Releases: Col-E/Recaf
Releases · Col-E/Recaf
1.15.0 - Refactoring & bug fixes
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
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 ofEQUALITY
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
What's fixed
- Wrong pattern matching for field instruction types
- Assembler may hang suddenly when typing
1.13.0 - Assembler & bug fixes
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 keyboardDuplicate
keybind generating private custom instruction implementations
1.12.2 - New keybinds & bug fixes
What's new
- Keybind for moving instructions up / down
- Initial:
CONTROL + UP/DOWN
- Initial:
- Keybind for duplicating instructions
- Initial:
CONTROL + D
- Initial:
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
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
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
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
Stub, see 1.11.1
instead
1.10.2 - StackWatcher Improvements & Fixes
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