Skip to content

Releases: toppk/revenant

Revenant 0.8.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 13:08
Immutable release. Only release title and notes can be modified.

Highlights

Text-emoji rendering repairs, synchronized-output and selection fixes, and a focused xterm-411 compatibility update for titles, window reports, geometry, and shell startup. This release tracks a pinned libghostty development commit; it does not wait for Ghostty 1.4.0.

Changes

Released 2026-09-23. Full history in CHANGELOG.md.

Features

  • Render and fit monochrome text emoji through a dedicated faceNameEmojiText role, with bounded presentation-aware fallback discovery. Explicit font precedence and committed cell widths are preserved; drawing stays inside the assigned cells. (0a7e03c, e80d8bb)
  • Update Unicode tables and the pinned libghostty backend together to Unicode 18.0. This release uses development revision 27e8b3fa85d9cf8c7cd5ae2ced348bcb0a4fba9c, ahead of Ghostty 1.4.0. New emoji still require installed fonts with coverage; the pinned fixtures do not supply Unicode 18 emoji artwork. (0087b61)
  • Add -hold/+hold and the hold resource to retain the window and its final output after the child exits. Held windows continue to repaint, reap late-exiting children, and discard further keyboard input. (0de64fe)
  • Add -ls/+ls and the loginShell resource. Shell selection and login-shell argv follow the measured xterm-411 behavior; explicit -e commands retain their existing invocation semantics. (160c02d)
  • Add UTF-8 window and icon title properties, the utf8Title resource, and set-utf8-title action. Title changes and stack restoration update or remove EWMH properties according to locale and policy. Backend limitations, including OSC 1 delivery and raw-byte title parsing, remain documented. (712f7b7)
  • Add sameName with -samename/+samename, title and color permission actions, and allowSendEvents policy interactions. Repeated title requests can be suppressed; configured permissions, effective permissions, and menu sensitivity follow the measured xterm rules. This does not add synthetic-input filtering. (156b4f2)

Bug fixes

  • Capture the completed visible frame at synchronized-output hold boundaries, including transitions within one parser batch. Reverse video, dynamic colors, and cursor visibility/style parsed during a hold stay hidden until release. (0087b61)
  • Decode incoming X selections by their declared type, including COMPOUND_TEXT and Latin-1 STRING, for paste and OSC 52 reads. Unsupported types fall back to STRING; unsupported INCR transfers remain explicitly unavailable. Stalled-reader tests verify complete large OSC 52 replies. (0087b61)
  • Reserve closed standard descriptors before opening X or the PTY, and stop startup if reservation fails. This prevents warnings from being written into a connection that reused stderr. (0087b61)
  • Send wheel presses without wheel-release reports and keep selection drags active across wheel scrolling. Local scrolling updates the selection under the pointer. Alternate-scroll mode 1007 remains unimplemented. (0087b61)
  • Incorporate backend fixes for ANSI DECRQM replies and exact mode-number reporting through the supported 16-bit range, preventing high mode numbers from aliasing smaller ones. (0087b61)
  • Gate CSI 14/16/18 window-size reports through Window Ops policy while preserving unsolicited mode 2048 reports. Apply the allowSendEvents interaction to the blanket Window Ops permission and its menu sensitivity. (0de64fe)
  • Interpret startup geometry dimensions as columns and rows, compute negative offsets from the resulting window size, and preserve user size, position, and gravity hints. Single-offset forms and zero-sized requests now have measured, tested behavior. (783c280)

Other

  • Explain configured emoji font roles, Fontconfig substitutions, monochrome coverage, and routing misses in welcome and diagnostic output. Keep candidate matching distinct from the font that actually served an atom. (bd0bcf5)
  • Expand deterministic coverage for styled emoji fitting, whole-sequence fallback, reload/rollback painting, Unicode data provenance, and scoped font coverage. Automated routing and containment evidence remains separate from human legibility assessment. (e0c20d4, 0bdf234, 5198427, 050e027, 0087b61)
  • Expand native probes and TDN mappings for emoji artwork, mode queries, synchronized-output boundaries, clipboard behavior, drag scrolling, title and color policies, window reports, hold, and login-shell startup. (de5fac0, 89c0f89, 156b4f2, 0de64fe, 712f7b7, 160c02d)
  • Add validation-only package builds tied to an exact source SHA, five-artifact manifests, native prerelease version ordering, and draft-first release preparation. Fix fortified-build logging and Ubuntu shell/dependency assumptions exposed by hosted validation. (f305a2c, ede0588)

