Releases: kingb/ember
Release list
Ember 0.3.1
Ember 0.3.1 keeps the campfire honest: the default spark animation now pauses
itself whenever you are not actually watching it.
Added
- Ember sparks guardrails. The sparks switch is now a three-way dial,
sparks = "off" | "focused" | "always"(defaultfocused), cycled from
the Settings overlay.focusedanimates sparks only in the window you are
actually looking at; unfocused windows keep their sparks visible but hold
still until you switch back. Old configs withember_sparks = true/false
still load, mapped tofocused/off. Two system signals also pause the
animation automatically on macOS: Low Power Mode turns sparks fully off,
and Reduce Motion freezes them without hiding them, regardless of the dial.
With these in place, the default campfire costs about 2% of one core in the
one window you are looking at, and nothing anywhere else: unfocused windows,
hidden windows, Low Power Mode, and Reduce Motion all read zero.
Install
brew install --cask kingb/ember/ember # macOS
brew install kingb/ember/ember # LinuxFull changelog: https://github.com/kingb/ember/blob/main/CHANGELOG.md
Ember 0.3.0
Ember 0.3.0: multiple windows, drag anything anywhere, and the campfire is lit by default.
Added
- Multiple windows. Open new windows (Cmd+N on macOS, Ctrl+Shift+N on Linux),
and move terminal surfaces freely between them: promote a split pane to its
own tab or window, move tabs to another window, and merge a tab back into
another as a split. Shells keep running through every move. - Drag tabs and panes between windows. Tear a tab off the strip, or drag a
pane: edges of a target pane split it, the center adds a tab, and empty
desktop makes a new window right there. While you carry a surface it becomes
a wisp, a small ember that rides the pointer. Escape cancels any drag. - Hold to wisp. Press and hold on any pane and a small ring draws itself
closed around your cursor; when it completes, the pane is swept into the
wisp and you are carrying it, no keyboard involved. - External tools can now find and jump to tabs and windows through the
control surface and MCP (per-tab state, focus by title, window raising).
Changed
- The campfire is now fully lit by default: a fresh install opens with the
warm gradient and drifting ember sparks. The sparks render as short glowing
trails (velocity-stretched motion blur), which keeps the drift smooth at
the gentle default of 15 frames per second. Tune or disable it in Settings;
automatic pauses on unfocused windows, on battery, and under Reduce Motion
arrive in the next patch release. - In
ctl state, thetabsfield changed from a count to a per-tab array.
Fixed
- Linux keyboard shortcuts no longer fight the GNOME shell: conventional
Ctrl+Shift/Alt chords now work everywhere, and the shortcuts overlay shows
the bindings that work on your platform. - A plain click now clears the selection, like other terminals.
Install
brew install --cask kingb/ember/ember # macOS
brew install kingb/ember/ember # LinuxBenchmarks (default configuration: sparks at 15fps with trails; Apple Silicon MacBook, quiet machine, 30s idle, 2 alternating passes — protocol)
| Scenario | CPU | GPU |
|---|---|---|
| Default campfire, window visible | 2.13% / 2.37% of one core | ~15–20 mW |
| Window occluded | 0% | 0% |
| Sparks off (gradient only) | ~0.05% | ~10 mW static |
The default look costs about as much as a background browser tab while you
can see it, and nothing when you can't.
Full changelog: https://github.com/kingb/ember/blob/main/CHANGELOG.md
Ember v0.2.1
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
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 # LinuxmacOS 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
[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.