Release Notes
Changelog
All notable changes to wuuvy, newest first. Version numbers follow semver — breaking changes bump the major.
v1.0.0
Latest
April 2026
First stable release. Sixty-plus transformation passes, CLI and Maven/Gradle plugins, YAML configuration, stack-trace retrace, and per-package exclusion rules.
Added
- CLI commands:
ofc, ofc-jar, ofc-list, ofc-config, retrace.
- Maven plugin (
wuuvy-maven-plugin) with package-phase binding.
- Gradle plugin (
com.wuuvy.obfuscate) with automatic shadowJar / jar hook.
- YAML config file support, including
include / exclude glob rules and deterministic seed.
- Mapping file output for stack-trace retrace.
- Interactive shell mode for quick local testing.
Documentation
- Full technique reference on the home page.
- Framework-specific guidance for Spring, Jackson, JPA, and JavaFX in Troubleshooting.
v0.9.0
Beta
March 2026
Release candidate. Feature-complete with final API stabilisation.
Added
- Control-flow flattening pass (
cff) with state-machine dispatcher.
- Opaque predicate pass (
opaque-pred) with three value sources and six tautology shapes.
indy-hide-new for constructor-site trampolining.
- Polymorphic BSM dispatch across the
indy-hide family.
Changed
- String encryption (
string-enc) now selects one of four cipher schemes per call site.
- Renaming respects override chains across the full class hierarchy — fixes shadowing edge cases.
Fixed
- Stack-map frame desync when
nop-insert fired inside wide-branch regions.
- Incorrect
InnerClasses rewrite when a class was referenced from generic signatures.
v0.7.2
January 2026
Fixed
- Regression in
pool-bloat that exceeded the constant-pool limit for classes with 10k+ existing entries.
- CRC32 integrity check (
crc32-check) now correctly handles classes loaded from nested JARs.
- Maven plugin no longer duplicates the obfuscation step when both
package and install are invoked.
v0.7.0
December 2025
Added
- Numeric encryption family:
int-enc, long-enc, float-enc, double-enc.
clinit-finals — move static-final constants into <clinit> with XOR decoding.
resource-enc for non-class JAR resources.
Removed
- Legacy
basic-enc pass; superseded by the new numeric encryption family.
Earlier versions
2025
Early development builds (v0.1 – v0.6) focused on the core ASM pipeline, identifier renaming, and debug-info stripping. Release notes for those milestones are archived — reach out if you need historical details.