Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jun 2, 2024

This PR contains the following updates:

Package Change Age Confidence
org.vineflower:vineflower (source) 1.9.3 -> 1.11.1 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

Vineflower/vineflower (org.vineflower:vineflower)

v1.11.1: Vineflower 1.11.1

Compare Source

Vineflower 1.11.1 is a bugfix release for the 1.11 branch, fixing a handful of issues that had popped up over the past week. Thanks to all the contributors who submitted patches for this release!

Full changelog:

  • Fixed NPE with record pattern matching decompilation (Thanks, lynxplay!)
  • Fixed switch expression over int being turned into char
  • Fixed switch-over enum being decompiled as a record pattern match (Thanks, lynxplay!)
  • Fixed missing casts for varargs (Thanks, coehlrich!)
  • Fixed stackoverflow with clashing names processing
  • Fixed stackoverflow with generic type inference

Please report any issues to https://github.com/Vineflower/vineflower/issues!

v1.11.0: Vineflower 1.11.0

Compare Source

Vineflower 1.11.0 is the next major release of Vineflower, adding support for record pattern matching, improved bytecode mapping, as well as dozens of bug fixes and smaller improvements. Thanks to all the contributors who submitted patches for this release!

NOTE
This version bumps the minimum required Java version to Java 17!

NOTE
This release contains two different jars. The "regular" jar, with no classifier, contains both the main decompiler and the three bundled plugins. The "slim" jar, with the "-slim" classifier, contains only the main decompiler itself. If confused, just get the regular jar as usual.

The full changelog is as follows:

Click here to expand the full changelog
  • Added support for intersection types in cast (Thanks, coehlrich!)
  • Added option to disable inner class name validation (Thanks, EpicPlayerA10!)
  • Added support for Kotlin string concatenation
  • Added support for 'val' inference for Kotlin
  • Added support for record pattern matching
  • Added option to exclude classes from decompilation (Thanks, mvisat!)
  • Added support for Kotlin default arguments
  • Added more cases that if pattern matching supports
  • Improved inlining of empty lambda bodies and empty anonymous classes (Thanks, jpenilla!)
  • Improved clashing variable naming (Thanks, jpenilla!)
  • Improved switch pattern matching with stack vars
  • Improved analysis of assignments in loop headers
  • Improved inlining of ++/-- expressions
  • Improved conditionals with pattern matching
  • Improved superclass analysis when deciding which methods are ambiguous
  • Improved handling of synchronized blocks created with jsr/ret
  • Improved bytecode mapping significantly
  • Fixed redunant casts between primitives being emitted
  • Fixed non-static inner class 'this' var resolution for multiple constructors (Thanks, coehlrich!)
  • Fixed simple lambda indentation (Thanks, jpenilla!)
  • Fixed indent on simple switch branches (Thanks, jpenilla!)
  • Fixed switch-on-enum breaking when class is not in classpath (Thanks, EpicPlayerA10!)
  • Fixed default case of records not always being last (Thanks, coehlrich!)
  • Fixed variable in switch head not being inlined (Thanks, coehlrich!)
  • Fixed incorrect parameter type with synthetic params (Thanks, coehlrich!)
  • Fixed crash in string concat
  • Fixed crash in sequence flattening
  • Fixed crash in finally block processing in rare cases
  • Fixed crash in NewExprent type inference
  • Fixed crash in InitializerProcessor
  • Fixed static modifier being emitted inner records
  • Fixed race condition crash with duplicated classes
  • Fixed Kotlin decompiler saving files as .java instead of .kt
  • Fixed incorrect inlining of pattern matching of methods
  • Fixed float addition association
  • Fixed pattern matching not identified inside loops (Thanks, coehlrich!)
  • Fixed multiple crashes in Kotlin decompilation
  • Fixed Objects.requireNotNull() not being removed in some cases (Thanks, coehlrich!)
  • Fixed switch-on-enum being wrongly detected

Please report any issues to https://github.com/Vineflower/vineflower/issues!

v1.10.1: Vineflower 1.10.1

Compare Source

Vineflower 1.10.1 is a bugfix release for the 1.10 branch, fixing a handful of issues that had popped up over the past couple weeks. Thanks to all the contributors who submitted patches for this release!

