- Added try with resources support
- Added if pattern matching support
- Added ternary in if statement and loop support
- Added ternary constant simplification (Thanks MatrixX!)
- Added bytecode and exception in errored methods
- Added support for polymorphic methodhandles (Thanks skyrising!)
- Added the "DOT_ERROR_EXPORT_DIR" option to dump graphs only in errored methods
- Added local record and enum support (Thanks MatrixX!)
- Added some warnings for when known invalid code was produced, such as synchronize over null
- Added some explicit exceptions for some NPEs and IOOBEs
- Added ability to use just the java runtime as a library instead of the entire classpath (Thanks skyrising!)
- Added multiple new decompiler options
- Improved some control flow around returns and exceptions
- Fixed empty for loops being made when they were empty, now they're while loops
- Fixed decompiling of default record methods
- Fixed empty infinite loops not being decompiled
- Fixed assignments in final fields being inlined when they shouldn't be
- Fixed loops being while(true) when they were regular loops
- Fixed rare crash where long was incorrectly typed
- Fixed bug with casts and parenthesis
- Fixed invalid zip file creation (Thanks Geolykt!)
- Fixed IOOBE with sequence inlining
- Fixed local classes with lvt capture crashing (Thanks MatrixX!)
- Fixed some foreach loops with generics having a variable type of
- Fixed rare NPE with default case in switch over string
- Fixed private interface methods having default modifier
- Fixed classes in default package having a leading dot
- Fixed local classes being put in the wrong location (Thanks skyrising!)
- Fixed fields with lambdas capturing the enclosing class being moved to static blocks (Thanks skyrising!)
- Fixed some unboxing casts being removed with generic variables (Thanks skyrising!)
- Fixed crash with array initializers in static blocks trying to be inlined
- Optimized code (Thanks Kroppeb and skyrising!)