- Move the default build and verification baseline to Android 17 / API 37 with AGP 9.1.1, Gradle 9.3.1, Kotlin 2.3.21, and Java 17.
- Keep demo modules opt-in so normal plugin builds do not configure old sample apps unless
TRACEFIX_ENABLE_DEMOSorTRACEFIX_ENABLE_REMOTE_DEMOSis set.
- Add the
traceFixextension for variant, class-prefix, constructor, class-initializer, synthetic-method, and bridge-method controls. - Skip only non-instrumentable methods such as abstract/native methods instead of skipping whole abstract classes.
- Use readable trace section names with stable hash suffixes and Android's 127 UTF-16 code-unit limit.
- Keep exception-safe
Trace.endSection()pairing for thrown paths.
- Replace the legacy 2x2 AGP matrix with an Android 17 trace regression that builds Java and Kotlin fixtures in debug and minified release variants.
- Verify transformed bytecode with method-level
javapassertions for overloads, synchronized methods, interface default methods, concrete methods in abstract classes, long names, skipped native/abstract methods, and skipped Kotlin synthetic default-argument methods.
- Document
0.2.xas the Android 17 / AGP 9.1.x line and0.1.xas the legacy AGP 7.4/8.3 line. - Clarify that TraceFix adds app-side
android.os.Tracesections and does not replace Perfetto,atrace, orProfilingManager.
- Migrate plugin instrumentation from removed Transform API to AGP official Instrumentation API.
- Add exception-safe trace pairing by injecting
Trace.endSection()on exceptional exits. - Add 2x2 compatibility demo matrix (AGP 7.4.2 / 8.3.2 x local / remote plugin).
- Add Gradle compatibility CI matrix to verify compile-time bytecode injection.
- Rewrite README/README_zh to focus on version selection and usage path.
- Add maintainer release instructions for Maven Central publishing.
- Legacy Transform API based instrumentation release.