Change Log - Version 10.0.0 - Release Date August 21, 2019
This release contains some breaking changes as mentioned below.
- Added a new DashO Gradle Plugin for Android.
- Added Android Mode which is specifically designed to work with the DashO Gradle Plugin for Android as part of an Android build process that uses R8.
- The GUI now has a Standard Mode and an Android Mode.
- The Android Mode GUI will prompt you to refresh the list of input classes when it detects changes in the inputs.
- To migrate to this new Android integration refer to the Upgrading page.
- Added new paths in the wizard to:
- Generate new Android Mode projects.
- Migrate Android projects that use DashO Gradle Plugin to the new DashO Gradle Plugin for Android.
- Reorganized the DashO User Guide to have a more intuitive layout, separating discussion of obfuscation concepts from the project file reference and the user interface.
- The GUI listens for changes to the configuration and will prompt to reload.
- DashO is no longer restricted to running on Java 7 - 10, and can be run on Java 11 and later. Support for processing bytecode from Java 11 and later is not yet available.
- Updated the GUI to easily configure Dalvik compatibility.
- The random reordering of simple blocks in a method by Block Jumbling now varies between runs of DashO.
- When Control Flow is enabled and Removal is configured to preserve the Local Variable Table for a method, the method's parameter names will now be preserved, but information about local variables will still be removed.
- Added the
--pathMapcommand line option which allows specifying a file that configures DashO's input and output paths. This option is currently only available for Android Mode.
- Updated the DashO-GameOfLife sample.
- Improved the Spring Bean sample.
- Improved some error messages.
- Updated the product name from PreEmptive Protection - DashO to PreEmptive Protection DashO for Android & Java.
- Updated the DashO Gradle Plugins for Java (previously called DashO Gradle Plugin):
- v3.4.0 with deprecated support for the Android Gradle 3.4.0 plugin.
- v4.0.0 with no Android support.
- v4.1.0 with an updated name.
- Updated to use ASM version 7.1.
- Updated to use apktool version 2.4.0.
- Breaking Changes:
- DashO Gradle Plugin for Android versions used with DashO 10 Betas (0.9.0 and 0.10.0) are no longer supported.
Append current Java runtimeand
Use Classpath from Environmentoptions have been removed.
- Wildcard class matching (
**) for method call removal has been removed.
- DashO's public
get*Version*()methods have been removed.
- Proxy configuration within the DashO GUI has been removed. Proxy configuration is now specified using standard Java system properties.
- Removed support for deprecated properties:
- The DashO Eclipse Plugin has been removed.
javaws.jarproperty has been deprecated, and cannot be used in some configurations.
- Control Flow and String Encryption are now enabled by default on new projects.
- Removed the option to hide the toolbar.
- The navigation tree in the DashO GUI can no longer be collapsed.
- Packages in rule editors are now listed hierarchically.
- DashO will now only warn once per build if Control Flow is enabled and Removal is configured to preserve the Local Variable Table or Local Variable Type Table.
- DashO now will obscure all but the last four digits of the license key in the build output.
- When DashO is run with a User license (e.g. not a Build license), a notice will be printed indicating that User licenses may not be used to protect binaries for general release.
- Updated the End User License Agreement to match https://www.preemptive.com/eula.
- Fixed a rare issue when reading
MethodParametersattributes which do not reference a constant pool entry.