Full Changelog:

  • Fixed switches on enums with a switch map along with null cases for java 21 (Thanks, coehlrich!)
  • Fixed NPE and IOOBE in generics remapping
  • Fixed an infinite loop bug with stack simplification
  • Fixed some cases of switch expressions not generating (Thanks, coehlrich!)
  • Fixed blank lines being emitted with empty argument lists (Thanks, jpenilla!)
  • Fixed inner class variable renaming bug with JAD var naming (Thanks, coehlrich!)
  • Fixed hanging newlines being emitted (Thanks, jpenilla!)
  • Fixed MethodParameter attribute being used even if names were empty (Thanks, shartte!)
  • Fixed output not being deterministic for inner classes (Thanks, jpenilla!)
  • Fixed J21 inner class fix not applying to nested inner classes

Please report any issues to https://github.com/Vineflower/vineflower/issues!

v1.10.0: Vineflower 1.10.0

Compare Source

Vineflower 1.10.0 is the next major release of Vineflower, bringing a plugin interface to allow interfacing with the decompiler, a prototype Kotlin decompiler, major performance optimizations, and dozens of bugfixes and minor improvements. Thanks to everyone who contributed to this release!

Release highlights:

  • An extensible plugin system, allowing third parties to modify decompiled code without modifying the decompiler itself
  • The addition of a prototype Kotlin decompiler
  • Improvements around variable handling
  • Large amounts of fixes to generics handling
  • Siginifcant improvements to decompiler speed and memory usage

NOTE
This release contains two different jars. The "regular" jar, with no classifier, contains both the main decompiler and the three bundled plugins. The "slim" jar, with the "-slim" classifier, contains only the main decompiler itself. If confused, just get the regular jar as usual.

The full changelog is as follows:

Click here to expand the full changelog
  • Added plugin API
  • Added prototype Kotlin decompiler
  • Added support for using MethodParameters attribute when there is no LVT
  • Added text token API
  • Added clashing names analysis
  • Added support for 'Type[]::new' (Thanks, coehlrich!)
  • Added support for variable inlining with pattern matching instanceof (Thanks, coehlrich!)
  • Added more descriptive names for options
  • Added support to hide spurious fields in records if they are already record components
  • Added space between operators (e.g. 'while(...)' -> 'while (...)')
  • Improved help message
  • Improved identification of if-pattern matches
  • Improved standalone '++i' by changing to the more idomatic 'i++' (Thanks, TheKodeTode!)
  • Improved some cases of variables not getting inlined
  • Significantly improved generics handling
  • Moved variable renaming to a separate plugin
  • Fixed a crash with a for loop over a static iterator method
  • Fixed "Invalid constant type" issue
  • Fixed try-with-resources processor creating illegal code with custom exception catching
  • Fixed concurrent modification exception with certain jars
  • Fixed generation of casts to type ""
  • Fixed some cases of fields not getting inlined into usage sites
  • Fixed labels pointing to blocks that don't exist
  • Fixed object casts to boolean type
  • Fixed cases of "Could not properly define all variable types" errors
  • Fixed for unrepresentable types
  • Fixed casts on null types
  • Fixed rare crash with 'longType++'
  • Fixed some multithreading issues
  • Fixed improper nested annotation formatting
  • Fixed casting of arrays with different dimensions
  • Fixed lambdas losing generics information
  • Fixed bug with for loop generation not respecting final variables (Thanks, coehlrich!)
  • Fixed decompiler not considering lambdas when searching for local class placement (Thanks, MiniDigger!)
  • Fixed fields being inlined too eagerly
  • Fixed incorrect finally block parsing creating invalid code
  • Fixed string concat with chars becoming ints
  • Fixed imports to anonymous classes
  • Fixed for loop being created when incremented by an unknown value
  • Fixed bug where unused casts of invocations would get removed
  • Fixed boxing being removed for top-level expressions
  • Fixed Java 21 switch on enum
  • Fixed Java 21 inner classes
  • Optimized object allocation
  • Tons of smaller fixes not mentioned here

Please report any issues to https://github.com/Vineflower/vineflower/issues!


Configuration

📅 Schedule: Branch creation - "after 5pm on the 2nd day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/versionvineflower branch from 2cda74a to a85d063 Compare February 25, 2025 07:13
@renovate renovate bot changed the title chore(deps): Update dependency org.vineflower:vineflower to v1.10.1 chore(deps): Update dependency org.vineflower:vineflower to v1.11.0 Feb 25, 2025
@renovate renovate bot force-pushed the renovate/versionvineflower branch from a85d063 to 0b66acf Compare March 6, 2025 07:03
@renovate renovate bot changed the title chore(deps): Update dependency org.vineflower:vineflower to v1.11.0 chore(deps): Update dependency org.vineflower:vineflower to v1.11.1 Mar 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant