Skip to content

Releases: codr1/termium

Termium v0.2.4 — macOS installer graphics detection

Choose a tag to compare

@github-actions github-actions released this 29 Sep 13:49
8fdfb17

Termium v0.2.4

Fix graphics detection when the macOS installer automatically launches Termium,
or when launching with input redirected from /dev/tty.

The installer reopens terminal input because its script arrives through a pipe.
On macOS, poll() reports that reopened device as invalid, causing an immediate
fallback to ASCII graphics. Increasing the timeout in v0.2.3 did not address this
failure. Terminal queries now use select(), which supports the device; the
one-second graphics probe deadlines remain.

Debug logs now record graphics probe errors and the automatically selected
renderer. Regression tests exercise direct launch, /dev/tty redirection, and
the installer's pipe-and-launch handoff, including delayed responses and ASCII
fallback when no graphics protocol responds.

Close Termium, then update:

curl -fsSL https://termium.dev/install | bash

After quitting, termium --version should report v0.2.4.

Termium v0.2.3 — graphics detection startup timeout

Choose a tag to compare

@github-actions github-actions released this 29 Sep 13:13
97b14c5

Termium v0.2.3

Graphics auto-detection now allows one second per Kitty or Sixel probe instead
of 200 milliseconds. This gives terminals more time to respond during startup,
addressing a suspected cause of ASCII fallback on the installer-launched first
session in Ghostty on macOS. Confirmation on the affected Mac is still needed.

Detection returns immediately when a response arrives. A terminal that does not
answer either probe can take up to two seconds before falling back to ASCII
graphics. Explicit renderer selection is unchanged.

Close Termium, then update:

curl -fsSL https://termium.dev/install | bash

Check the installed release:

termium --version

Termium v0.2.2 — capture recovery and clean shutdown

Choose a tag to compare

@github-actions github-actions released this 28 Sep 15:52
1de1237

Termium v0.2.2

This patch release improves recovery from screenshot errors and cleans up owned
browser processes when a terminal closes.

  • Retry an inactive-page screenshot error once on a fresh capture session.
    Persistent failures remain visible; input is never replayed.
  • Handle terminal hangup through normal shutdown, stopping the owned server and
    browser. Regression tests exercise both SIGHUP and closing the terminal PTY.
  • Include the lock path in installer contention errors and distinguish those
    from other locking failures. The demo rig's earlier unexplained busy-lock
    incident remains unresolved; this release improves its diagnostics.
  • Document xterm's tested Sixel configuration and installer-lock troubleshooting.

The demo rig retracted its earlier keyboard-loss diagnosis: its virtual-keyboard
injection was dropping keys before Termium received them. Input diagnostics
remain available. See the corrected findings.

Install or update

Close existing Termium sessions, then run:

curl -fsSL https://termium.dev/install | bash
termium --version

The installed command should report v0.2.2. Packages support Linux x86-64
(including WSL2), macOS Apple Silicon, and macOS Intel. Native Windows builds,
dark-mode selection, and the experimental CEF backend are not part of this release.

Validation

Native Linux, Apple Silicon, and Intel Mac test suites and package-install checks passed. Archive checksums, embedded version/commit, and an isolated Linux upgrade preserving homepage and shell settings were verified. Release workflow.

During preparation, a native-scroll test assumption was corrected in PR #27. The final-tag Intel Mac job needed one rerun after a website-test timeout; its rerun passed with unchanged source and assertions.

Termium v0.2.1 — keyboard fixes and diagnostics

Choose a tag to compare

@github-actions github-actions released this 28 Sep 11:59
1ff761c

A maintenance release fixing macOS page-scrolling keys and improving keyboard diagnostics.

  • Fixed unmodified PageDown and PageUp in headless Chromium on macOS by supplying the native scrolling commands alongside keyboard events. Page handlers can still cancel their default action.
  • --debug --logfile PATH now traces input receipt, queueing, cancellation, dispatch, and results. Browser traces include tab/document generations and the keyboard CDP session ID. The new trace points omit typed and pasted text contents.
  • Added a 30-second integration test covering Vimium and native-key scrolling while autoplay video and screenshot capture continue.
  • Added tests for error propagation, continued queue operation after a rejected key, and trace correlation.

The reported scripted key loss was reproduced before Termium's terminal input boundary and corrected in the separate recording harness by retaining one virtual keyboard per script. This release does not claim to fix a Chromium session-disconnection issue; the reported “Not attached to an active page” error was not reproduced.

Install or update using the same command:

curl -fsSL https://termium.dev/install | bash

Native archives are available for Linux x86-64 (also under WSL2), macOS Apple Silicon, and macOS Intel. Chromium and Vimium are downloaded and verified automatically during installation. Native Windows builds remain future work.

Termium v0.2.0 — capture and rendering improvements

Choose a tag to compare

@github-actions github-actions released this 28 Sep 08:06
4ba5020

Termium v0.2.0 — capture and rendering improvements

Capture and rendering improvements, bounded frame reuse, and reliable welcome-page fonts.

Changes since v0.1.1

  • Reuse a dedicated browser capture session, remove repeated tab/history discovery from the screenshot path, and skip unchanged viewport updates. Toolbar metadata continues to refresh independently.
  • Reduce Sixel band work with exact pixel comparisons, retained short-band scratch storage, and pixel-only encoding that avoids generating and discarding a palette for every dirty band.
  • Reuse four bounded frame arenas across Kitty, Sixel and ASCII graphics. Published frames retain ownership until released; newer pending frames replace obsolete work. This reduces allocation traffic while retaining more memory.
  • Preserve bundled welcome-page fonts and monospaced logo spacing, including the offline fallback. Avoid displaying the logo before its fonts are ready.
  • Add repeatable local performance benchmarks, opt-in CPU/allocation and pipeline diagnostics, and recorded viewport-scaling evidence. Fix the benchmark patch animation's sampling-aliasing failure.
  • Clarify Windows WSL2 usage with Windows Terminal and document terminal graphics capabilities.

