Releases: Hope2333/opencode-termux
Release list
Push260828: glibc 1.18.15 + native 1.18.21 + native-upx (compressed) + standalone (transitional)
Push260828 — four runtime families, first co-appearance (transitional formal release)
Special formal release where all four runtime families appear together for the first time. Transitional in nature: the native bionic line is becoming the mainline, the glibc wrapper line is demoted to appendix maintenance, and opencode-glibc-standalone is introduced as a frozen single-version rollback package.
| Family | Assets | Coexistence |
|---|---|---|
| glibc (wrapper line, stable appendix) | opencode-glibc_1.18.15_aarch64.deb, opencode-glibc-1.18.15-1-aarch64.pkg.tar.xz |
mutually exclusive with native / compressed |
| native (bionic mainline) | opencode_1.18.21_aarch64.deb, opencode-1.18.21-1-aarch64.pkg.tar.xz |
mutually exclusive with glibc / compressed |
| native-upx (compressed ELF) | opencode-1.18.21-aarch64-android-native-tui-upx.xz |
manual ELF drop-in, not a package |
| standalone (frozen rollback) | opencode-glibc-standalone_1.18.15_aarch64.deb, opencode-glibc-standalone-1.18.15-1-aarch64.pkg.tar.xz |
CAN coexist with opencode (independent lib path, entry opencode-glibc) |
opencode-glibc-standalone ships a single frozen version (1.18.15) for rollback only. The glibc / native / compressed families remain mutually exclusive providers — installing one replaces the others.
Package-name inheritance: the native mainline now inherits the plain opencode package name (the -native suffix is retired); the opencode-native_* assets on the older Push260822 release remain as historical versions.
Assets
| Asset | Size (bytes) | sha256 |
|---|---|---|
| opencode-glibc_1.18.15_aarch64.deb | 82387152 | 2867a2c7d975493842e283d1ca2441ba94895e4cfcc1cf5ab48e6fa907b20eb3 |
| opencode-glibc-1.18.15-1-aarch64.pkg.tar.xz | 82387104 | b82549f4bc460d3927bfe243f8d60a10707ec349256cd3e21844bf333269fd41 |
| opencode-glibc-standalone_1.18.15_aarch64.deb | 41248544 | fe136fb78de0580a907f1563c9c571aab18c09e3819026ae4184ab8d80db321d |
| opencode-glibc-standalone-1.18.15-1-aarch64.pkg.tar.xz | 41254936 | 8e3684fd4821b70bba606cb6f086a1c6076b482f44f346bcecb4d7cfb27eb6d4 |
| opencode_1.18.21_aarch64.deb | 40699184 | 3bc040e95b49da085fe280e08b46558df5839d1d06ab5304c45ac98cf2508e76 |
| opencode-1.18.21-1-aarch64.pkg.tar.xz | 40705564 | 8fe5b1fcb591f2d31820650e371f43b33d62d8ef1fe6e3ac0557ef7f1f1d7311 |
| opencode-compressed_1.18.21_aarch64.deb | 50403208 | 6fd5956986ea17c7f56ff1371074f0facf1dd464eac667de28fb0858e5c0c5d3 |
| opencode-compressed-1.18.21-1-aarch64.pkg.tar.xz | 50407148 | 28523af40d222aad95cbbda10918a89d1391d461874063b02ff3817fbd9c0122 |
| opencode-1.18.21-aarch64-android-native-tui-upx.xz | 50362704 | 42a0ef39ca81d53d8bb0338a9e8ae4d7843d3bd636f4a5875dc98e420c5086cf |
| SHA256SUMS.txt | 981 | (checksum list itself) |
Packed-ELF fingerprint chain
- Unpacked ELF
opencode-1.18.21-aarch64-android-native-tui(as published innative-beta-260826): sha25602609002f4191a102255f29191299a89057a9c7d3d62222e48d75bc59334500d, 179,807,785 bytes - UPX-packed ELF (
--best): sha25630c074ab04d8c62dfad2f2fd6b53a629f4c05236a609684d84a0d9427a8be988, 51,891,796 bytes (retains 28.86% of original) - xz -9 container (this asset): sha256
42a0ef39ca81d53d8bb0338a9e8ae4d7843d3bd636f4a5875dc98e420c5086cf, 50,362,704 bytes
Size / startup tradeoff (measured, not marketing)
179,807,785 B → 51,891,796 B (UPX --best, 28.86% retained) → 50,362,704 B after xz -9 (UPX output is high-entropy, so xz gains only ~3%). Startup overhead: +0.7–1.1s (measured 1.9–2.3s vs 1.1s for the unpacked ELF). Choose the compressed ELF only if download size matters more than startup latency.
Antivirus false-positive notice
UPX-packed executables may trigger antivirus heuristics. This is a known phenomenon with packed binaries, not malware. Trust the sha256 values above / SHA256SUMS.txt, not AV verdicts.
Install examples
# glibc line (stable appendix; needs glibc + openssl-glibc)
dpkg -i opencode-glibc_1.18.15_aarch64.deb
pacman -U opencode-glibc-1.18.15-1-aarch64.pkg.tar.xz
# native bionic line (mainline; zero glibc, Android API >= 28; plain opencode package name)
dpkg -i opencode_1.18.21_aarch64.deb
pacman -U opencode-1.18.21-1-aarch64.pkg.tar.xz
# standalone rollback (coexists with opencode; entry command: opencode-glibc)
dpkg -i opencode-glibc-standalone_1.18.15_aarch64.deb
pacman -U opencode-glibc-standalone-1.18.15-1-aarch64.pkg.tar.xz
# compressed ELF (manual drop-in)
xz -d -k opencode-1.18.21-aarch64-android-native-tui-upx.xz
chmod +x opencode-1.18.21-aarch64-android-native-tui-upxVerification
SHA256SUMS.txt covers all 9 payload assets in standard sha256sum format. It is unsigned; GPG signing is planned for a future release.
Native Beta 260826
Native Beta 260826(BETA 渠道首发)
BETA 渠道首发:功能与稳定性达标(TUI 完整渲染、watcher E2E、bin 直放、goldens 4/4),由 ALPHA 渠道晋级。
Crash fix
修复 thinking 块展开时 OpenTUI bufferDrawChar 的 @intCast(u32→i32) SIGABRT(负坐标越界)。
patch:patches/opentui/fix-drawchar-negative-coords.patch,commit 342d68d。
资产
opencode-1.18.21-aarch64-android-native-tui:主二进制(bin-direct 真 ELF,无 wrapper)SHA256SUMS.txt:校验和
安装
dpkg -i opencode-native_*.deb # 或直接下载上方二进制 chmod +x 运行
opencode --version # -> 1.18.21诚实声明
- 仍为 pre-release;稳定维护主线仍是 pure/glibc 双轨包,不受影响。
- CI 绿 ≠ 可跑:最终验收以真机终验为准。
native-alpha 260825 — TUI preview
native-alpha 260825 — TUI preview
⚠️ ALPHA / EXPERIMENTAL
This is the native revival line (transplant pipeline) of opencode-termux.
Per project policy, native-line assets stay pre-release permanently; the
stable / maintenance mainline remains the pure/glibc wrapper line. Expect
rough edges, no stability guarantees, and breaking changes at any time.
What it is
- OpenCode 1.18.21 module graph grafted onto the official bun 1.4.0
android base, with the bionic-builtlibopentui.soequal-swap injected —
so this build has a working TUI. - Zero glibc dependency (pure Bionic). Requires Android API >= 28
(aarch64 only).
Validation
--version→1.18.21, exit 0- TUI deep smoke T1–T5: 5/5 PASS — chat roundtrip (~24s), resize,
clean-exit, 5-minute soak (RSS −224MB, CPU → 5%), terminal-query responder
harness v7 - Golden regression 4/4 PASS
Usage
Install the deb provider, or run the raw ELF directly:
chmod +x opencode-1.18.21-aarch64-android-native-tui
./opencode-1.18.21-aarch64-android-native-tui --versionIf the TUI misbehaves on your terminal, use the web UI fallback:
opencode web.
Evidence
- TUI deep smoke log:
.omo/evidence/task-w10a-tui-deep-smoke.log - Transplant surgery details:
docs/transplant.md
Push260822
Dual-track OpenCode for Termux. Track 1 (default recommended): glibc wrapper packages opencode_aarch64.deb / opencode--aarch64.pkg.tar.* - full TUI. Track 2 (experimental): opencode-native* / *-android-native assets - zero-glibc headless run/serve only, TUI broken, Android API>=28.
v1.18.15 v1.18.[8-14]
BUILD LOG
20260808: v1.18.[14-15]
20260805: v1.18.[8-13]
Lasted: v1.18.15
OpenCode for Termux
Real OpenCode AI wrapped for Android/Bionic via bun-termux-loader.
Assets (latest: v1.18.15)
| Format | Versions |
|---|---|
| DEB | opencode_1.18.{8-15}_aarch64.deb |
| Pacman | opencode-1.18.{8-15}-1-aarch64.pkg.tar.xz |
Dependencies
glibc+openssl-glibc— runtime requirementsbash+ncurses— launcher and TUI support
Install
apt install -y glibc-repo && apt update && apt install -y glibc openssl-glibc
dpkg -i /path/to/opencode_1.18.15_aarch64.debRun: opencode --version
v1.18.[3-7]
BUILD LOG
260728: v1.18.4-1.18.7
260719: v1.18.3 (maintenance baseline — Push260719)
OpenCode for Termux
Real OpenCode AI coding assistant, wrapped for Android/Bionic via bun-termux-loader.
Assets (latest: v1.18.7)
| Format | Versions |
|---|---|
| DEB | opencode_1.18.{3,4,5,6,7}_aarch64.deb |
| Pacman | opencode-1.18.{3,4,5,6,7}-1-aarch64.pkg.tar.xz |
Dependencies
glibc+openssl-glibc— runtime requirementsbash+ncurses— launcher and TUI support
Install
apt install -y glibc-repo && apt update && apt install -y glibc openssl-glibc
dpkg -i /path/to/opencode_1.18.7_aarch64.debRun: opencode --version
Thanks
v1.18.3 v1.18.[0-2] v1.17.[0-20] v1.16.[0-2] v1.15.[1-13]
BUILD LOG
260522: v1.15.[1-7]
260524: v1.15.[8-10]
260530: v1.15.[11-12]
260604: v1.15.13
260607: v1.16.[0-2]
260615: v1.17.[4-7]
260624: v1.17.[8-9]
260627: v1.17.[10-11]
260704: v1.17.[12-13]
260710: v1.17.[14-18]
260714: v1.17.[19-20]
260717: v1.18.[0-3]
Lasted: v1.18.3
OpenCode for Termux
Real OpenCode AI coding assistant, wrapped for Android/Bionic via bun-termux-loader.
Assets
| Format | Versions |
|---|---|
| DEB | opencode_1.15.{1..13}_aarch64.deb, opencode_1.16.{0..2}_aarch64.deb, opencode_1.17.{0..20}_aarch64.deb, opencode_1.18.{0..3}_aarch64.deb |
| Pacman | opencode-1.15.{1..13}-1-aarch64.pkg.tar.xz, opencode-1.16.{0..2}-1-aarch64.pkg.tar.xz, opencode-1.17.{0..20}-1-aarch64.pkg.tar.xz, opencode-1.18.{0..3}-1-aarch64.pkg.tar.xz |
Dependencies
glibc+openssl-glibc— runtime requirementsbash+ncurses— launcher and TUI support
Install
apt install -y glibc-repo && apt update && apt install -y glibc openssl-glibc
dpkg -i /path/to/opencode_1.18.3_aarch64.debRun: opencode --version
Thanks
Push260521
BUILD LOG
260521: v1.15.0
Lasted: v1.15.0
native-android Line Matured
After extensive research and iteration, the native-android build pipeline is now operational:
What's New
- GitHub Actions CI workflow (build-native-android.yml) fully automated:
- Downloads opencode from npm
- Wraps with bun-termux-loader using pre-built aarch64 artifacts
- Produces Android/bionic-wrapped binary automatically
- Git history cleaned: ~425MB of binary blobs removed
- Pre-built wrapper+shim committed at
tools/prebuilt/— no cross-compilation needed on CI - Bun v1.3.14 research completed: Native Android Bun confirmed working on Termux
- Research doc:
docs/native-android-research.md
- Research doc:
Fixes in This Release
- Wrap step corrected:
--wrapperand--shimpaths now point to pre-built aarch64 binaries - Bun marker detection: searches entire binary (marker position varies by version)
- Cache key collision fixed: uses first+last 64KB for classifer
- All CI steps validated (17/17 passing)
Build Pipeline
# Local Termux build (glibc route — stable)
cd opencode-termux
make all VER=1.15.0 PKG=both
# CI automated build (native-android route — experimental)
# Trigger: GitHub Actions workflow_dispatchNotes
- This is still the glibc-wrapper route for runtime (bun-termux-loader wrapping)
- Native Android Bun binary is downloaded for diagnostics only (entry point incompatibility)
- Future: switch to native Android Bun when
bun build --compilesupports Android target
v1.15.0 v1.14.[21-51]
BUILD LOG
260426: v1.14.[21-25]
260429: v1.14.[26-29]
260501: v1.14.[30,31]
260505: v1.14.[32-39]
260507: v1.14.40
260508: v1.14.41
260510: v1.14.[42-46]
260512: v1.14.[47,48]
260516: v1.14.[49-51] v1.15.0
Lasted: v1.15.0
Issues Fixed
Issue #2: Bun-Termux-Loader Validation Logic Outdated
- Problem: Upstream Bun v1.3.13+ changed binary marker from
---- Bun! ----topackages by bun, causing loader to fail recognition - Fix: Updated bun-termux-loader to support both markers, search range extended to 64KB
- Commit: Hope2333/bun-termux-loader@a96e74e
Batch Build Version Number Bug
- Problem:
make batch VERS='1.14.[22-25]'produced packages with wrong version numbers (all showing 1.14.22) - Root Cause: Versions 1.14.22-1.14.24 share identical first 4096 bytes, causing wrapper.c cache key hash collision
- Fix: Cache key changed to first 64KB + last 64KB + file size
- Commit: Hope2333/bun-termux-loader@a96e74e (wrapper.c: cache_bun_elf)
Version Selection Guide
This repository provides prebuilt packages from a unified build system, often covering multiple upstream versions in a single release batch.
-
For most users:
Simply choose the latest release. It is generally the most up-to-date and works as a rolling snapshot of upstream. -
If you prefer stability:
Look for releases labeled LTS or similar. These are built with fewer changes and are intended to be more conservative. -
If you see multiple versions in one release (e.g.
[21–25]):
You can usually pick the highest version number unless you have a specific reason to stay on an older one.
For Advanced / Power Users
# Clone locally
git clone https://github.com/Hope2333/opencode-termux
cd opencode-termux
# Single version build
make clean
make all VER=1.14.25 PKG=both
# Batch build (now fixed!)
make batch VERS='1.14.[21-25]' PKG=both ODIR=~/oct-out MIX=1Notes
This repository acts as a distribution/build layer, not the primary source of change logs.
For detailed upstream changes, please refer to the original upstream project releases.
v1.14.[17-20] v1.4.[0-17] v1.3.[13-17]
BUILD LOG
260401: v1.3.13
260407: v1.3.[14-17]
260408: v1.4.0
260413: v1.4.[1-3]
260420: v1.4.[4-17] v1.14.[17-19]
260426: v1.14.20
Lasted: v1.14.20
Version Selection Guide
This repository provides prebuilt packages from a unified build system, often covering multiple upstream versions in a single release batch.
-
For most users:
Simply choose the latest release. It is generally the most up-to-date and works as a rolling snapshot of upstream. -
If you prefer stability:
Look for releases labeled LTS or similar. These are built with fewer changes and are intended to be more conservative.
For Advanced / Power Users
If you prefer more control or want faster updates than the release cycle:
- It is recommended to clone this repository locally
- Then build packages yourself, similar to how you would use AUR:
git clone <repo>
cd opencode-termux
# build using provided scripts / PKGBUILD-like workflowThis approach allows you to:
- Track upstream changes immediately
- Apply your own patches
- Avoid waiting for batch releases
Notes
This repository acts as a distribution/build layer, not the primary source of change logs.
For detailed upstream changes, please refer to the original upstream project releases.