Artifacts

File Size Notes
release-manifest.json 1.1 KiB
revenant-0.8.0-1-x86_64.pkg.tar.zst 1.3 MiB Arch Linux package; sudo pacman -U ./revenant-0.8.0-1-x86_64.pkg.tar.zst
revenant-0.8.0-1.fc44.x86_64.rpm 1.2 MiB Fedora package; sudo dnf install ./revenant-0.8.0-1.fc44.x86_64.rpm
revenant-0.8.0-linux-aarch64.tar.gz 1.2 MiB Linux aarch64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant-0.8.0-linux-x86_64.tar.gz 1.2 MiB Linux x86_64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant_0.8.0-1_amd64.deb 1.1 MiB Debian/Ubuntu package; sudo apt install ./revenant_0.8.0-1_amd64.deb

SHA-256:

b77931a087f93238c7b028704f88bb713c1e9a788ec2121cb062b982a5bde680  release-manifest.json
d1fc2a3d9b1797293f297c6d9d5d973cb59ab81c0593c42010af949077045221  revenant-0.8.0-1-x86_64.pkg.tar.zst
15aab2655bb668b7b09e85b84c1339a07ea7c9b9283138d3255e4c72bc3f7631  revenant-0.8.0-1.fc44.x86_64.rpm
e782f903c8040c342da10b014b371576d107413e777f83a2007a693081a45513  revenant-0.8.0-linux-aarch64.tar.gz
4ff9e6145d3459a3c03f1b7ac1e2982cf190c522bbe9618419b93101ce6c901c  revenant-0.8.0-linux-x86_64.tar.gz
65d1d6a41fc32fe7dcd6f2dc59f91202f00a3233ade6404a8e54ebf6fa2df716  revenant_0.8.0-1_amd64.deb

CPU floor: x86_64 builds target x86_64-v3 (AVX2 — Intel Haswell 2013+, AMD Zen 2019+); aarch64 builds target generic ARMv8. Older CPUs fail with an illegal-instruction error; open an issue if that affects you.

Each file carries a signed build provenance attestation from the workflow run; verify a download with gh attestation verify FILE --repo toppk/revenant.

All builds link the pinned libghostty-vt from tools/fetch-libghostty and were built by the Release workflow.

Revenant 0.7.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 05:17

Highlights

A broad daily-driver release: application notifications and progress, interactive scrollback search, shell-aware navigation and output piping, modern color and title controls, audited identity, and seamless procedural terminal graphics.

Changes

Released 2026-09-14. Full history in CHANGELOG.md.

