DashO Java Obfuscator Change Log V5.2 Build 1 – Release Date April 8, 2009

Change Log – Version 5.2.1 – Release Date April 8, 2009

New Features:

  • Most entry point types can now be renamed. To support this the following attributes have been added to the child tags of <entrypoint>:
    • rename=bool to <classes>, <method>, and <field>.
    • rename-class=bool and rename-members=bool to <pulbics>, <ejb>, and <unconditional>.
    • rename-class=bool to the <applet>, <servlet>, <midlet>, and <iappli>.
  • DashO will rewrite the Main-Class attribute of a manifest if the class has been renamed.

  • The New Project Wizard generates entry points for classes found in various non-class sources. These include the XML files used by Spring and Hibernate as well as TLD, JNLP, and JAD files and the web.xml. DashO will rewrite the class names in these files if the entry points have been renamed.
  • The New Project Wizard generated projects for Google Android applications.
  • Names for classes and members, and method signatures for entry points and includes/excludes can be specified as simple patterns using ?, *, and **. See the userguide for details.
  • Names for classes and member, and method signatures for entry points can be specified using regular expressions. A regex=bool attribute has been added to the following child tags of <entrypoint>: <classes>; <midlet>; <servlet>; <iappli>; <applet>; <unconditional>; <ejb>; <public>.

Enhancements:

  • The following new properties have been added: ${jce.jar}; ${jsse.jar}; ${javaws.jar}. These expand to the locations of the JCE, JSSE, and Java Web Start jars.
  • Improved support for IBM JVMs.
  • The New Project Wizard generates a much simpler project file for WAR files.
  • When inner classes are renamed each gets its own renaming namespace, reducing the length of class names.
  • When renaming classes but keeping package names, each package gets its own renaming namespace, reducing the length of class names.
  • The RENAMEFORNAME feature uses less memory.
  • Icons used in class displays improved for display on non-white backgrounds.
  • The tar file installer includes man pages for dashocmd and dashogui in the docs directory.

Fixes:

  • Renamed anonymous inner classes must be prefixed by the name of their outer class.
  • If inner class made non-renameable, outer class must be non-renameable.
  • When Overload Inductionª is turned off some non-renameable classes are renamed.
  • Registration email address does not accept uppercase characters.
  • NullPointerException if registration is cancelled without entering a serial number.
  • Regression bug in map files where fields were written as methods.
  • Regression bug in stack trace decoding cause by new map file API.
  • Repaint error in classes trees when window is hid and then exposed.
  • Results panel disabled when build executed and the results panel is the currently displayed panel.
  • NullPointerException when renaming is off and generic method signature includes a missing class.
  • Field entry point does not make its class non-renameable by default.
  • Field entry point should make field non-renameable even if the field has been referenced by another execution path.
  • NullPointerException after deleting class rule with children.
  • NullPointerException when incorrect base directory specified for classpath entry.
  • Class rename collision when rename prefix used.
  • User interface lock-up with project files with names longer than 37 characters on Windows.
  • <unconditional> entrypoint not considered included in jar mode projects.
  • Scripts not working in Cygwin when CDPATH is set.

Changes:

  • When a directory is used as the source for non-class file copying JARs and WARs in the hierarchy are not copied.
  • When the file META-INF/MANIFEST.MF in used in non-class file copying it will only get copied if a manifest is not already present. Its contents will be rewritten if required.
  • When project files are written out attributes that are set to their defaults may be omitted. This generates XML that is less cluttered.
  • Class names used in special entry points can no longer be specified using the internal class file format or in file name format.