Repository navigation
Releases
v3.0.0
StarBurst v3.0.0 - Release Notes
Released 2026-09-21. The Test Intelligence roadmap begins, plus major client increments:
project overview, battery optimization, lifecycle-aware polling, E2E test suite, a rounded Cartoon
style, and a refined Flame theme.
Highlights
- Project Overview — a new entry in the chat top-bar ⋮ menu. Scans the session's project
directory and shows file/line statistics by type (code/comment/blank), the largest files, and
Git repository info (branch, commit count, last commit, modified files and diffstat). Shell-side
scanning usesfind | xargs wc -c+ an awk line-classifier with C-style and#-style comment
detection. - Cartoon style: rounded display font + icon treatments — headings and labels switch to a
bundled Baloo 2 family (SIL OFL, 3 weights, Latin-only, ~268KB) and icons gain two wrappers
(CartoonInkIconinked glyph,CartoonStickerIcontilted hard-shadowed chip);
body*text, code and Chinese prose stay on the system font / monospace. OFL notice ships at
assets/licenses/Baloo2-OFL.txt. - Cartoon style:
MaterialTheme.shapesramp — the whole shape scale is swapped while Cartoon
style is on, so M3 components that never took an adaptive shape (cards, snackbars, outlined text
fields, chips, FABs, dropdown menus) round out too. - Session list: batch compact — a Compress action in the multi-select top bar summarizes every
selected session at once (each using its own model, falling back to the server default) to reduce
context, mirroring the single-session Compact menu item. - Battery optimization — WakeLock now held only when a session is actively running (busy/retry),
not during idle background; WS ping interval 20s→60s; release builds no longer persist INFO logs
to SQLite;backgroundWakeLockdefault changed to false. - Lifecycle-aware polling — all background polling (chat status, log tail, server management,
session list, workbench) now suspends when the app is in the background via
launchWhileStarted(repeatOnLifecycle), resuming on return. - Top bar token usage — the chat top-bar subtitle now shows cumulative session token usage
(total input + output), distinct from the input bar's budget ring (current context fill). - Flame theme — retuned to a vivid passionate red: primary
#FF1744(Red A400),
secondary#FF6D00(Orange A700), tertiary#D50000(Red A700). - E2E test suite — 5 Maestro flows (smoke, add-server-connect, session-list, settings,
workbench) with a batch runner (scripts/run-e2e.sh) and.secrets-allowlist. - Model name truncation — long model names no longer push the budget ring off-screen;
truncated at 24 chars with surrogate-pair-safe ellipsis.
Changed
- Top bar subtitle shows cumulative token usage (total input + output) and cost, distinct from the
input bar budget ring (current context occupancy / effective window). - Flame theme palette retuned for a more vivid red.
- Settings → Appearance → Cartoon style description mentions the rounded heading font and the
ink-outlined icons (both locales). - Largest Kotlin sources split by responsibility; no file exceeds the 1500-line hard cap.
- CI runs JVM unit tests on every push/PR (
./gradlew teston JDK 17) + gitleaks + file-size guard. - Session loading parallelized: child-session BFS, git state, and initial diff run concurrently.
- Unread status is now push-driven (removed 10s polling fallback).
Added
- Project Overview (file/line stats + Git repository info) in the chat ⋮ menu.
- Cartoon style rounded display font (Baloo 2, OFL), inked/sticker icon wrappers, and a
MaterialTheme.shapesramp. - Session list multi-select Compress (batch compact).
- Prompt & session templates, session timeline, custom system prompt + context budget.
- File diff viewer, in-editor AI actions, on-device code assist (MNN).
- Service log live tail, bookmark tags & groups, encrypted backup & restore.
- Token usage card, notification quick actions (RemoteInput).
- E2E test infrastructure (5 Maestro flows + batch runner).
- Lifecycle-aware polling utility (
launchWhileStarted).
Security
- SSH host-key verification (known_hosts TOFU).
- Server config encrypted at rest (Android Keystore AES-GCM) with legacy plaintext migration.
- Passwords removed from Intents/PendingIntents.
- WebView hardening (no mixed content, external links in browser, HTTP-auth host check).
- Install script pinned to a release tag with a randomized backend token.
- Required backend bumped to 2.0.1 — one-click install now pulls
install.shfrom thev2.0.1
tag, which verifies the downloaded binary against the release'sSHA256SUMS(mismatch aborts and
deletes the partial file). v2.0.0 also fixes the artifact-name break that made installs from
v1.0.0/v1.1.0 404 (startburst-backend-*→starburst-backend-*) and restores the missing
windows-amd64.exe+SHA256SUMSassets.
Fixed
- Long model names no longer push the budget ring off-screen (truncated at 24 chars).
- Hilt 2.51→2.52: fixed debug crash (
StarBurstApp_GeneratedInjectorNoClassDefFoundError) and
release R8 missing class. - Server connection hang on "connecting" — blocking work moved outside the connection lock.
- Connection state desync — flags now reconcile atomically.
- MnnLlm/MnnAsr native access serialized under one lock (use-after-free guard).
- ASR recorder stops on ViewModel clear (no leaked microphone).
- Parent sessions showed as idle while their sub-agent children were still running (session list
and workbench). Child-session push events are no longer dropped — only the "reply ready"
notification is suppressed, matching the official Web UI / TUI — the list aggregates child
busy/retry onto the parent, and a monotonic guard stops a stale laggingidlepush from
overwriting the aggregated state.
Engineering
- Unit tests (261 cases) + Compose instrumentation (2 cases) + Maestro E2E (5 flows) all green.
- File-size CI guard (
scripts/check-file-size.sh, 1500-line hard cap). - Single-file governance: largest sources split into same-package extension files.
Install and verify
# Verify the APK
sha256sum app-release-v3.0.0.apk
# Expected: 9c99e4ecca34c2eb1f11647f21d6bb62513d562dae6a1959ee0a4b0e08b145e9
# Install (overwrite an existing installation)
adb install -r app-release-v3.0.0.apkBackend pairing
This version requires starburst-backend >= 2.0.1 (BackendGate.REQUIRED_BACKEND_VERSION).
- Backend v2.0.0: Test Intelligence becomes the third main capability; the artifact name is
corrected fromstartburst-backend-*tostarburst-backend-*-- the already-published assets of
v1.0.0 / v1.1.0 still use the old name, soinstall.shreturns 404 for them. - Backend v2.0.1:
install.shverifies the download against SHA-256 (mismatch deletes the
artifact and exits).
The app's one-click install pulls install.sh from the v2.0.1 tag, so verification is applied
automatically.
curl -fsSL https://raw.githubusercontent.com/hiylo/starburst-backend/v2.0.1/scripts/install.sh \
| sudo env STARBURST_DEFAULT_TOKEN=<your-token> bash -- --port 18880 --version 2.0.1v2.0.0
StarBurst v2.0.0 - Release Notes
This release adds the AI workbench (a live dashboard of all agent activity), a full backend
mirror for consistent state and push notifications, and a batch of chat / workbench / dialog
polish and fixes.
Highlights
- AI workbench — a dashboard of all agent activity on the connected server:
- Live event stream (push-driven with polling fallback, localized text, heartbeat /
high-frequency filtering, local timezone). - Per-session aggregation with the latest event and status ordering.
- Decision panel per session: latest AI reply, pending questions with one-tap answers,
quick-reply composer with voice input, and a jump-into-full-session action.
- Live event stream (push-driven with polling fallback, localized text, heartbeat /
- Backend full mirror — when a starburst-backend is reachable, the app routes through its
/api/opencode/*mirror (Bearer token) for consistent state and faster pushes, with automatic
fallback to a direct connection. Over SSH, the backend port (18880) is forwarded alongside the
OpenCode port so pushes work through the tunnel. - Event collection & push — the backend records session events (
/api/events) and pushes them
live over/api/ws; the app turns completion / question / permission / error events into
heads-up notifications (sound + vibration), even while the session is open.
Fixes
- Chat list jumped to the oldest message when loading earlier messages; the list now uses reverse
layout so the reading position is preserved. - Sending a message or stopping only cleared pending questions locally; they are now rejected on
the server so they stay gone after re-entering the session. - In the workbench, tapping a question option sent it as a normal message instead of answering the
question; options are now submitted as question answers. - The keyboard could cover bottom fields and confirm/cancel buttons in dialogs; dialogs now lift
above the IME and text fields expose Next/Done keyboard actions. - SSH-tunnel deployments could not reach the backend (push notifications never fired); the backend
port is now forwarded too. - R8 shrinking stripped JSch JCE classes, breaking SSH tunnels in release builds; keep rules now
preserve them.
Changed
- Session status colors are now distinct: busy/processing shows blue while new messages stay green.
See CHANGELOG.md for the full list.
v1.4.0
StarBurst v1.4.0 - Release Notes
This release adds server management screens (automation rules / API tokens / audit log), a
full AGENTS.md workflow, fork-branch navigation, quick prompt templates, and continues the
project rename to StarBurst.
Highlights
- Server management — three new screens under server settings:
- Automation rules — scheduled / git / webhook triggered agent tasks with
natural-language AI generation (/api/rules/generate) and execution history. - API tokens — create / revoke backend access tokens (plaintext shown once).
- Audit log — recent authenticated API actions.
- Automation rules — scheduled / git / webhook triggered agent tasks with
- AGENTS.md workflow — from the chat menu, detect a project's
AGENTS.md, then generate
(no file), improve (AI enhancement), modify by instruction (natural-language), or
edit manually, and save it back to the project root. Generation shows an animated status
indicator, and failures offer a "Continue" retry. - Continue on failure — when the agent aborts or a retry fails, the error message now offers a
"Continue" action that resumes the session. - Fork branch navigation — a branch bar lets you jump between a session and its forked child
sessions, and back to the parent. - Re-copy share link — already-shared sessions can copy the share URL again from the menu.
- Quick prompt templates — one-tap presets (code review / generate tests / explain code / fix
bug) fill the composer, handy on mobile.
Changed
- Renamed to StarBurst — application id
org.hiylo.starburst, app label StarBurst, new
signing keystore. - Server-side ASR preferred — voice input now prefers the backend streaming engine and falls
back to the on-device MNN model. - "Suggestion service" → "LLM service" — the provider setting reflects its broader role.
- Source-code split — ChatScreen / NavGraph / OpenCodeApi broken into per-concern files.
Fixes
- AGENTS.md empty-file detection (the server returns 200 + empty content for missing files).
- AGENTS.md editor layout pushing the save button off-screen.
- Stats / audit / rules / tokens endpoints now accept the app token.
Version
versionName:1.4.0versionCode:6
v1.3.0
OpenCode v1.3.0 - Release Notes
This release adds theme schemes, backend-first suggestions, a Task Center backed by
opencode-backend, a home-screen Widget, bookmarks and full-text search, server-side ASR, and a
one-click backend installer — plus a major native-memory fix.
Highlights
- Theme schemes — three full cartoon color schemes (Candy / Ocean / Sunset) that recolor the
whole app (surfaces, containers, secondary/tertiary), plus five extra accent colors in a
wrap-around palette. - Backend-first suggestions — next-step suggestions now try the backend-configured LLM first,
then the app's external provider, then the on-device MNN model; the suggestion area shows its
source (server / cloud / on-device / fallback). - Task Center — background tasks, batch runs and archives via opencode-backend, with AI plan
breakdown (streaming), scheduling (immediate / delayed / at-time / cron), dependency
blocking/unblocking, and finished-task purge. - Home-screen Widget & App Shortcuts — session/server/task snapshots with deep links (open
session / connect server / new session / search / task center), plus long-press shortcuts. - Bookmarks & full-text search — message bookmarks and cross-session full-text search, both
scoped to the current server (entry lives in the session-list top bar). - Backend detection & one-click install — the server settings page probes
/api/health; when
the backend is missing and SSH is configured, one tap installs it over SSH and re-verifies. - Server-side ASR — streaming speech recognition via the backend engine as a fallback when the
on-device model isn't available.
Fixes
- Native memory blow-up (~790MB) — removed the unconditional MNN model preload on chat open;
the model now loads on demand (native heap ~790MB → ~21MB). - Voice-input echo duplication and late correction writes after send.
- Multi-line input height and the fixed-size send button.
- SSE stall self-healing (busy-period REST fallback polling).
- Skills page SKILL.md font sizing.
Version
versionName:1.3.0versionCode:5
v1.2.0
OpenCode v1.2.0 - Release Notes
This release adds on-device voice input, global search, a much richer session list, and SSH
tunnelling, together with a batch of session-list and archive fixes.
Highlights
- On-device voice input — an on-device MNN sherpa-mnn streaming Zipformer (bilingual zh/en,
int8) model downloaded from ModelScope with per-file SHA-256 verification. Hold-to-talk with
release-to-fill, slide-up-to-cancel, and a live volume waveform; the mic appears after the model
is downloaded in Settings. - Global search — cross-server, cross-project aggregation of root sessions, searchable by
title/directory/project/branch and filterable by time. - Session list — one-tap multi-server switching, pinned-session drag-to-reorder, search time
filter, and a compact layout that reuses the chat compact-mode toggle. - SSH tunnel & health monitoring — optional SSH tunnel (JSch local port-forwarding) to connect
and restart the opencode service remotely, plus connection health (latency / heartbeat / status). - Chat — custom Slash commands, quote-reply, and session export (Markdown / JSON).
Fixes
- Status flicker / stuck conversation: status polling no longer clobbers a live
busystate; idle
reconciliation only happens when disconnected. - Foldable two-pane back navigation now pops back to the parent session.
- Session list no longer misses sessions from other projects (cross-project root-session endpoint +
authoritative snapshot). - Archiving/unarchiving now takes effect via the nested
time.archivedfield. - Opening/creating a session no longer wipes the other sessions from the list.
- Voice model download entry (and the chat mic) now appears; fixed the bundled ASR JNI's MNN
dependency.
Version
versionName:1.2.0versionCode:4
v1.1.0
v1.0.1
This release adds a built-in Git experience and polishes the visual design.
Highlights
- Git page — open the connected project's Git from the chat menu (shown when the project is a repository): branch/status, change list with per-file diffs (including untracked files), and commit history with per-commit file changes.
- Git operations — commit, push/pull (with remote picker for multiple remotes), switch branch, and create a branch, via a persistent terminal session.
- AI commit messages — generate commit messages from the recent commit style using the configured cloud LLM, falling back to the on-device model.
- ModelScope model downloads — the on-device model now downloads from ModelScope (fast in mainland China) with per-file SHA-256 verification; auto-extracted from APK assets when bundled.
- Design alignment — colored session status badges and semantic status colors.
Fixes
- Bundled on-device model was never used at runtime.
- Git misreported "not a repository"; PTY commands could be lost or time out.
See CHANGELOG.md for the full list.
v1.0.0
OpenCode v1.0.0 - Release Notes
Initial release of the OpenCode Android client.
Highlights
- Native Material 3 chat interface with markdown, code blocks, and syntax highlighting
- Real-time message streaming with auto-scroll
- On-device suggestions — next-step prompts generated fully offline via a bundled MNN model,
with optional external OpenAI-compatible LLM provider and silent fallback - Workspace file browser with previews and downloads
- Full-screen terminal mode with PTY over WebSocket
- Session management with search, favorites, categorize, fork, share, export, and delete
- Completed-but-unread sessions pinned to the top of the session list
- Multi-server support with stable reconnection
- Adaptive two-pane layout on foldables and tablets
- Theme, dynamic color, AMOLED, and notification controls
- Secure in-app updates verified by SHA-256 and signing certificate
Version
versionName:1.0.0versionCode:1