Performance depends on viewport, page and terminal. Measurements show benefits and tradeoffs, not a universal FPS multiplier: retained memory increases, and some measured latency/throughput results remain mixed. See OPTIMUS for the workload-specific evidence.

Install or update

Close running Termium sessions, then run:

curl -fsSL https://termium.dev/install | bash

This installs the latest published release. Check the installed version with termium --version (or ~/.local/bin/termium --version).

Native archives target Linux x86-64, macOS Apple Silicon and macOS Intel. Windows WSL2 uses the Linux archive; this is not a native Windows build. Chromium and Vimium are downloaded and verified during installation. Platform requirements apply.

Research deferred until after this release

CDP streaming, acknowledgement pacing, raw bitmap capture, Electron/CEF experiments and capture-resolution upscaling are not enabled in the application. The research record explains complete-image CDP payloads, the standalone measurements, and the next experiments. The screenshot capture path and current renderer defaults remain in use.

Release qualification and its earlier environment restrictions are recorded in the preparation log. The GitHub release records the final archive and upgrade checks; earlier branch results are not a substitute for validation of the combined source.

Release verification

Published from merge commit 4ba5020f1a9b3880ad201374440a871984b8dae4 after PR #23 passed all six native Test and Package checks.

  • The tagged release workflow passed the full automated suite and benchmark-harness smoke test on Linux x86-64, macOS Apple Silicon and macOS Intel. All three native archives passed packaged installation and browsing without development tools on PATH.
  • All archives and mandatory checksum files were verified, including platform/version/source identity, archive paths, dependency manifests, licenses and offline welcome fonts. Their hashes match the uploaded GitHub assets.
  • An isolated Linux upgrade from v0.1.1 to v0.2.0 passed --doctor with the browser sandbox active. It preserved the custom homepage and shell configuration and retained the previous installation. This does not claim an in-place macOS upgrade test; native macOS package installation was tested in CI.
  • Release qualification corrected two integration-test readiness races (iframe navigation and the enabled Back control), retaining their behavioral assertions.

Download the matching archive and .sha256 asset below for manual installation; the one-command installer selects the platform automatically.

Termium v0.1.1 — graphics pipeline improvements

Choose a tag to compare

@github-actions github-actions released this 08 Sep 18:43
4219b70

Install or update

Close running Termium sessions, then run:

curl -fsSL https://termium.dev/install | bash

The same command installs a fresh copy or updates an existing installation and opens Termium. Chromium and Vimium are downloaded and verified automatically. Saved settings are preserved. Validation failure keeps the previous installation selected.

After quitting, confirm the update with:

termium --version

This release reports v0.1.1. If your current shell does not find the command, use ~/.local/bin/termium --version or open a new terminal.

Changes

  • Kitty graphics now completes Base64 encoding and chunk framing in the preparation worker, keeping that work off the terminal UI thread.
  • Chromium uses faster screenshot encoding. Kitty retains lossless PNG passthrough by default; Sixel retains JPEG capture.
  • Both graphics renderers share terminal output and timing reports. Removed Kitty's extra per-frame disk sync when profiling.
  • Added --capture-format png and --capture-format jpeg for controlled comparisons, with compressed RGB support for Kitty's explicit JPEG mode.
  • Updated the welcome page, mouse keys help, installation guidance, and performance documentation.

Profiling switches and the planned performance run explain how to compare settings. Capture benchmarks are not visible-FPS claims; laptop terminal painting remains to be profiled.

Native archives cover Linux x86-64, macOS Apple Silicon, and macOS Intel. Each archive has a mandatory SHA-256 file. Platform requirements still apply.

Validation

All native test and packaged-installation jobs passed on Linux x86-64, macOS Apple Silicon, and macOS Intel. The release archives were checked for version/source identity, mandatory checksums, dependency manifests, licenses, and safe archive paths. An isolated Linux upgrade from v0.1.0 preserved homepage settings and shell integration, retained the prior version, and passed browser, input, screenshot, and Vimium diagnostics.

Termium — first native release

Choose a tag to compare

@github-actions github-actions released this 07 Sep 20:16

Termium’s first native release brings a real Chromium browser to your terminal on Linux x86-64 and macOS Apple Silicon/Intel.

Install and open

curl -fsSL https://termium.dev/install | bash

Setup downloads and verifies Chromium and Vimium automatically. Node and required Linux browser libraries/fonts are included. No development tools or sudo required. In new terminals, run termium or termium example.com from any directory.

Included

  • Kitty and sixel graphics with automatic detection and an ASCII graphics fallback.
  • Upstream Vimium, real tabs, address/history controls, mouse interaction, and F6 Mouse keys.
  • Inline help and a customizable welcome/home page.
  • Stale-input recovery that never replays a cancelled action on a different page.
  • Verified dependency downloads, cache reuse, and staged upgrades that preserve a working installation on failure.

Requirements and current limits

Linux requires glibc and working unprivileged Chromium sandbox support; the installer checks compatibility. macOS packages are built and installed on native Apple Silicon and Intel CI runners; broader clean-machine/Gatekeeper testing remains open. Native Windows and Linux ARM64 packages are not available. Tabs and profiles do not persist after quitting.

Close Termium sessions and rerun the installer to update. termium --doctor checks browser startup, input, screenshots, and Vimium.

Quickstart · Installation guide · Keyboard and tabs · Report a problem

Termium is licensed under MIT. Third-party components retain their own licenses.