yGuard Changelog

What's new in yGuard 2.5.4

Feb 21, 2016
  • Fixed IllegalArgumentException caused by Java 8 compatibility problems that arose in certain situations, for example when using hierarchy based keep instructions.

New in yGuard 2.5.3 (Apr 2, 2015)

  • Fixed incorrect obfuscation of invokedynamic instructions leading to AbstractMethodErrors when using default methods.

New in yGuard 2.5.2 (Aug 5, 2014)

  • Added support for renaming META-INF/services entries if the entry corresponds to a type that is obfuscated.
  • Fixed a bug that caused the stacktrace deobfuscation tool to ignore class name mappings that started with one or more $ characters.

New in yGuard 2.5.1 (Aug 5, 2014)

  • Fixed broken binary class file of the attached com.yworks.util.annotation.Obfuscation annotation in ObfuscationAnnotation.jar.

New in yGuard 2.5.0 (Oct 29, 2013)

  • Added support for controlling obfuscation exclusion via annotations.
  • Improved Java 7 support. yGuard does now support invokedynamic in the obfuscation process.

New in yGuard 2.4 (Oct 5, 2011)

  • Added basic Java 7 class file support (see the note on Java 7 compatibility).
  • Fixed a bug that caused yGuard to introduce invalid signatures for typed classes with inner classes.
  • Fixed a bug that caused yGuard to erroneously exclude all classes from obfuscation when an implements attribute was used for a element without an additional name or expose attribute.
  • Fixed a bug that caused the shrinker to ignore the attribute element if the default shrinking settings were used (i.e. if no keep element was defined).

New in yGuard 2.3.0.1 (Jul 17, 2010)

  • Fixed a bug that caused the srinker to remove the static initializer of a non-static inner class, when only fields of the inner class were referenced (e.g. compiler-generated switch map tables for enums).