@Col-E Col-E released this Jan 2, 2019 · 26 commits to master since this release

Java 9+

Recaf's release binaries will continue to be based on Java 8 for a while, but if you don't mind a tiny bit of effort you can use any version of Java 9 or above. You can read about this more in the updated documentation page: Usage Guide - Requirements

What's new

  • Add missing opcode format for IINC instructions
  • Allow ASM7 in config (And is now the default value)

What's fixed

  • Fix type annotation editor missing UI components
  • Fix search from omitting results in declaration mode
  • Fix search providing duplicate results in some cases
  • Fix command line parsing race condition
  • Fix source code not compiling under JDK 9 or higher
    • Remember to read the docs (link above) for details on Java 9+ usage
Assets 3

@Col-E Col-E released this Dec 20, 2018 · 41 commits to master since this release

What's new

  • Added ability to create int opcodes (BiPush, SiPush, NewArray)
  • Updated CFR 136 -> 138

What's fixed

  • Search including overly-broad results
  • History window missing an icon
Assets 3

@Col-E Col-E released this Nov 24, 2018 · 46 commits to master since this release

What's new

Assets 3

@Col-E Col-E released this Nov 20, 2018 · 58 commits to master since this release

What's new

What's fixed

  • Annotation formatting supports array type values
  • Search results include additional garbage results (type insn values)
  • Improper CSS application to opcode editor sheet
Assets 3

@Col-E Col-E released this Nov 2, 2018 · 75 commits to master since this release

What's new

  • Opcode editing / insertion now uses combo-boxes instead of a group of radio-buttons.
  • Instructions can be added to empty methods
    • Method is updated with template values to get you started
  • More translatable text values
  • Access editor buttons now display text representation in addition to the icon identifier
  • File-tree improvements
    • Using Enter while navigating the file tree will open the selected file
    • Double clicking a package will recursively open the sub-packages until multiple options are available.
  • Dark theme support
    • Set Display -> Style to night to enable it.

What's fixed

  • NPE when sorting columns in the fields / methods tables
  • Logged exceptions do not log the entire stack-trace
  • Docs used Arial when intended font was Roboto

Thanks again to andylizi for the pull-requests included in this release! (#90, #93, #95, #98)

Assets 3

@Col-E Col-E released this Sep 28, 2018 · 113 commits to master since this release

What's new

  • Chinese supported added by andylizi
    • In the config menu under the Display category, set the Language value to zh-cn and restart Recaf
  • Updated CFR to 133
    • Better Java9+ strings & more
  • Image buttons now have tooltips

What's fixed

  • Annotation formatting showing extra comma
  • Menu items that are useless without input can still be used while no file is loaded
  • Specifying a custom language uses english values as fallback values
  • Large classes caused decompilation to fail due to regex matching
  • Recompile option shown in single-method decompiles despite lack of support (full class recompilation only)
  • Recompile option is illegible due to bad styling
Assets 3

@Col-E Col-E released this Sep 6, 2018 · 139 commits to master since this release

What's new

  • Cleaner history window
    • Shows timestamp of each save-state
  • Split threading options into two categories (IO + Logic)
    • Defaults are higher for both than previous default of 1 (tested on large input, seems about optimal on my 8-core machine)

What's fixed

  • Various NPE's in the history window
  • More accurate renaming of method hierarchies
  • More accurate renaming of classes with inner-classes
  • Renaming a class causing a NPE while updating the FileTree model
  • Renaming a class and putting it in a directory that does not exist causing a hard-crash
  • Renaming a class leaves artifacts visible in searches
  • Renaming a class leaves ghost references due to not resetting cache after updating renamed references
  • Infinite loop caused by logging calls & JavaFX integration
    • Ironically, only occurs when auto-updating. So this update will cause people some problems ¯\_(ツ)_/¯
Assets 3

@Col-E Col-E released this Aug 26, 2018 · 154 commits to master since this release

What's new

  • Support for annotation insertion / removal
  • Startup compatibility checks
    • Small checks for expected JavaFX logic
    • Version checks (version == Java 8)
      • Prevent execution on Java 7-
      • Prevent execution on Java 9+ (Support will be added in a future release)

What's fixed

  • Fix case-sensitive names prevented jar files from being loaded
  • Fix initial window size would be larger than the monitor on 720p screens
  • Fix history NPE when renaming classes
  • Documentation clarifications / fixed typos
Assets 3

@Col-E Col-E released this Aug 1, 2018 · 167 commits to master since this release

What's Fixed

  • Some fields could not be edited
    • Added additional error handling to other areas, this will make user-reporting slightly easier.
  • Decompile window title no longer is null
Assets 3