All notable changes to Amber will be documented in this file.
The format is based on Keep a Changelog.
- DEX parsing and lifting — reads Dalvik bytecode from APK and DEX artifacts into typed internal IR
- CFG and SSA construction — builds control-flow graphs and converts to Static Single Assignment form
- Type inference — recovers type facts from bytecode evidence with explicit confidence tracking
- Java source emission — generates readable Java source files from recovered IR
- Gradle project synthesis — produces a complete Android Gradle project (
build.gradle.kts, source roots, manifest scaffolding) - Library partitioning — separates likely third-party/library packages from app code into distinct source roots
- Evidence ledger — append-only diagnostic and trust records across all pipeline stages
- CLI —
amber-cli reconstructcommand for end-to-end APK-to-project reconstruction - CI pipeline — Gradle validation + Android synthesis smoke test (compileDebugJavaWithJavac)
- JSON schemas —
dex-ssa-v1,evidence-ledger-v1, and common schema definitions
- Generated projects may require manual fixes to compile on complex real-world APKs
- Resource and manifest recovery produce stubs when original artifacts are unavailable
- Package naming is heuristic — best for inspection and incremental repair
- Kotlin metadata and Compose recovery are in progress