Features

  • Deliver OSC 9 and OSC 777 notifications to the desktop. Builds with libnotify, which release packages require, now show an unfocused terminal's notification requests through the desktop's notification service, with the application icon and the program name standing in for a missing title. Titles and bodies are passed as data: invalid UTF-8 and control bytes are replaced, markup is escaped, and they are cut at 256 and 1024 bytes. At most five notifications are attempted in ten seconds, a failed delivery pauses attempts for five seconds, and delivery recovers once a notification service is available again. Requests made while the terminal is focused are only logged, delivery never blocks the terminal, and the existing WM urgency hint is unchanged. -report-config states whether libnotify was compiled in and whether a notification service answers. (dd6d15d, 9e0c8ca, 9dfa887)
  • Show application progress. OSC 9;4 reports, as sent by tools such as build systems and package managers, now draw a small bar in the top-right corner of the terminal: normal progress in the foreground color, errors in red and paused work in amber, both keeping the last percentage when the application omits one, and indeterminate work as a moving block. Values above 100 show a full bar. Clearing the report, a full reset or the program exiting removes the bar. It never changes the window title, the title stack or title reports, needs no Window Ops permission and is independent of notifications. (e01f7b9, efa1b9b)
  • Search the scrollback. Ctrl+Shift+F, or the new start-search() action, opens a search bar over the bottom of the window. Typing finds the literal text across soft-wrapped lines as you type, highlights every visible match and scrolls to the nearest one above the view; Up and Down (or Shift+F3 and F3) move to older and newer matches, wrapping at the ends. Enter copies the active match to PRIMARY with its wraps joined and closes the bar, and Escape closes it and returns to where the search started. While the bar is open every key belongs to it, output keeps the view on the same text, and results stay those of the text present when the query was typed. (f81f108, a92e5a1, 3c1d664, 0552f1c)
  • Flash text after copying it. The new copyFlashDuration resource, in milliseconds and 0 (off) by default, briefly marks the cells a selection gesture has just copied to PRIMARY or CLIPBOARD. copyFlashColor paints them on a chosen color; without it they show their unselected colors for the flash. The copied bytes and selection ownership are unchanged. A new selection, another client taking the selection, or an application replacing it ends the flash at once, a repeated copy starts a new one, application OSC 52 writes never flash, and a synchronized-output batch never shows a partial flash. (8fac827, dcf46b9)
  • Draw box-drawing and block-element characters from the cell geometry. U+2500 through U+259F are rasterized as exact rectangles inside their own cell, so lines, corners, tees, double lines, dashes, arcs, diagonals, half and eighth blocks, quadrants and shades join pixel-for-pixel with their neighbors at every font size, in bold, under inverse video and selection, and never spill into the next cell. With Xft the primary face keeps its own glyphs and the procedural drawing is used only for characters the face lacks; the bitmap path, which previously showed ?, always draws them. The new forceBoxChars resource (+fbx on, -fbx off), the font menu's Procedural Glyphs entry, and the set-font-linedrawing() action force the procedural drawing for the whole range, and switching it off returns to the font's glyphs immediately. Every key is now decided one event-loop tick after Xt dispatches it, so a key bound to any local action, not only the default prompt gestures, is kept from the application together with its release. (7421d5b, 4b7af26, 83204b0)
  • Draw braille and Powerline separators from the cell geometry. Every braille pattern, U+2800 through U+28FF, is drawn as equal square dots in two columns of four, and U+E0B0 through U+E0BF, the Powerline arrows, half circles, slants and their thin outlines, span the full cell height so segments meet their neighbors' colors without a seam. They follow the box-drawing rules: Xft keeps the primary face's own glyphs, the bitmap path and forceBoxChars always draw them, and bold, inverse video, selection and the block cursor color them like text. Other Powerline and Nerd Font symbols, such as the branch icon U+E0A0, stay with the font, as does braille in a cell too narrow for a visible dot. (aefafe6, e7b3d91)
  • Extend procedural drawing to DEC scan lines, terminal corner triangles, Powerline flame separators U+E0D2/U+E0D4, Symbols for Legacy Computing, and the selected Unicode 16 Legacy Computing Supplement ranges used for separated quadrants and sextants, circle pieces, octants, and sixteenth blocks. They share the box-drawing routing and switch. U+1FB93, unrelated symbols, and private-use additions stay with the font. (d4941b5, 152469c)
  • Pipe the last command's output to a helper. The new pipeCommandOutput resource names a shell command, unset by default, and the new pipe-command-output() action (Ctrl+Shift+G) finds the most recently completed prompt through its OSC 133 marks, extracts exactly that command's output with wrapped lines joined and Unicode intact, and writes it to the helper's standard input from the event loop without blocking. The helper runs in the directory the shell last reported with OSC 7 when one is known. Output is data only: nothing in it is ever executed. An unset resource, a command that wrote nothing, a helper that stops reading, and exiting while the helper still runs are all handled and logged. (1f99bd0, b4e798f, 7c7fd93)
  • Navigate between shell prompts. Ctrl+Shift+Up and Ctrl+Shift+Down run the new previous-prompt() and next-prompt() translation actions, which move the viewport to the start of the previous or next prompt that a shell has marked with OSC 133, through scrollback, across wrapped and continuation prompt lines, and after resize reflow. A prompt inside the live area keeps the live view, a screen without history (the alternate screen) does nothing, and both actions accept a repeat count. Prompt positions come from an index of OSC 133 marks, so a deep history without prompts costs nothing to search. Binding the keys to xterm's insert-seven-bit() restores their delivery to applications. The backend also exposes the core's cell-exact command-output selection and its text for later output extraction. (75abb48, 0df3987)
  • Raise the X11 urgency hint for application notifications. An OSC 9 or OSC 777 notify request that arrives while the window is unfocused sets XUrgencyHint in WM_HINTS, leaving every other hint field alone, and the next focus-in clears it; a request while focused only logs. Title and body are recorded in the -debug log. No desktop notification is delivered, no permission setting applies, and no D-Bus or helper process is involved. (87fdc41, 2b8d4ba)
  • Log unsupported Application Program Commands. Every completed APC that libghostty does not implement (anything other than Kitty graphics and the glyph protocol) is recorded under -debug as unknown APC ignored with up to 256 payload bytes and a truncation flag; nothing is answered and surrounding output is unaffected. Unsupported OSC and CSI controls are still not visible, which remains an upstream libghos...
