DashO Java Obfuscator Change Log V6.7 Build 1 – Release Date September 27, 2010

Change Log – Version 6.7.1 – Release Date September 27, 2010

New Features

  • Exception reporting for Runtime Intelligence.
    • New features have been added to instrumentation to support the capture and reporting of exceptions at the global and method level.
    • At the method level caught, uncaught, and thrown exceptions may be intercepted and information sent to the Runtime Intelligence portal for reporting.

    • Global and thread uncaught exception handlers can be installed that allow the application user to enter additional information before sending the exception information.
    • The following RI annotations have been added to support new features: AddUncaughtExceptionHandler; ReportCaughtExceptions; ReportThrownExceptions; ReportUncaughtExceptions.
  • Identifiers for class and member renaming can be assigned from a random source rather than using sequentially generated names. For backwards compatibility the default is to use sequentially generated names.


  • Runtime Intelligence API support for J2ME and RIM Blackberry 4.5 and up.
  • The SourceFile attribute of classes can be set to an arbitrary value. The value can contain DashO properties that are expanded before the attribute is set.
  • The constant pool tag and the SourceFile tag can use information about the current class with the following dynamic properties:
    • CLASS_NAME – the full name of the current class, including its package name.
    • CLASS_SIMPLENAME – the simple name of the class, i.e. the class name without its package name.
    • CLASS_PACKAGE – the package name of the class, including a trailing period. This will be an empty string for classes in the default package: use ${CLASS_PACKAGE:-} to ensure that the property will be expanded.
  • The new dynamic tstamp property can be used to add a date or time stamp value to file names or other values. When used as ${tstamp} the date is formatted using the default format for the locale. To control the output of the date format you can use ${tstamp[pattern]} where the pattern is identical to Java’s SimpleDateFormat pattern.


  • Renaming error when unused classes not removed.


  • Runtime Intelligence for Java applications now requires Java 1.5 or up for a runtime environment.
  • The <constantpooltag> tag has been moved from the top level to a <constpooltag> inside of the <output>. The old tag is migrated automatically.
  • The <renaming> tag has been modified.
    • The options=”onlynonpublics” value has been moved to the new <member-options keeppublics=”true/false”> sub-tag’s attribute.
    • The prefix=”…” attribute has been refactored into various attributes in the new <class-options> sub-tag.
    • The old values are migrated automatically.