Repository navigation
GhostIDE v2.11.0 - Hardening round 2
Hardening round 2 (audit response, part 2). See BUILDING.md and BUILD_NOTES.md in this repo, and PAIRING.md + HARDENING_PLAN in the ghost-ide repo.
What is in this build
- API 36 target (compileSdk / targetSdkVersion 36, minSdk 24), from v2.10.0
- Backup format v2 (AES-256-GCM) with a bounded v1 reader, from v2.09.0
- Staged backup restore: ZipGuard validation (entry cleaning, 20k entry / 200 MB per-entry / 512 MB total caps, duplicate rejection), staging, then apply with rollback, so a hostile or damaged backup changes nothing
- Pair mode trust: per-boot 6-digit pairing code; non-loopback API callers need a token from a code join; the code is loopback-only
- Bundled-git code split into GitSupport (process execution stays single-sourced)
- Reproducible build: BUILDING.md + assemble_inputs.sh; the clean-root build's 139 non-signature APK entries are byte-identical to the maintainer build
Artifact
- ghostide-v2.11.0.apk, versionCode 116, 20,304,487 bytes
- MD5 03f95ed5aab3975e75f1605f0f262755
- SHA-256 269a3ea205147237deff76a638da9109b2ffb2607052bf9e9d3462750b2a4c90
- Signer: the studio debug keystore (same certificate as every sideload build since v1.0; the production upload key is separate and never in this repo)
Evidence: 57 frontend harnesses, JVM BkTest 13/13 + ZgTest 14/14, GitHub-connect e2e 19/19, hardening probes 11/11, restore probes 15/15, pair probes 10/10, DOM-stub boot gate clean, eco E1 ALL PASS. Device proof for the v1.58-v2.11 feature stack remains the owner's pass (DEVICE_PASS checklist in the ghost-ide goal files).
Note on the asset: the APK binary is not attached to this release because the automation credential used for this repo is scoped to api.github.com and GitHub serves release-asset uploads from uploads.github.com (401). The build is distributed through the studio's direct file link; verify any copy against the SHA-256 above. The tag and tree here are the exact source of that build (reproducible per BUILDING.md).