Read more

Revenant 0.6.1

Choose a tag to compare

@github-actions github-actions released this 07 Sep 02:26

Highlights

A focused patch release: opacity can now be adjusted from Revenant's default opaque start whenever the X server and compositor support transparency.

Changes

Released 2026-09-06. Full history in CHANGELOG.md.

Bug fixes

  • Select a compositor-backed ARGB visual independently of the initial opacity, so the Main Options slider remains usable at 100%; visibly grey it out only when transparency is unavailable or explicitly disabled with backgroundOpacity: disabled or -opacity disabled. (c4218a3)

Artifacts

File Size Notes
revenant-0.6.1-1-x86_64.pkg.tar.zst 1.1 MiB Arch Linux package; sudo pacman -U ./revenant-0.6.1-1-x86_64.pkg.tar.zst
revenant-0.6.1-1.fc44.x86_64.rpm 1.1 MiB Fedora package; sudo dnf install ./revenant-0.6.1-1.fc44.x86_64.rpm
revenant-0.6.1-linux-aarch64.tar.gz 1.0 MiB Linux aarch64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant-0.6.1-linux-x86_64.tar.gz 1.0 MiB Linux x86_64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant_0.6.1-1_amd64.deb 1014.1 KiB Debian/Ubuntu package; sudo apt install ./revenant_0.6.1-1_amd64.deb

SHA-256:

3461cf89205129eed2587e3127dc77ea0821a77ae3bbbf906cdd60910de011ab  revenant-0.6.1-1-x86_64.pkg.tar.zst
3c202bccac8fa13497e005264d9157542d08c93757afdba4250be4bce63a12d9  revenant-0.6.1-1.fc44.x86_64.rpm
60417f1eb63b7de406747ee030794b9d27df08903cbb4d5c10e0f26762847672  revenant-0.6.1-linux-aarch64.tar.gz
a6e9e600e2466f1d5e7e59bfc00aa8f9c9f52ab0486448e855ee7265881f30c5  revenant-0.6.1-linux-x86_64.tar.gz
df8ea762b407f51664db6c458f564a88c3e6b055e1603c64dff54859385fcd4b  revenant_0.6.1-1_amd64.deb

CPU floor: x86_64 builds target x86_64-v3 (AVX2 — Intel Haswell 2013+, AMD Zen 2019+); aarch64 builds target generic ARMv8. Older CPUs fail with an illegal-instruction error; open an issue if that affects you.

Each file carries a signed build provenance attestation from the workflow run; verify a download with gh attestation verify FILE --repo toppk/revenant.

All builds link the pinned libghostty-vt from tools/fetch-libghostty and were built by the Release workflow.

Revenant 0.6.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 18:02

Highlights

A smaller quality-of-life release: visible HTTP(S) text is now actionable, and Shift-hover makes terminal hyperlinks easier to find and distinguish.

Changes

Released 2026-09-06. Full history in CHANGELOG.md.

Features

  • Detect visible HTTP and HTTPS URLs across soft-wrapped rows and open them through the existing Shift+Button-1 hyperlink gesture, excluding trailing sentence punctuation and preserving explicit OSC 8 precedence. (3e472b0)
  • Give Shift-hovered OSC 8 and detected links a hand pointer and a visible underline transition: unstyled links become single-underlined, while application single underlines become double-underlined. (5f9255e)

Bug fixes

  • Keep Shift-hover feedback on the individual OSC 8 label when multiple visible labels point to the same destination. (5f9255e)

Artifacts

File Size Notes
revenant-0.6.0-1-x86_64.pkg.tar.zst 1.1 MiB Arch Linux package; sudo pacman -U ./revenant-0.6.0-1-x86_64.pkg.tar.zst
revenant-0.6.0-1.fc44.x86_64.rpm 1.0 MiB Fedora package; sudo dnf install ./revenant-0.6.0-1.fc44.x86_64.rpm
revenant-0.6.0-linux-aarch64.tar.gz 1.0 MiB Linux aarch64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant-0.6.0-linux-x86_64.tar.gz 1.0 MiB Linux x86_64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant_0.6.0-1_amd64.deb 1014.2 KiB Debian/Ubuntu package; sudo apt install ./revenant_0.6.0-1_amd64.deb

SHA-256:

2a01d04b75ce5f6106774cf58477020fb113aa598d121663c91fee3736d4e9b3  revenant-0.6.0-1-x86_64.pkg.tar.zst
78f024ef5842c0bb01d724aaac06f44b82213f48369ccab99fdfe80ea908f971  revenant-0.6.0-1.fc44.x86_64.rpm
319f710b31ab97f2b413a28d470001c98a9b46f1ae104adaf6b2f2167787883a  revenant-0.6.0-linux-aarch64.tar.gz
0dcdb38db5f31490eb2d1925233184c9bf2ddc6425670512b6070fb747448f65  revenant-0.6.0-linux-x86_64.tar.gz
f570f664017ce17044de0aafa383f61009eb7f6030b435eb218b19b027eb98ae  revenant_0.6.0-1_amd64.deb

CPU floor: x86_64 builds target x86_64-v3 (AVX2 — Intel Haswell 2013+, AMD Zen 2019+); aarch64 builds target generic ARMv8. Older CPUs fail with an illegal-instruction error; open an issue if that affects you.

Each file carries a signed build provenance attestation from the workflow run; verify a download with gh attestation verify FILE --repo toppk/revenant.

All builds link the pinned libghostty-vt from tools/fetch-libghostty and were built by the Release workflow.

Revenant 0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 01:41

Highlights

Fonts resolve through xterm's complete fallback chain, the cursor and ANSI palette follow xterm's resources, the command line parses like xterm's, and release builds become reproducible with Arch packaging and an offline setup audit for a readable first run.

Changes

Released 2026-09-02. Full history in CHANGELOG.md.

Features

  • Resolve fonts through shaped primary, semantic, explicit, user, and system fallback roles with real same-family styles, Han and IVS routing, deterministic tofu, metric normalization, route caching and reporting, and transactional reloads. (2b4d1ba, 67077fb)
  • Follow xterm's cursor-blink policy: the four-value cursorBlink resource, cursorBlinkXOR, -/+bc, the VT Options toggle, and application blink requests through DECSCUSR. (8d214bc)
  • Configure the ANSI palette from color0 through color15 with xterm's compiled defaults, and accept OSC 4 and OSC 104 palette operations by default. (af03695)
  • Parse the command line like xterm: unambiguous option prefixes, rejection of unknown options before the display opens, xterm's -help and -version wording, plus GNU-style --help and --version. (156f3e5, bc27724)
  • Install a revenant(1) manual page and present the documentation site as an xman-style manual that shares the same action and resource reference. (d73e90f, a253f0c, b5455b9, 6a01a36)
  • Publish an Arch Linux package alongside the tarballs, Debian package, and Fedora RPM. (3a57611)
  • Add -welcome, a read-only audit of X resources, display readability, installed fonts and tools, with distribution-aware setup suggestions and a redacted support summary. (dd462b4)
  • Set TERM_PROGRAM and TERM_PROGRAM_VERSION in child sessions so diagnostics can identify when Revenant is the host terminal. (dd462b4)

