Skip to content

Revenant 0.8.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 13:08
· 1 commit to master since this release
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.