Skip to content

Ghosttea 0.13.6

Choose a tag to compare

@github-actions github-actions released this 26 Oct 21:35
· 16 commits to main since this release
v0.13.6
9c11439

Ghosttea is a native Ghostty-powered terminal runtime and desktop experience for Electron applications.

This release publishes 10 npm packages and 7 Rust crates under one shared version.

Fixed

  • Closing a terminal pane no longer leaves the render worker drawing on every
    animation frame. An application that terminated a session before React
    removed its pane released the view first, and the pane's blur, reported as
    it unmounted, then rebuilt the released surface in the worker. That surface
    had no canvas, so it stayed dirty and asked for a frame on every frame for
    the life of the worker.
    • setFocused ignores a view the runtime no longer holds.
    • A render benchmark's measured iteration after a warmup reaches idle
      again; it used to time out.
  • The render worker treats a dirty surface as work only while a frame can
    draw it. A surface with no canvas, or with a zero-size canvas the worker
    still counts as visible, waits without asking for frames or holding a
    performance measurement's idle. Mounting it, sizing it or showing it draws
    it, as before.
  • A remote control claim no longer reads the session's opening control frame
    as its own refusal. A claim made while that frame was still in flight could
    be rejected, because the claim settles on the first announcement after it.
    The claim now waits for that frame first, for at most the handshake
    timeout, when the client holds a streamed view of the session.

Changed

  • The Apple native artifact is rebuilt for this release.

Validation

  • Dispatched with render_evidence, the iOS release hardening workflow draws
    the font-parity rows, the visual golden's text, box drawing and a stack of
    combining marks through GhostteaMetalRenderer, and uploads the PNG with
    its pixel hash. A change that moves glyph pixels can carry iOS pixels as
    routine evidence. Pull request and push runs are unchanged, and nothing
    that ships changes.

Packages

npm:

  • @vibecook/ghosttea
  • @vibecook/ghosttea-client
  • @vibecook/ghosttea-electron
  • @vibecook/ghosttea-frame
  • @vibecook/ghosttea-native-tabs
  • @vibecook/ghosttea-protocol
  • @vibecook/ghosttea-react
  • @vibecook/ghosttead
  • @vibecook/ghosttead-darwin-arm64
  • @vibecook/ghosttead-win32-x64

crates.io:

  • ghosttea
  • ghosttea-config
  • ghosttea-core
  • ghosttea-text
  • ghosttea-truffle
  • ghosttea-vt
  • ghosttea-vt-sys

Publish order is a dependency order rather than this one; it is recorded in PUBLISHING.md.

Requirements

Node 22+ and Rust 1.88+. Native Ghostty VT artifacts are published for aarch64-apple-darwin and x86_64-pc-windows-msvc.