Bug fixes

  • Drain a bounded burst of available PTY output and paint once, so a rapid-update refresh split by the kernel no longer flashes between erased and replaced content. (3ea6f39, 670b3a6)
  • Render faint text at two-thirds intensity and promote bold foreground colors 0 through 7 to 8 through 15 as xterm does; boldColors and -/+pc control the promotion. (93852d9)
  • Keep a client-created ARGB colormap alive while display shutdown flushes Xt's cached color converters, avoiding BadColor when a report exits without realizing a window. (dd462b4)
  • Build libghostty for explicit x86_64-linux-gnu/x86_64-v3 and aarch64-linux-gnu/baseline targets. Earlier releases could contain instructions unsupported on older CPUs; the install guide and every release body now state the supported CPU floor. (3a57611)

Other

  • Pin Ghostty to one exact commit, rebuild it only when its inputs change, and share a Zig cache keyed by target, CPU, Zig version, Ghostty commit, build script, and runner CPU model across packages of the same architecture. (3a57611)
  • Require every tarball, Debian, RPM, and Arch build to run the complete Xvfb and font-fixture suite without skips. (3a57611, 62f6d06)
  • Stage and cache the pinned font fixtures once, require every builder to restore that exact cache entry, and remove the staging toolchain from package builders. (3a57611)
  • Validate changelog release notes before starting builds and let intermediate package artifacts expire after one day. (3a57611)
  • Enforce the internal xterm+ naming boundary across sources, tests, tools, and packaging with a branding check. (c4d9150)
  • Isolate font-universe types, extract the font routing lifecycle, centralize role policy and Unicode routing helpers, and move Ghostty selection policy behind a private backend header to prepare the terminal boundary for multiplexing. (3b150c8, e0e0b22, 379c725, 955f3c7, df3de1a, 1a3f4f8, 40d4e56)
  • Share Xvfb harness setup across the font and keyboard suites, guard font routing diagnostics, and add a pixel-level bitmap regression for renderFont: false. (9cc6a6d, ed4e40b, 379c725)
  • Document installation, CPU requirements, release provenance, and local package construction, and lead every entry page with the xterm-defaults caveat and revenant -welcome. (3a57611, 172d1e8)

Artifacts

File Size Notes
revenant-0.5.0-1-x86_64.pkg.tar.zst 1.1 MiB Arch Linux package; sudo pacman -U ./revenant-0.5.0-1-x86_64.pkg.tar.zst
revenant-0.5.0-1.fc44.x86_64.rpm 1.0 MiB Fedora package; sudo dnf install ./revenant-0.5.0-1.fc44.x86_64.rpm
revenant-0.5.0-linux-aarch64.tar.gz 1.0 MiB Linux aarch64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant-0.5.0-linux-x86_64.tar.gz 1.0 MiB Linux x86_64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant_0.5.0-1_amd64.deb 1009.4 KiB Debian/Ubuntu package; sudo apt install ./revenant_0.5.0-1_amd64.deb

SHA-256:

f5e972e80e51a45172421999e9e86922f81b375bfa334069d1057a9b41ee60d9  revenant-0.5.0-1-x86_64.pkg.tar.zst
4272f6840a632e01fd460ba9d7bfe9d31b6575f4d6aa75cef46f08a63f37d262  revenant-0.5.0-1.fc44.x86_64.rpm
ae6d78359ee660b6b9b27321c69c5658eb377e436168239fa138bf395cd58ce6  revenant-0.5.0-linux-aarch64.tar.gz
9b90746d09aec23daf3bcd359476bcf8ff122d53b3dc25f0765eca71c8f684d7  revenant-0.5.0-linux-x86_64.tar.gz
aaa9abae3387baf16fab42fb214548c647639bccb0d7295c11e5cb22151fdf7d  revenant_0.5.0-1_amd64.deb

