unstale

npm / @earendil-works/pi-tui

@earendil-works/pi-tui

What changed in @earendil-works/pi-tui 0.74 to 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-11.

20 breaking4 security54 new APIs and options7 performance12 behavior and defaults120 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

@earendil-works/pi-tui 153 changes

Breaking changes 9

  • Display math wider than the content width now falls back to raw LaTeX instead of wrapping row by row and splitting fractions and sums.

    1.5.0release notes

  • Editor.render() wraps the drawn cursor in zero-width APC markers instead of emitting \x1b[7m directly; code rendering it outside a TUI must strip the markers.

    1.2.0release notes

  • Unhandled wheel events now scroll the transcript instead of reaching a focused overlay's handleInput as raw input; overlays that scroll with the wheel must implement handleMouse.

    1.2.0release notes

  • Input.render() wraps the drawn cursor in zero-width APC markers instead of emitting \x1b[7m directly; code rendering it outside a TUI must strip the markers.

    1.2.0release notes

  • parseKey() now returns the produced symbol for shifted keys, so bindings such as + or ctrl++ match Kitty keyboard protocol and modifyOtherKeys reports; physical shift+= spelling still matches.

    1.2.0release notes

  • When enabled, showHardwareCursor shows only the terminal cursor; focused Editor and Input components no longer draw a reverse-video cursor.

    1.2.0release notes

  • Terminal implementations must provide setProgramStatus(status); terminals without OSC 7501 support can implement it as a no-op.

    1.1.0release notes

  • Ctrl+Home and Ctrl+End now move the fullscreen transcript to the top or bottom and no longer move the editor cursor.

    1.0.3release notes

  • Home and End now always move the editor cursor to the line start or end.

    1.0.3release notes

New APIs and options 11

  • A focused component that sets this property receives viewport keys instead of letting TuiAltScreen scroll the transcript.

    1.5.0release notes

  • Adds a function to compute the selection after a tui.select.pageUp or tui.select.pageDown key.

    1.5.0release notes

  • Adds a function that replaces runs of C0 and C1 control characters with a space.

    1.5.0release notes

  • Components can wrap a drawn cursor with renderFakeCursor(); the TUI renders it in reverse video or omits it after CURSOR_MARKER when showHardwareCursor is enabled.

    1.2.0release notes

  • Added Box.setPaddingX(...).

    1.1.0release notes

  • Added formatProgramStatus() for the Program Status Protocol (OSC 7501).

    1.1.0release notes

  • Set PI_PROGRAM_STATUS=1|0 to override terminal support detection for Program Status Protocol reports.

    1.1.0release notes

  • Added Text.setPaddingX(...).

    1.1.0release notes

  • Drops the text selection and multi-click state, for example before a host replaces the transcript.

    1.1.0release notes

  • Registers an image transcoder so Image can convert JPEG, GIF, and WebP images to PNG for the Kitty graphics protocol.

    1.0.1release notes

  • TuiAltScreen.getScreenLines() returns the lines of the last rendered frame.

    1.0.0release notes

Performance 2

  • Markdown reuses top-level blocks from its last render, allowing streaming updates to render only the changed last block and resizes to reuse highlighted code; theme changes must call invalidate().

    1.5.0release notes

  • Reduced memory retained per rendered message; a long assistant message keeps about a fifth of the heap it kept before.

    1.0.0release notes

Behavior and default changes 1

  • Detects the Rex terminal and enables OSC 8 hyperlinks, truecolor, and Kitty images.

    1.4.0release notes

Fixes and other changes 30

  • Alacritty hyperlink detection also uses TERM and ALACRITTY_WINDOW_ID, enabling hyperlinks when TERM_PROGRAM is unset.

    1.5.1release notes

  • Markdown rendering no longer displays HTML comments as visible text.

    1.5.1release notes

  • Internal cursor markers no longer leak into terminal output, including with multiple markers or horizontally clipped content.

    1.5.1release notes

  • Deleting a paste marker with Backspace no longer corrupts later short markers or causes marker text to be submitted instead of pasted content.

    1.5.1release notes

  • Kitty images are drawn after clearing and writing their covered rows on every terminal, fixing fullscreen images in Orca that showed only their first row.

    1.5.1release notes

  • Bare Markdown URLs no longer swallow following CJK punctuation and text; explicit Markdown links and angle autolinks are unchanged.

    1.5.0release notes

  • Word characters now match iTerm2 defaults, preventing paths and tokens from splitting at ~, ., \, and +.

    1.5.0release notes

  • Ranking now scores contiguous query occurrences and keeps the best alignment, fixing scattered earlier matches ranking above later contiguous matches.

    1.5.0release notes

  • Images inside padded or colored boxes are cropped correctly when partially visible after scrolling above the fullscreen viewport, including beside other text.

    1.5.0release notes

  • F1–F12 shortcuts, including modified function keys, are recognized, and F13+ and other functional keys no longer insert invisible private-use characters into the editor.

    1.5.0release notes

  • Deeply nested blockquotes no longer produce exponentially many lines or hang or crash rendering when borders exhaust the available width.

    1.5.0release notes

  • Orca is recognized as supporting true color and hyperlinks, and Kitty images when it advertises ORCA_IMAGE_PROTOCOL=kitty.

    1.5.0release notes

  • Control characters in a title no longer end the title sequence and send the remaining text to the terminal as escape sequences.

    1.5.0release notes

  • On Apple Terminal and native Windows, ESC + Return with Shift held is treated as Shift+Enter; without Shift it remains Alt+Enter.

    1.5.0release notes

  • Setting unchanged text no longer drops wrapped lines and causes renderers to wrap the same text again.

    1.5.0release notes

  • Regular mode no longer writes OSC 133 prompt markers from rendered lines to the terminal, preventing the working indicator from disappearing during runs.

    1.5.0release notes

  • PageUp and PageDown selection keys are now handled by SelectList, SettingsList, and editor autocomplete.

    1.5.0release notes

  • Wrapping no longer starts the next line with a space when a styled word ends at the wrap width, and strikethrough no longer continues into right padding.

    1.5.0release notes

  • File autocomplete now returns results for queries containing regex metacharacters such as [ or (.

    1.4.0release notes

  • An unclosed display-math block no longer swallows or corrupts following Markdown tables, including during streaming.

    1.4.0release notes

  • Bold and italic formatting now renders next to CJK punctuation.

    1.4.0release notes

  • Terminal modes are restored synchronously on process exit, even if the process exits without calling stop().

    1.4.0release notes

  • Overlay compositing no longer drops CURSOR_MARKER when an overlay ends directly left of the cursor, preserving the hardware cursor position.

    1.2.0release notes

  • Herdr now uses the Kitty graphics protocol, fixing inline images that had not rendered since 1.1.0.

    1.2.0release notes

  • Fragmented terminal color replies no longer leak hex values into the prompt or trigger the external editor via their BEL terminator.

    1.2.0release notes

  • TERM_PROGRAM=herdr is now detected as supporting OSC 8 hyperlinks, making Markdown links clickable in Herdr.

    1.1.0release notes

  • Fixed fullscreen Kitty images collapsing to a one-row strip after scrolling in WezTerm.

    1.0.1release notes

  • Non-PNG images now show their text fallback on Kitty-protocol terminals when no transcoder is registered or conversion fails.

    1.0.1release notes

  • Fixed color bleeding past mouse selections and search highlights in fullscreen mode when a styled token ends at the highlight boundary.

    1.0.0release notes

  • Fixed autocompletion not triggering when the input starts with whitespace.

    1.0.0release notes

@earendil-works/pi-tui 0.9927 changes

Breaking changes 4

  • Removed.

    0.99.0release notes

  • Removed in favor of TUI.queryTerminalColors().

    0.99.0release notes

  • Replaces the separate terminal color queries with one round trip for the default foreground, background, and 16 ANSI colors, returning TerminalColors.

    0.99.0release notes

  • Removed in favor of TUI.queryTerminalColors().

    0.99.0release notes

New APIs and options 16

  • Adds a color type supporting indexed ANSI, sRGB, or OKLCH values.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Reads file URLs from the macOS clipboard.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Parses #rgb, #rrggbb, oklch(), and okhsl() color values.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Added as a helper for color values and styling.

    0.99.0release notes

  • Allows wheel scroll lines to be updated at runtime.

    0.99.0release notes

  • The wheelScrollLines option now accepts "auto", which accelerates fast wheel spins on terminals that send one event per notch.

    0.99.0release notes

Performance 1

  • Improved rendering performance: visibleWidth() avoids grapheme segmentation for ANSI-styled ASCII, Box avoids re-padding cached lines, and Markdown reuses parsed tokens across theme and width changes.

    0.99.0release notes

Behavior and default changes 1

  • Terminals with TERM values matching *-direct are now detected as truecolor.

    0.99.0release notes

Fixes and other changes 5

  • Keyboard input is no longer lost when a component that forwarded a mouse event to a child removes that child.

    0.99.0release notes

  • Reduced image stretching in terminals that use the Kitty graphics protocol.

    0.99.0release notes

  • Autocomplete now works after opening wrappers such as (, [, {, <, or a backtick.

    0.99.0release notes

  • The shell cursor no longer stays hidden after exit when an extension closes an overlay during shutdown.

    0.99.0release notes

  • Autocomplete no longer appears empty when loaded skill names do not contain the letters in skill.

    0.99.0release notes

@earendil-works/pi-tui 0.869 changes

New APIs and options 1

  • Adds bundled asynchronous native clipboard readers for macOS, Windows, and X11, replacing the external native clipboard dependency in consumers.

    0.86.0release notes

Performance 1

  • Reduces latency for long texts by using native substring search instead of scanning each character in JavaScript.

    0.86.0release notes

Fixes and other changes 7

  • Vertically lays out unsupported and nested display scripts.

    0.86.0release notes

  • Fixes autocomplete boundaries and path quoting around CJK punctuation.

    0.86.0release notes

  • Shows actionable backend error messages instead of a generic notice and extends failure notices to five seconds.

    0.86.0release notes

  • Prevents later row clears in WezTerm from erasing fullscreen Kitty images.

    0.86.0release notes

  • Centers cases layouts around surrounding equations.

    0.86.0release notes

  • Fixes legacy font switches falling back to raw source.

    0.86.0release notes

  • Ranks the bare skill name instead of the skill: prefix.

    0.86.0release notes

@earendil-works/pi-tui 0.8514 changes

Breaking changes 5

  • Applications must configure the hardware cursor through the renderer constructor instead of relying on coding-agent environment-variable defaults.

    0.85.0release notes

  • Without a supplied log directory, redraw logging is disabled and crash dumps are written to the OS temp directory.

    0.85.0release notes

  • Debug and crash log filenames now use the pi-tui- prefix.

    0.85.0release notes

  • The redraw debug environment variable is now PI_TUI_DEBUG_REDRAW instead of PI_DEBUG_REDRAW.

    0.85.0release notes

  • Applications must configure clear-on-shrink behavior through setClearOnShrink() instead of relying on coding-agent environment-variable defaults.

    0.85.0release notes

New APIs and options 2

  • LaTeX rendering now supports relational algebra join symbols.

    0.85.0release notes

  • Adds a TuiAltScreen option that renders a clickable jump-to-end label on a follow-end primary scroll view while it is scrolled away from the end.

    0.85.0release notes

Performance 1

  • Search latency on large transcripts was reduced by caching unchanged results, indexing ASCII runs, and limiting highlight work to visible matches.

    0.85.0release notes

Behavior and default changes 2

  • Mouse wheel scrolling while holding Alt in fullscreen mode is five times faster.

    0.85.1release notes

  • The animation and editor integration changed to support embedded working indicators.

    0.85.0release notes

Fixes and other changes 4

  • Mouse hover no longer changes selection or recenters autocomplete and settings lists, preventing clicks from targeting a different item.

    0.85.1release notes

  • Fixed drag selection continuing over an editor.

    0.85.0release notes

  • Fixed terminal startup under restricted seccomp policies that reject the SIGWINCH self-signal.

    0.85.0release notes

  • Fixed terminal image capability detection for Zed.

    0.85.0release notes

@earendil-works/pi-tui 0.8458 changes

New APIs and options 19

  • Adds helpers to detect and copy the active fullscreen text selection programmatically.

    0.84.4release notes

  • Environment and programmatic overrides are available for OSC 8 hyperlinks, inline image protocols, and truecolor terminal capabilities.

    0.84.4release notes

  • Adds a copyOnSelect option for fullscreen text selection.

    0.84.4release notes

  • Added fullscreen TUI search with configurable match styles and next/previous navigation using the specified keybindings.

    0.84.2release notes

  • Added a timeout setting for high-latency terminals, limited to lone Escape input; also fixed split Alt+Enter input over SSH being misread as Escape.

    0.84.2release notes

  • Added an unbound single-line transcript scrolling action for fullscreen TUI keybindings.

    0.84.2release notes

  • Added an unbound single-line transcript scrolling action for fullscreen TUI keybindings.

    0.84.2release notes

  • Added an optional right-click paste handler to the alternate-screen TUI, currently enabled on Windows.

    0.84.1release notes

  • Added an unbound half-page transcript scrolling action for fullscreen TUI keybindings.

    0.84.1release notes

  • Added an unbound half-page transcript scrolling action for fullscreen TUI keybindings.

    0.84.1release notes

  • Alternate-screen layouts now include VStack, HStack, and nested ScrollView with constrained sizing, sticky regions, and pointer-targeted scrolling.

    0.84.0release notes

  • Alternate-screen scrollbars support proportional display, mouse dragging, Home/End navigation, transient auto mode, and always mode that reserves a column; modes can change at runtime.

    0.84.0release notes

  • Interface-compatible main-screen and alternate-screen TUI renderers now support application-owned scrolling.

    0.84.0release notes

  • Markdown now renders terminal-friendly Unicode for inline and display LaTeX, including fractions, scripts, symbols, aligned equations, cases, and matrices.

    0.84.0release notes

  • The Markdown component now supports width-aware source transforms.

    0.84.0release notes

  • The bundled Markdown parser and its token types are now exported for use by applications.

    0.84.0release notes

  • Previous and next prompt history actions can be configured independently of vertical cursor movement.

    0.84.0release notes

  • Lifecycle and render-state handoff APIs let developers replace renderers without replaying main-screen content.

    0.84.0release notes

  • A shared TUI mode type and mode discriminants are available for the main-screen and alternate-screen renderers.

    0.84.0release notes

Performance 1

  • Reduced alternate-screen per-frame allocation churn roughly 9–18x by painting full-width layout rows as direct line references.

    0.84.2release notes

Behavior and default changes 7

  • Scrollbars use muted thin tracks and proportional thumbs, preserve underlying backgrounds, reserve an unstyled column in always mode, reveal auto tracks on pointer entry, expand thumbs on hover, and support track-click jumping.

    0.84.4release notes

  • Search uses a bordered placeholder-based input, muted result count, right-aligned clickable key-and-arrow buttons with configurable hover styling, and open-shortcut toggling.

    0.84.4release notes

  • Added double-click word and whitespace selection, granularity-aware drag selection, and triple-click paragraph selection.

    0.84.1release notes

  • Drag selection now auto-scrolls at the edges when extending across off-screen scroll-view content.

    0.84.0release notes

  • The default wheel step is reduced from three lines to one for finer scrolling.

    0.84.0release notes

  • The alternate-screen renderer now supports stacked transient notifications.

    0.84.0release notes

  • The alternate-screen viewport now supports page scrolling and OSC 133 semantic prompt navigation.

    0.84.0release notes

Fixes and other changes 31

  • Fixes ordering for nested autocomplete results.

    0.84.4release notes

  • Fixes word selection splitting paths and kebab-case tokens on / and -.

    0.84.4release notes

  • Fixes crashes when image-heavy output exceeds V8's string length limit.

    0.84.4release notes

  • Fixed duplicate fullscreen right-click paste in VS Code-based terminals on Windows.

    0.84.3release notes

  • Fixed padded text exceeding narrow terminal widths.

    0.84.3release notes

  • Fixed wrapped Markdown table links leaking color into borders and neighboring cells, including tables inside blockquotes.

    0.84.3release notes

  • Fixed focused overlays not receiving mouse wheel or viewport scroll keys such as PageUp and PageDown.

    0.84.2release notes

  • Fixed mouse drag selection and OSC 8 link activation in terminals reporting generic SGR mouse release button codes.

    0.84.2release notes

  • Fixed idle fullscreen sessions repainting and clearing text selection when the terminal loses focus.

    0.84.2release notes

  • Fixed false success reporting when OSC 52 is unsupported by allowing host clipboard integration and reporting verified failures.

    0.84.2release notes

  • Fixed manual scrolling snapping search back to the current match and fragmented SGR mouse input leaking into the query.

    0.84.2release notes

  • Fixed control spaces split across line endings causing complete expressions to fall back to raw source.

    0.84.2release notes

  • Fixed required LaTeX arguments starting on a new line being parsed as empty.

    0.84.2release notes

  • Reduced fullscreen mouse event volume under tmux, Zellij, and GNU Screen by using button-motion tracking instead of all-motion tracking.

    0.84.1release notes

  • Fixed spacing for LaTeX relations, multiplication, and named operators, and composition of matrices with stacked fractions, operator limits, and adjacent matrices.

    0.84.1release notes

  • Kitty images no longer cross vertical layout clip boundaries or overlap sticky regions while scrolling.

    0.84.0release notes

  • Redraw fixes prevent redundant Kitty image data, dropped adjacent rows, duplicate fixed-basis scroll content, and scans of clipped transcript rows.

    0.84.0release notes

  • Unmatched mouse events when terminal pane focus changes no longer create phantom text selections.

    0.84.0release notes

  • The npm package now includes the source and build script needed to rebuild the Darwin native addon.

    0.84.0release notes

  • Ctrl-modified editor bindings provide Home, End, PageUp, and PageDown variants when fullscreen transcript navigation would otherwise leave them inaccessible.

    0.84.0release notes

  • Terminal width accounting now handles Indic conjunct grapheme clusters correctly.

    0.84.0release notes

  • Image payloads now include size metadata required by the xterm.js image addon.

    0.84.0release notes

  • Keyboard input can preempt the throttled render timer, reducing rendering latency on Windows.

    0.84.0release notes

  • Nested stack layouts now respect child minimum sizes.

    0.84.0release notes

  • Width truncation now terminates OSC 8 hyperlinks correctly.

    0.84.0release notes

  • Spaces in queries now filter multi-word labels instead of changing the selected value.

    0.84.0release notes

  • Batched terminal color-scheme reports are no longer parsed as one malformed response.

    0.84.0release notes

  • Clearing terminal progress now emits the complete OSC 9;4 sequence.

    0.84.0release notes

  • Truecolor detection now works when Windows Terminal does not provide WT_SESSION to child shells.

    0.84.0release notes

  • The npm package now includes the source and build script needed to rebuild the Windows native addon.

    0.84.0release notes

  • Shift+Enter detection on Windows now reports modifier key state correctly.

    0.84.0release notes

@earendil-works/pi-tui 0.832 changes

Fixes and other changes 2

  • Absolute paths are clickable when terminal hyperlinks are available.

    0.83.0release notes

  • Long image fallback paths no longer overflow narrow terminals, and home-directory paths are shortened.

    0.83.0release notes

@earendil-works/pi-tui 0.822 changes

Fixes and other changes 2

  • Narrow terminals no longer crash when the editor's bottom scroll indicator exceeds the terminal width.

    0.82.0release notes

  • Debug and crash logs now use the configured TUI log directory, including PI_CODING_AGENT_DIR, instead of always writing under ~/.pi/agent.

    0.82.0release notes

@earendil-works/pi-tui 0.813 changes

Fixes and other changes 3

  • Text wrapping now recognizes CRLF and CR line endings while preserving styles across lines.

    0.81.0release notes

  • Undo restores the paste registry together with the text, and marker renumbering shifts registry entries in ascending id order, preventing submitted prompts from containing literal markers or the wrong paste's content.

    0.81.0release notes

  • Shutdown now clears the editor's inverted software cursor before restoring the hardware cursor, avoiding a duplicate cursor artifact.

    0.81.0release notes

@earendil-works/pi-tui 0.803 changes

New APIs and options 1

  • An opt-in Markdown renderer option preserves source backslash escapes for transcript rendering.

    0.80.3release notes

Fixes and other changes 2

  • Terminal output now normalizes tab characters consistently.

    0.80.8release notes

  • Fixed decoding of Alt+symbol key combinations such as Alt+, and Alt+.

    0.80.7release notes

@earendil-works/pi-tui 0.7921 changes

Security 1

New APIs and options 3

  • Exported sliceByColumn for ANSI-aware horizontal column slicing.

    0.79.7release notes

  • Added support for terminal background color queries using OSC 11 replies.

    0.79.4release notes

  • Added provider-defined trigger characters so editor autocomplete can naturally trigger on token prefixes.

    0.79.1release notes

Behavior and default changes 1

  • Warp terminal detection was added for Kitty graphics inline image support.

    0.79.7release notes

Fixes and other changes 16

  • Partial closing fences no longer make code blocks shrink or flicker while content streams.

    0.79.9release notes

  • Non-empty drafts now jump to the start of the line before Cursor Up browses input history.

    0.79.5release notes

  • Fixed inline image rendering during full redraw fallbacks by reserving image padding rows before placement, without regressing tall-image placement.

    0.79.4release notes

  • Fixed border alignment when an overlay starts inside a full-width cell.

    0.79.4release notes

  • CJK text now wraps at character boundaries instead of leaving large trailing gaps.

    0.79.2release notes

  • Blank-line separation between loose Markdown list items is now preserved.

    0.79.2release notes

  • Markdown source list markers now preserve unordered markers, so standalone + user messages no longer render as -.

    0.79.2release notes

  • Provider/model completions remain matchable after slash-separated fuzzy queries are inserted.

    0.79.2release notes

  • Reserved row clears no longer erase all but the top strip of tool image previews.

    0.79.2release notes

  • Fixed hardware cursor positioning while slash-command autocomplete is visible.

    0.79.1release notes

  • Unspaced CJK runs can break at grapheme boundaries without leaving large trailing gaps.

    0.79.1release notes

  • Returning from history browsing now restores the current draft.

    0.79.1release notes

  • Autocomplete suggestions now re-query after editor cursor movement.

    0.79.0release notes

  • The fallback response is now response-driven instead of timeout-driven, fixing intermittent Shift+Enter handling.

    0.79.0release notes

  • Browsing upward now places the cursor at the start of a prompt and browsing downward at the end, so repeated Up/Down traverses multiline prompts immediately.

    0.79.0release notes

  • Rendering now clears stale lines when content shrinks to zero.

    0.79.0release notes

@earendil-works/pi-tui 0.787 changes

Security 3

  • Pi Agent: Potential XSS in HTML session exports via Markdown URL sanitization bypass

    0.78.1security advisory

  • Pi Agent: Predictable temporary extension install paths allow local privilege escalation on shared Linux hosts

    0.78.1security advisory

  • Pi Agent: Race condition in Pi auth.json writes could expose stored credentials

    0.78.1security advisory

Fixes and other changes 4

  • Non-capturing overlays remain interactive after UI rerenders and explicit focus release.

    0.78.1release notes

  • Tab width accounting in column slicing and overlay compositing prevents tab-containing output from exceeding terminal width.

    0.78.1release notes

  • Fixed wrapping of very long ANSI text lines to avoid stack overflows.

    0.78.0release notes

  • OSC 8 hyperlinks now pass through tmux when the client supports them.

    0.78.0release notes

@earendil-works/pi-tui 0.771 changes

Fixes and other changes 1

  • Ignores mismatched or delayed terminal responses to avoid false Kitty keyboard protocol detection.

    0.77.0release notes

@earendil-works/pi-tui 0.766 changes

New APIs and options 1

  • An opt-in Markdown renderer option preserves source ordered-list markers during transcript rendering.

    0.76.0release notes

Fixes and other changes 5

  • Windows Terminal capability detection enables OSC 8 hyperlinks, preserving clickable long URLs across wrapped lines.

    0.76.0release notes

  • JetBrains terminal capability detection disables unsupported OSC 8 hyperlinks.

    0.76.0release notes

  • Shift+Enter works in Apple Terminal by detecting local macOS modifier state when Terminal.app sends plain Return.

    0.76.0release notes

  • JetBrains terminal capability detection enables truecolor.

    0.76.0release notes

  • Editor and input word navigation and deletion use Unicode word boundaries while preserving ASCII punctuation boundaries.

    0.76.0release notes

@earendil-works/pi-tui 0.755 changes

Breaking changes 2

  • The package-level development watch script was removed because the root TypeScript check validates strip-only-compatible sources.

    0.75.4release notes

  • The minimum supported Node.js version is now 22.19.0.

    0.75.0release notes

Performance 1

  • The optional koffi dependency for Windows VT input was replaced with a tiny vendored native helper, reducing install size while preserving Shift+Tab handling.

    0.75.5release notes

Fixes and other changes 2

  • Loader initialization now ensures indicator startup cannot run before frames are initialized.

    0.75.4release notes

  • Truecolor capability detection now aligns terminal image rendering with the interactive theme detector.

    0.75.4release notes

@earendil-works/pi-tui 0.746 changes

Fixes and other changes 6

  • Portrait images are now capped by height instead of always scaling to the configured maximum width.

    0.74.1release notes

  • Fixed image placement when the viewport is shorter than the rendered image.

    0.74.1release notes

  • Fixed WezTerm Kitty keyboard protocol edge cases to keep escape handling correct.

    0.74.1release notes

  • Improved markdown rendering robustness for very large files.

    0.74.1release notes

  • Wrapped markdown list items now preserve indentation on continuation lines.

    0.74.1release notes

  • Fixed rendering of markdown task-list checkboxes.

    0.74.1release notes