This release of PreEmptive Protection Ð DashO includes a wide range of enhancements, changes, and fixes. One major new feature is the ability to inject Debug Checks that can detect and respond to debugging at runtime. This release also includes a few backwards-incompatible changes, including that the minimum-required Java version is now 1.7. Please review the Changes section carefully, before upgrading.
@DebuggingCheck
, @DebuggingResponse
, @DebugEnabledCheck
, @DebugEnabledResponse
), with new code annotations and a new user interface.ConvertMap.jar
.customDataSource
element which replaces @PropertySource
..dox
files is deprecated.HALTONFIRSTERROR
global option has been removed, as its behavior is now the default. The option will be silently ignored for existing projects.PRE_7_0_EXIT_BEHAVIOR
global option has been removed. A warning will be emitted for existing projects using this option..dox
configuration format has changed. Opening an older project file in this new version of DashO will perform a one-way migration of the project file.
<instrumentation>
section has been moved under a new <injection>
section.@TamperCheck
and @TamperResponse
virtual annotations are now under new <tamperCheck>
and <tamperResponse>
sections.@ExpiryCheck
virtual annotation has been replaced with the new <shelfLifeCheck>
section.@ExpiryDate
, @WarningDate
, @StartDateSource
, @ExpiryPeriod
, @WarningPeriod
, and @ExpiryTokenSource
virtual annotations have been replaced with attributes on the new <shelfLifeCheck>
element.@SignerInfo
virtual annotation was replaced with <signerInfo>
inside the new <tamperCheck>
section.@PropertySource
annotation is deprecated and replaced with the per-annotation property customDataSource
.@SignerInfo
annotation is deprecated and replaced with properties inside @TamperCheck
.@ExpiryCheck
annotation has been renamed to @ShelfLifeCheck
.@ExpiryDate
, @WarningDate
, @StartDateSource
, @ExpiryPeriod
, @WarningPeriod
, and @ExpiryTokenSource
annotations have been deprecated in favor of properties of the new @ShelfLifeCheck
annotation.@ReportThrownExceptions
and @ReportCaughtExceptions
annotations will emit build warnings if the injection site has no throw statements or catch blocks, respectively.@TamperCheck
and @TamperResponse
code annotations’ response
attribute is now an enumeration.@TamperResponse
code annotation now requires the source
attribute to be set.probability
to 0
in a Tamper Response now disables the response, instead of triggering it every time.Make Public
to Automatic
.response
is set to none
.getApplicationContext()
method.athrow
bytecode under certain circumstances.