CPU floor: x86_64 builds target x86_64-v3 (AVX2 — Intel Haswell 2013+, AMD Zen 2019+); aarch64 builds target generic ARMv8. Older CPUs fail with an illegal-instruction error; open an issue if that affects you.

Each file carries a signed build provenance attestation from the workflow run; verify a download with gh attestation verify FILE --repo toppk/revenant.

All builds link the pinned libghostty-vt from tools/fetch-libghostty and were built by the Release workflow.

Revenant 0.4.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 17:45

Highlights

Emoji gain dedicated color-font routing and HarfBuzz shaping, with reproducible fixtures guarding every supported font format.

Changes

Released 2026-08-29. Full history in CHANGELOG.md.

Features

  • Route emoji through a dedicated face and render color glyphs from CBDT, COLRv0, COLRv1, SVGinOT, and sbix fonts. (49a6ea0)
  • Shape complete grapheme clusters with HarfBuzz and fall through atomically when a face cannot compose a modifier, keycap, flag, or ZWJ sequence. (1aca6ff)
  • Add negotiated Unicode grapheme widths through DEC private mode 2027 while retaining xterm-compatible legacy widths by default. (1aca6ff)
  • Default logging to warnings; -log selects the severity and xterm's -/+debug aliases remain available. (3e5eade)

Bug fixes

  • Honor an embedded faceName:size= value with the same precedence and font menu behavior as xterm. (0ba409d)

Other

  • Add an isolated, reproducible font-format matrix and real-ink Xvfb tests for routing, shaping, clipping, and fallback. (662d6e8)
  • Add changelog-driven release notes with commit-traceability checks, artifact sizes, and SHA-256 hashes. (d0b43fd)
  • Run the font fixture and Xvfb suites in release builds, pin their tooling, freeze libghostty to one tested commit, and make the synthetic sbix fixture independent of the host zlib. (d0b43fd)
  • Sign every release asset with a build-provenance attestation and streamline Debian packaging by omitting unused .buildinfo generation. (d0b43fd)
  • Document the Revenant identity, release installation, and provenance verification. (2ef00e0, d0b43fd)

Artifacts

File Size Notes
revenant-0.4.0-1.fc44.x86_64.rpm 1.0 MiB Fedora package; sudo dnf install ./revenant-0.4.0-1.fc44.x86_64.rpm
revenant-0.4.0-linux-aarch64.tar.gz 928.0 KiB Linux aarch64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant-0.4.0-linux-x86_64.tar.gz 1013.5 KiB Linux x86_64 binary archive (dynamically linked): stripped revenant, xterm+ symlink, README, licenses
revenant_0.4.0-1_amd64.deb 968.0 KiB Debian/Ubuntu package; sudo apt install ./revenant_0.4.0-1_amd64.deb

SHA-256:

bc1a68462c2a2b2e929ebe039dd6cc533721772c23b3fdd004bb6653206bb1b2  revenant-0.4.0-1.fc44.x86_64.rpm
c4f8f5e5642e1c12cd8e484a306a02044a904d6f12c37fe7539cd34f2573e753  revenant-0.4.0-linux-aarch64.tar.gz
e1939df7cb0a47ea5831a73d545a9d03e318b57b92743b5f0e71a8662aceed48  revenant-0.4.0-linux-x86_64.tar.gz
5004523f311cdf7fd480f86f07fc3a3d8e21a4cbaf8caec5ae1dd91311d9934f  revenant_0.4.0-1_amd64.deb

Each file carries a signed build provenance attestation from the workflow run; verify a download with gh attestation verify FILE --repo toppk/revenant.

All builds link the pinned libghostty-vt from tools/fetch-libghostty and were built by the Release workflow.

Revenant 0.3.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 07:25
v0.3.0

Implement reverse video rendering

xterm+ 0.2.0

Choose a tag to compare

@github-actions github-actions released this 28 Aug 05:04
v0.2.0

Keep outer DESTDIR out of libghostty build

xterm+ 0.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Aug 04:33
v0.1.0

initial commit