Skip to content

opencode v2 mainline (2.0.x) + v1 opencode1 family — native bionic, coexist

Latest

Choose a tag to compare

@Hope2333 Hope2333 released this 21 Sep 20:32
· 10 commits to native-android since this release

Push260922 — OpenCode for Termux: v2 mainline + v1 opencode1 family

2026-09-23 rolling tag (RC2). All assets are native bionic (zero glibc, no proot, no container).

RC2 fixes (this revision)

  • Fixes #20 — every native build now gates the embedded bionic libopentui.so before
    packaging (root cause + fix written up in issue comment 5782151599; issue closed).
  • All 13 v2 versions rebuilt (2.0.0 … 2.0.12, rc2b): per-version sha256 all distinct,
    packages freshness-gated against their binaries (ALL_13_FRESH).
  • Per-version PTY smoke: 13/13 PASS — a real tmux TUI session per version (input box +
    keystroke verification). Evidence: .omo/evidence/opencode-v2-port/rc2-rebuild/pty-test.log.
  • v2 wrapper family root-cause fix: the first wrapper batch wrapped one shared glibc input,
    so every package reported v2.0.0. family-v2-wrapper now extracts the per-version glibc
    standalone from opencode-cli-linux-arm64-<ver>.tgz, hard-gates --version to the target
    version, and packages via scripts/package/package_wrapper_v2.sh (payload at
    $PREFIX/bin/opencode / usr/bin/opencode — no staging-path leak). 13/13 rebuilt and
    verified (ALL_13_VERIFIED: all wrap shas distinct; 2.0.1+ differ from the 2.0.0 base).
  • Dual 26-asset uploads verified by sha256 (size + digest vs local manifests):
    • native: UPLOAD_ALL_26_VERIFIED.omo/evidence/opencode-v2-port/rc2-rebuild/local-26.sha256
    • wrapper: UPLOAD_ALL_26_WRAPPER_VERIFIED.omo/evidence/opencode-v2-port/rc2-rebuild/wrapper-13-sha.txt

v2 mainline (package name opencode, mutually exclusive within v2)

OpenCode 2.0.x compiled from source with android-bun (B line, full TUI via bionic libopentui.so).

  • opencode_2.0.x_aarch64.deb / opencode-2.0.x-1-aarch64.pkg.tar.xz for every 2.0.0…2.0.12
  • opencode-native-2.0.x-upx.xz — UPX-packed variant (same content, ~64% smaller)
  • opencode-wrapper_2.0.x_aarch64.deb / opencode-wrapper-2.0.x-1-aarch64.pkg.tar.xz
    v2 wrapper line (bun-termux-loader wrapped glibc standalone, TUI-capable), all 13 versions
  • Install: dpkg -i opencode_2.0.x_aarch64.deb or pacman -U opencode-2.0.x-1-aarch64.pkg.tar.xz
  • Run: opencode --version
  • Data/config lives under ~/.config/opencode, ~/.local/share/opencode, etc.

v1 family — renamed opencode1* (coexists with v2)

v1 (1.18.x) packages are renamed with the opencode1 prefix so v1 and v2 can be installed
side-by-side; each family's binary and data dirs are isolated:

  • v1 binary: bin/opencode1 (config/data under *opencode1 dirs, isolated by the install hook)
  • v1 packages: opencode1_1.18.32_aarch64.deb, opencode1-wrapper_..., opencode1-compressed_...
    (+ pacman equivalents)

Upgrade path: any old v1 opencode* package (≤ 1.18.31 in release Push260912) upgrades into the
opencode1* family (same sub-family: native → opencode1, wrapper → opencode1-wrapper,
compressed → opencode1-compressed). v2 opencode is never selected as the v1 upgrade target.

Migration hook: the opencode1 postinst auto-detects a legacy pre-v2-era v1 config under
~/.config/opencode (etc.) and isolates it into the opencode1 dirs (via
scripts/migrate-to-opencode1.sh isolate), exactly once, never clobbering existing opencode1 data.

Install

# dpkg (Termux default)
dpkg -i opencode_2.0.12_aarch64.deb          # v2 mainline
dpkg -i opencode1_1.18.32_aarch64.deb        # v1 (coexists)

# pacman
pacman -U opencode-2.0.12-1-aarch64.pkg.tar.xz
pacman -U opencode1-1.18.32-1-aarch64.pkg.tar.xz

Notes

  • v1.18.31 pinned as the final v1 make-maintenance release; if v1 ever needs a new build it
    ships as opencode1*. v1 wrapper-standalone is orphaned (not re-published).
  • This tag replaces the earlier v2 RC1 draft content; release notes supersede Push260912's
    v1-era notes for the v2 line. Push260912 remains the v1-era historical archive.