Releases: niki914/libterm
Releases · niki914/libterm
Release list
Release - 0.5
Release - 0.4
v4-0.4 release: bump version to v4-0.4 and restructure README around open*Te…
Release - v3-0.3
RELEASE: v3-0.3; fix: publish libterm-core for jitpack v3-0.3
Release - v2-0.2
Updates
- simplify developer-interface
- ssh connection support
RE: Libterm v1-0.1
libterm v1-0.1
libterm is the next step forward from cmd-android.
This release upgrades the project from a command execution helper into a session-based Android terminal library with a unified runtime facade for USER, ROOT, and SHIZUKU shells.
Highlights
-
Added interactive shell support
- Supports long-lived shell sessions instead of only one-shot command execution
- Handles block-style interactions such as
cat <<EOF ... EOF - Enables terminal-style workflows with continuous input and output
-
Introduced a unified
Termfacade- Open terms with
LibTerm.newUserTerm(),newSuTerm(), ornewShizukuTerm(context) - Uses one consistent API across different privilege modes
- Keeps simple use cases straightforward while supporting more advanced terminal flows
- Open terms with
-
Supports both blocking and streaming usage
- Use
exec(...)for direct command execution - Use
open() + write() + streamfor interactive shell scenarios - Better fit for terminal UIs, REPL-style flows, and persistent sessions
- Use
-
Added a more complete session model
- Explicit lifecycle states:
Starting,Running,Closed, andFailed - Streaming output with bounded buffering
- Structured failure model for startup, authorization, runtime termination, and closed-session cases
- Explicit lifecycle states:
-
Refactored the project into clearer layers
libterm-corefor contracts, session management, state, and failure modelinglibterm-backend-libsuforUSER/ROOTlibterm-backend-shizukuforSHIZUKUlibterm-runtimefor the Android-facing facade
-
Added a runnable smoke demo
- Demonstrates
USER,ROOT, andSHIZUKUterms - Shows explicit open, streaming output, and interactive input handling
- Demonstrates
Why this release matters
The old cmd-android branch focused mainly on command execution.
libterm expands that model into a real terminal session abstraction, making it practical to build features that need persistent shells, interactive input, streamed output, and privilege-specific backends behind one API.
Notes
- The old deprecated implementation has been moved to the
cmd-androidbranch - The default project surface is now
libterm - This release is published as
v1-0.1