Repository navigation
Releases: pabi277/CodeC
Release list
CodeC IDE v1.3.18
CodeC IDE v1.3.18
versionCode: 22
tag: app-v1.3.18
published: 2026-10-06
What's new
CodeC IDE v1.3.18 — write and run C, Python, JavaScript and HTML on
your phone; C works offline with no setup.
The AI assistant — the whole line (Phases 84–96 / AI Levels 7–12). CodeC
now carries an optional, read-first AI assistant: open it from the ✨ rail
slot or the floating ✨ button. It runs on your own provider key (Google
Gemini by default; NVIDIA Build is a manual, internal-testing selection) —
there is no CodeC server and no shared key.
-
Your key, your bill, your provider. The key is stored encrypted
(Android Keystore AES-256-GCM) underno_backup/ai/and never rides a
backup; nothing leaves the phone until you tap Send on a preview that
shows exactly what will be sent. -
Agent tools, and what they may see.
list_files,search_project,
read_file,read_files(up to 8 files per batch), plus the
readable-structure resultsfind_files,outline_fileand
read_run_output.search_projecttakeslist_files' own scoping keys
(max,path,ext) and can only narrow the walk's admitted list.
Secret-like paths (.env,.npmrc, private keys), symlink escapes and
build output are refused before they can reach a request. -
No write tool and no exec tool, by design. Edits arrive as a
<<<CODEC_EDIT>>>proposal rendered as a diff you review; only your
Apply writes (throughAiEditApplier). A run request reaches CodeC's
normal RUN ▶ pipeline only after you tap Run on the approval card —
Skip runs nothing. -
Markdown answers. Headings, lists, tables and fenced code blocks, with
a copy-only Copy per block;httpslinks open only behind a confirm
dialog that shows the full URL. -
The nine agent controls (AI panel): read window, working-set depth,
task memory, answer detail, activity display, backup-provider offer, budget
offer, reviewer — and request inspection, which is always on. Each control
tunes inside a cap; none can grant a permission. -
Caps that no control can raise: 12 model turns, 24 tool calls, 2 runs,
24 000-char reads, 8 000-char results, 8 batched reads, 3 identical
repeats before the loop stops. -
History drawer and first-run agreement. Pinned/Recents rows, pin/unpin,
a New-chat pill with one confirm, and a one-card welcome whose four bullets
end in a pinned I understand — start. -
Six bug fixes and three first-run shape fixes from the device rounds —
a settled conversation can no longer be filed under the wrong project or
the wrong chat row, the drawer's New-chat pill keeps its confirm, ☰ can
never go dead, the current row is marked, the Explain last error route
redacts exactly like theread_run_outputtool, and the agreement button,
the first-run sheet height and the instant history row all behave on a
small phone. -
3fa49d7 Docs: the AI assistant reaches the README and the privacy guide, plus a plain user guide
-
e778fb1 Release app-v1.3.18: versionCode 22 / versionName 1.3.18; the AI line (Phases 84-96) reaches the release channel
-
0edf4dd Merge pull request #115 from pabi277/arena/27c2ba75-codec
-
d928353 Phase 96 / AI: the merge record, written before the merge so it lands on main with it
-
db1e796 Phase 96 closure: record the CI run for eaea09a (9m46s, green, release 7 217 532 B)
-
eaea09a Phase 96 closed in chat: the rounds waived, Level 12 accepted, the PR held, and Level 13 postponed
-
186d5ff Phase 96 round 2: record the green CI run for d984697 (13m33s, 3 436 tests / 0 failed, release 7 217 536 B)
-
d984697 Phase 96 round 2: read the next statement in the filing pin, not a line window
-
02f0b77 Phase 96 round 2: the welcome door, the room a first chat needs, and history at settle
-
80c1802 Phase 96 docs: record the green CI run for 2eaecce (14m17s, release 7 217 232 B)
-
2eaecce Phase 96: bug sweep after the Phase 95 device round — 6 fixes, scoped search
-
1c6f910 Merge pull request #114 from pabi277/arena/01a10b97-codec
-
70a9e80 Phase 95 docs -- README, DEVICE_ROUND, NEXT_STEPS, JOURNEY entry 117
-
195d308 Phase 95 -- wire the Phase93 and SelfCheck pins to the new history
-
cec7485 Phase 95 -- re-trigger Build APK (run 37432522206 failed at 3m30s with no annotations and logs endpoint answered EOF; same tree)
-
3a72a2b Phase 95 -- history drawer, welcome+agreement, composer clears on Send, ChatGPT-style header
-
f4d6924 Phase 94 round 3 -- the branch head is green too (37372737924 on cb4d096, 14m20s, release universal 7 206 072 B)
-
cb4d096 Phase 94 round 3 -- the ~15-minute runner cut, named: zero steps, always ~15m01s, against 13m51s-14m20s of green job time
-
ab67c0f Phase 94 round 3 -- the docs commit's CI is green too (37369079122 on a172673, 19m46s)
-
a172673 Phase 94 round 3 -- re-trigger Build APK for the docs commit: run 37367483241's job was cancelled at exactly 15m03s (no step failed, rerun refused)
-
60c25af Phase 94 round 3 -- build facts: run 37365936119 green on 2d495ab (release universal 7 206 076 B, no debuggable flag)
-
2d495ab Phase 94 round 3 -- re-trigger Build APK: run 37364178929's job was cancelled by the runner (conclusion: cancelled, 15m01s, no failing step) and GitHub refused a rerun ("cannot be rerun")
-
3a07ac0 Phase 94 round 3 -- the refused write now offers Grant access, and the self-check's denial read is pinned
-
e7c8d99 Phase 94 -- build facts into the phase doc: run 37345207580 green on 12a6606 (release universal 7 206 016 B, no debuggable flag)
-
12a6606 Phase 94 -- more power: three read-only tools, a structure reader, and the value-level secret guard
-
d38c769 Phase 93c -- build facts into the phase doc: run 37328263954 green on e612db0 (release 7 197 988 B, no debuggable flag)
-
e612db0 Phase 93c -- the write path audited: the storage preflight was ordered wrong, and the parser could not diff a file the agent had read
-
fa1380b Phase 93b -- build facts into the phase doc: run 37309397712 green on ada48f9 (release 7 198 092 B, no debuggable flag)
-
ada48f9 Phase 93b -- the owner's round 2 ("Not solved"): the proposal dead end and the [5/5] misreport, both fixed in code
-
b8e9289 Phase 93 -- build facts into the phase doc: run 37303387512 green on dc96329 (release 7 194 500 B, no debuggable flag)
-
dc96329 Phase 93 fix 2 -- the storage row reads the policy's own enum, and the Settings scan stops matching a property access
-
e40b887 Phase 93 fix -- the CI round found the mixed-type listOf, and three guards against the next round
-
8a1048c Phase 93 -- the owner's five fixes and the three audited bugs: one arrow, the permission named before it fails, Welcome to CodeC, one in-memory chat per project
-
b7a6b85 Phase 92.1 -- build facts into the increment doc: run 37231109942 green on e06d3a5 (release 7 192 032 B, no debuggable flag)
-
e06d3a5 Phase 92.1 fix -- the const was between @composable and its function (CI 37230899639)
-
57bd267 Phase 92.1 -- "Not all test run": the self-check can no longer be a dead end
-
bfea912 Phase 92 -- build facts into the phase doc: run 37220578998 green on 090af93 (release 7 191 772 B, debug 27 106 392 B, no debuggable flag)
-
090af93 Phase 92 fix -- declare AiCopy.SELF_CHECK_TITLE, and pin the whole class of missing constants
-
407cf4d Phase 92 -- the self-check: one command, five checks the app judges itself, a redacted report
-
544ce7c Name the Phase 91 build on its round: head 97a8ac7, run 37215933981
-
97a8ac7 Follow the DONE branch's new shape in the Continue pin
-
592c340 Phase 91 -- the simple chat (the owner's Phase 90 device round)
-
dc816e8 Point the Phase 90 round at the latest green build (46f2cdb, run 37209301287)
-
46f2cdb Record the Phase 90 build on the round: head 2333cde, run 37208366826, byte counts from the annotations
-
2333cde Keep the two host pins Phase 90 touched: the Level 11 census and the immutable provider/model literal
-
ed54bbe Implement Phase 90 -- the conversation surface (New chat, follow-up chats, the real-assistant look)
-
b0a77ad Brief Phase 90 -- the conversation surface (owner request: New chat, follow-ups, a real-assistant look)
-
7c1c0e1 Record the owner's device-round results in the round file and everywhere the docs carry them
-
e3648e3 Transcribe the owner's device-round report for Phase 89 / Level 12
-
240c53e Record the green Build APK run and the APK delta in the Phase 89 docs
-
58039cd Move the decoder usage cases into their Robolectric homes (CI round 2)
-
0929ef5 Restore the NVIDIA usage-only contract CI round 1 caught, and pin it host-side
-
e7a8677 Implement Phase 89 / AI Level 12: evaluation and acceptance
-
92709d7 Brief Phase 89 / AI Level 12: evaluation and acceptance (docs only, no code)
-
86bcfcb Docs: record the Phase 88 merge commit 0fc2bfd and post-merge Build APK run 37136523881
-
0fc2bfd Merge pull request #113 from pabi277/arena/01a101db-codec
-
06c1433 docs(ai): record the PR #113 merge of Phase 88 / AI Level 11 to main
-
1ab64ce docs(ai): record Phase 88 Build APK round 1 green (37132310296) and the APK deltas
-
88f0186 feat(ai): implement Phase 88 / AI Level 11 (agent phone presentation)
-
0860ca3 docs(ai): brief Phase 88 / AI Level 11 (agent phone presentation)
-
8062f0c docs(ai): fix roadmap row 10 and two stale Phase 87 leftovers after carrying the merge record
-
7b71ec5 docs(ai): record the PR #112 merge of Phase 87 / AI Level 10 to main
-
c3771c5 Merge pull request #112 from pabi277/arena/01a100ed-codec
-
456ae61 docs(ai): record Build APK 37119390730 green on 27c23c1 for Phase 87 / Level 10
-
27c23c1 test(ai): repair two Phase 84 pins broken by the Level 10 cap threading
-
35d72b1 fix(ai): compile on Kotlin 2.2.10, the version the app actually builds with
-
ef97bbf feat(ai): Phase 87 / Level 10 — nine bounded agent controls and options
-
801fba6 docs(ai): record the PR #111 merge and brief Phase 87 / Leve...
CodeC IDE v1.3.17
CodeC IDE v1.3.17
versionCode: 21
tag: app-v1.3.17
published: 2026-09-11
What's new
CodeC IDE v1.3.17 — write and run C, Python, JavaScript and HTML on
your phone; C works offline with no setup.
- First app release on the app-v* channel (see docs/JOURNEY.md for the full story).
Which APK should I install?
- Almost everyone:
CodeC-IDE-1.3.17-universal.apk. It runs on
every device CodeC supports (64-bit ARM phones, x86_64 emulators, and
32-bit ARM phones). - The per-ABI files (
-arm64-v8a,-armeabi-v7a,-x86_64) are the same
app minus the parts your device cannot use. Pick them when you know your
device's ABI (Settings → About in the app shows it); when in doubt,
take universal. - 32-bit ARM (armeabi-v7a / older x86) devices: the built-in C compiler
is not bundled for your ABI — C works through the downloadable Clang
module (Packages tab) or the Termux fallback. Everything else in the app
is the same.
Upgrading / downgrading
- Install the APK over the existing app — Android updates it in place and
keeps your projects as long as the signing key is the same. - The first release-signed build does not share a key with the old
debug-signed CI builds: switching from a debug build to this release is a
fresh install. Export your projects first (Files → project → Export
ZIP, or Files → ⋮ → Export all projects) and import them back afterwards. - The app's own Check for updates (Settings → About) never installs an
older release over a newer one and says why.
Checksums
Verify before sideloading (sha256sum <file>), or let the in-app updater
check for you — it refuses to install anything whose checksum does not
match these lines, and refuses to install at all when none are published:
sha256: 7a2a204c901a8d9d240a08fdb4f0c19fd22ef952b494ab4fda3b72406144d0ce CodeC-IDE-1.3.17-universal.apk
What still bites (known issues)
- Opening a huge folder from the file picker can be slow on low-RAM phones;
if it hangs, back out and open a smaller subfolder. - Device-to-device restore and cloud backup carry your projects only —
the toolchain, packages, and your GitHub sign-in do not travel; a fresh
install downloads the userland again and asks you to sign in again (that
is deliberate: the backup never carries your token). - Everything user-visible that has bitten someone and what to do about it:
TROUBLESHOOTING.md; beta notes: BETA.md.
Feedback
In the app: Settings → Feedback & Support (WhatsApp chat with the
developer, email, or a GitHub issue — nothing is sent unless you send it).
Rating and exit-survey answers ride the same report.
Privacy
CodeC runs entirely on your device. No analytics, no ads, no account, no
crash upload. The only network requests it makes are the ones you start:
the bootstrap/package downloads you approve, git against the repository you
configured, and this update check when you tap it. Details:
DATA_AND_PRIVACY.md.
CodeC userland bootstrap — Phase 3 development channel
CodeC userland bootstrap — Phase 3 (development channel)
Development release for CodeC IDE Phase 3 (package management).
The CodeC repository publishes signed InRelease and Release.gpg
metadata. The client pins the CodeC-only public keyring with
signed-by=, verifies with gpgv before apt, and apt verifies
the same Release/index/package hash chain independently.
Built from the pinned official termux-packages revision through
the CodeC overlay (com.codeci.ide, prefix
/data/data/com.codeci.ide/files/usr). No official com.termux
packages or repositories are used or referenced.
Contents
Bootstrap roots: busybox, bash, apt, dpkg, termux-exec
plus the full source-built dependency closure (never
build-package.sh -I).
Each archive contains the contents of the CodeC prefix
(root-level bin/, lib/, etc/, var/) and is extracted
into /data/data/com.codeci.ide/files/usr by the CodeC app
automatically. Do not extract by hand.
- Real CodeC-built
apt,apt-get,dpkg+ seeded dpkg status database libtermux-exec-ld-preload.so(shebang script execution via LD_PRELOAD)libandroid-support.soand all runtime shared librariesetc/apt/sources.listpointing at the CodeC development channel only- CodeC v3 public keyring at
etc/apt/keyrings/codec-archive-keyring-v1.gpg
(byte-matched to the committed public key; no private material)
Assets
| Asset | SHA-256 |
|---|---|
| bootstrap-phase3-aarch64.tar.gz | 33b2718ba8c365a2e866a448536f4761281814e74fe28e0032be08dca79d6506 |
| bootstrap-phase3-x86_64.tar.gz | bd66995025e88781a74ac17ee377ab99230b8b3d7503777e736e17d391f5f430 |
Source build: run 33598824226 of "CodeC package repository".
Rollback
- App side:
userland-v1remains published and is used automatically
when this release is removed or unreachable
(seedocs/PHASE3_STATUS.md). - Repository side: re-publish the previous Pages manifest by
dispatching "CodeC package repository" withpublish=trueand the
previous successful run ID.
userland-v1
CodeC Phase 2 aarch64 userland built from official Termux package recipes for /data/data/com.codeci.ide/files/usr.