Skip to content

chore: version packages - #138

Open
bombshell-bot[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

bombshell-bot[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@bombshell-bot

@bombshell-bot bombshell-bot Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@bomb.sh/tty@0.10.0

Minor Changes

  • #132 d8f2a24 Thanks @natemoo-re! - Adds CapabilityEvent to InputEvent and changes InputOptions.terminfo to accept a TerminalInfo.

    scan() now parses terminal probe responses — OSC 10/11/12 theme colors, OSC 21 kitty color protocol, OSC 22 pointer shape, XTGETTCAP (DCS), kitty graphics (APC), kitty keyboard (CSI ?…u), synchronized output (DECRPM), and DA1 — and surfaces them as typed CapabilityEvent objects with keys foreground-color, background-color, cursor-color, colordepth, sync-output, kitty-keyboard, kitty-graphics, and pointer-shape.

    Breaking: InputOptions.terminfo now takes the TerminalInfo returned by detectTerminal() instead of raw compiled terminfo bytes. It seeds the key-sequence trie from terminfo.keys and uses terminfo.capabilities.colors to resolve colordepth denial events to the correct tier ("16" vs "256"). Raw bytes now go to detectTerminal({ entry }).

    Migration

    - import { createInput } from "@bomb.sh/tty";
    + import { createInput, detectTerminal } from "@bomb.sh/tty";
    
    - const input = await createInput({ terminfo: myTerminfoBinary });
    + const terminfo = await detectTerminal({ env: process.env, entry: myTerminfoBinary });
    + const input = await createInput({ terminfo });

    Omit terminfo entirely to keep the xterm default key sequences.

  • #133 2c6215c Thanks @natemoo-re! - Adds detectTerminal(), TerminalInfo, Capabilities, DetectOptions, KeyTable, and MAX_TERMINFO_ENTRY to the public API, and a terminfo option to createTerm.

    detectTerminal() reads the compiled terminfo entry for the current terminal (from the ncurses search path, or from bytes passed as entry), applies environment evidence (COLORTERM), and resolves a frozen TerminalInfo carrying static capabilities, a probe query batch to write to stdout, and opaque keys for the input parser.

    Pass the returned TerminalInfo as terminfo to createTerm and createInput. term.capabilities exposes the renderer's current capability snapshot, seeded from terminfo.capabilities (or the 256-color baseline when omitted).

    Changes term.update() to accept an array of InputEvent values instead of { events } or { width, height }. Resizes are now ResizeEvents tagged type: "resize"; capability events from scan() are folded into term.capabilities; all other input events are no-ops, so the full events array from scan() can be passed straight through. update() now returns a Uint8Array of bytes to write immediately (empty when there are none).

    Migration

    -term.update({ events });
    +const out = term.update(events);
    +if (out.length) process.stdout.write(out);
    -term.update({ width, height });
    +term.update([{ type: "resize", width, height }]);

    To opt in to terminfo-based capability detection:

    +const terminfo = await detectTerminal({ env: process.env });
     const term = await createTerm({ width, height, terminfo });
     const input = await createInput({ terminfo });
    +process.stdout.write(terminfo.probe);

Patch Changes

  • #114 666546e Thanks @natemoo-re! - Fixes combining marks (accents, ZWJ, variation selectors, kitty-graphics placeholder diacritics) being silently dropped from rendered output instead of attaching to their base character's cell. Cells that overflow the 8-mark-per-cell limit now also surface a COMBINING_MARKS_EXCEEDED render error instead of truncating silently.

@bombshell-cooper

bombshell-cooper Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Changeset review

  • warning: Changeset should start with an approved active present-tense verb.
  • warning: Changeset package scope does not match the affected packages confidently.

@pkg-pr-new

pkg-pr-new Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@bomb.sh/tty@138

commit: aa3054f

@bombshell-bot
bombshell-bot Bot force-pushed the changeset-release/main branch from ea9535a to 145e743 Compare October 9, 2026 15:18
@bombshell-bot
bombshell-bot Bot force-pushed the changeset-release/main branch from 145e743 to aa3054f Compare October 9, 2026 15:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants