ProGuard 6.0 released

ProGuard 6.0 released

We are pleased to announce the official release of ProGuard 6.0. It is a major new release that focuses on facilitating the configuration of ProGuard.

These are the main new features:

  • A new option -addconfigurationdebugging. It instruments the application code to provide feedback about missing configuration at runtime. It is of great help to quickly get to a working ProGuard configuration for complex projects. Just look at the runtime logs and copy/paste any suggested missing settings.
  • A new option -if, to specify conditions for -keep options. The option is notably useful for configuring applications that use Dagger 1 or Butterknife. The documentation and the Android sample project provide settings that you can use right away.
  • A new option -android, to tune the optimizations for Android.
  • New options -assume..., to express fine-grained assumptions for better code optimization.
  • Backporting of Java 8 code to earlier versions of Java, notably lambda expressions.
  • Backporting of Java 9 code to earlier versions of Java, notably string concatenation.
  • Improved class merging, for example to clean up after the AutoValue framework.

As always, ProGuard 6.0 is backward compatible with earlier versions. Just update the version and you're good to go. You can find ProGuard on Sourceforge, Maven Central, and JCenter. You can find the updated documentation here.