Skip to content

Releases: kingb/ember

Ember v0.2.1

Choose a tag to compare

@kingb kingb released this 06 Jul 17:57

Fixed

  • Ember now launches on Ubuntu 22.04. The 0.2.0 Linux builds were made
    against a newer glibc, which made Homebrew interpose its own C library on
    22.04 hosts; the GPU drivers then failed to load and the app never opened
    a window. Linux builds are now made against Ubuntu 22.04's glibc, so one
    build runs cleanly on 22.04, 24.04, and 26.04, and Ubuntu 22.04 is part
    of continuous testing from now on.

macOS builds unchanged from v0.2.0 (see that release); updated macOS assets land here when the notarization chain re-runs.

Ember 0.2.0

Choose a tag to compare

@kingb kingb released this 06 Jul 16:09

Ember 0.2.0 brings live font settings, clickable URLs, and a warmer default look.

Added

  • Font settings, live from the Settings panel: pick the font family from a
    curated monospace list and set the size (6 to 48pt). Both apply
    immediately, no restart.
  • The Settings panel is organized into Appearance, Terminal, and Developer
    sections, and now also surfaces shell integration and Option-as-Meta.
  • Clickable URLs. Web links in terminal output are subtly underlined; click
    one at the prompt to open it in your browser. Inside mouse-driven apps like
    vim or tmux, hold Cmd (macOS) or Ctrl (Linux) and click.

Changed

  • The warm gradient backdrop is now on by default, so a fresh install opens
    with Ember's signature look. It draws statically and costs nothing while
    idle; the ember sparks animation stays opt-in. Turn the gradient off in
    Settings if you prefer a flat background.
  • The Settings panel re-shapes its text only when something actually
    changes, not on every frame, keeping the app responsive while it is open.

Fixed

  • On Linux, the keyboard shortcuts overlay now shows Super instead of Cmd,
    matching the keys you actually press.
  • The Settings panel no longer misaligns its value column at very large or
    very small terminal font sizes.

Install

brew install --cask kingb/ember/ember    # macOS
brew install kingb/ember/ember           # Linux

macOS builds are signed with a Developer ID and notarized by Apple.
Full changelog: https://github.com/kingb/ember/blob/main/CHANGELOG.md


Benchmarks (v0.2.0 binary, Apple Silicon MacBook, quiet machine, 30s idle × 2 alternating passes — protocol)

Idle CPU Pass 1 Pass 2
flat background 0.03% 0.33%
gradient backdrop (the default) 0.03% 0.07%
gradient + ember sparks 5.83% 5.73%

The default configuration (gradient on, sparks off) idles at the noise floor,
indistinguishable from a flat background: the gradient draws statically and
costs nothing. The opt-in ember sparks animation costs about 5–6% of one core
at its default settings, which is exactly why it is opt-in.

Correction: an earlier version of this table, measured on a machine with
background load, understated the sparks cost (and overstated everything
else). These numbers are from a quiet machine; the methodology notes live in
the protocol.

Ember 0.1.0

Choose a tag to compare

@kingb kingb released this 05 Jul 04:25

[0.1.0] - 2026-07-04

The first release. Ember is a GPU-accelerated terminal built around a
campfire aesthetic, running natively on macOS and Linux.

Ember's birthday release, launched on America's 250th, July 4th, 2026. Happy
Fourth of July. 🎆

Added

  • Split panes and tabs. Split side-by-side or stacked, resize by
    dragging any divider, navigate between panes by direction, drag tabs to
    reorder, rename them inline, and jump straight to a tab by number.
  • Native, GPU-rendered text, including full text attributes (bold,
    italic, underline, strikeout, overline, dim, concealed) and full
    wide-character/CJK rendering.
  • Hand-rasterized box-drawing. Every light, heavy, double, dashed,
    rounded, and diagonal box-drawing glyph is drawn as a real vector shape
    rather than a font glyph, so borders and diagrams stay crisp and
    perfectly joined at any font size or display scale. Cross-checked
    against Alacritty and Ghostty's rendering for the full block.
  • Shell integration. Automatic exit-status markers in the gutter
    (green, red, or amber), jump to the previous or next prompt, and
    cwd-inheriting splits and manual navigable marks when your shell
    supports iTerm2's shell-integration escape codes. Installs itself into
    zsh and bash with no manual setup.
  • Mouse support: text selection (click, word, and line modes) with
    system clipboard copy/paste, bracketed paste, wrapped-line-aware copy,
    a draggable scrollbar, and full mouse reporting (clicks, drags, motion,
    wheel) forwarded to mouse-aware terminal apps.
  • A campfire backdrop with drifting ember sparks, off by default and
    fully configurable (density, frame rate, scrim).
  • A visual bell: an ember flash instead of an audible beep, with a
    bell indicator on background tabs.
  • Settings (Cmd+,), an About page with version and build info, and
    a keyboard shortcuts cheat sheet (Cmd+/).
  • A confirmation prompt before closing a pane or window with a running
    process.
  • Developer Mode (off by default): a control socket and MCP server for
    driving and inspecting a running instance, useful for scripting and
    automated testing.
  • Configurable font family and size, with live zoom (Cmd +/-/0).
  • A macOS Homebrew cask, app bundle, dock icon, and native menu bar.
  • Linux support built and verified on Ubuntu 24.04 and 26.04, x86_64 and
    arm64, on both X11 and Wayland.

Fixed

A handful of hardening fixes worth knowing about, found and fixed before
this first release:

  • A GPU resource leak that could exhaust memory over a long session, and a
    related issue where an occluded or sleeping window would spin the GPU
    allocating frames it never presented.
  • A hairline gap that could appear between adjacent box-drawing cells at
    certain font-size and display-scale combinations.
  • Glyph-advance jitter that made spinners and other rapidly-updating
    symbols appear to twitch.

Security

  • The developer-mode control socket and shell-integration directory are
    created owner-only, use no fixed or predictable paths, and return
    JSON-encoded errors rather than leaking internal state.