mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 09:01:14 +00:00
8.4 KiB
8.4 KiB
Changelog
[Unreleased]
Added
SettingsListOptionswithenableSearchfor fuzzy filtering inSettingsList(#643 by @ninlds)pageUpandpageDownkey support withselectPageUp/selectPageDowneditor actions (#662 by @aliou)
Fixed
- Numbered list items showing "1." for all items when code blocks break list continuity (#660 by @ogulcancelik)
[0.43.0] - 2026-01-11
Added
fuzzyFilter()andfuzzyMatch()utilities for fuzzy text matching- Slash command autocomplete now uses fuzzy matching instead of prefix matching
Fixed
- Cursor now moves to end of content on exit, preventing status line from being overwritten (#629 by @tallshort)
- Reset ANSI styles after each rendered line to prevent style leakage
[0.42.5] - 2026-01-11
Fixed
- Reduced flicker by only re-rendering changed lines (#617 by @ogulcancelik)
- Cursor position tracking when content shrinks with unchanged remaining lines
- TUI renders with wrong dimensions after suspend/resume if terminal was resized while suspended (#599)
- Pasted content containing Kitty key release patterns (e.g.,
:3Fin MAC addresses) was incorrectly filtered out (#623 by @ogulcancelik)
[0.42.4] - 2026-01-10
[0.42.3] - 2026-01-10
[0.42.2] - 2026-01-10
[0.42.1] - 2026-01-09
[0.42.0] - 2026-01-09
[0.41.0] - 2026-01-09
[0.40.1] - 2026-01-09
[0.40.0] - 2026-01-08
[0.39.1] - 2026-01-08
[0.39.0] - 2026-01-08
Added
- Experimental: Overlay compositing for
ctx.ui.custom()with{ overlay: true }option (#558 by @nicobailon)
[0.38.0] - 2026-01-08
Added
EditorComponentinterface for custom editor implementationsStdinBufferclass to split batched stdin into individual sequences (adapted from OpenTUI, MIT license)
Fixed
- Key presses no longer dropped when batched with other events over SSH (#538)
[0.37.8] - 2026-01-07
Added
Component.wantsKeyReleaseproperty to opt-in to key release events (default false)
Fixed
- TUI now filters out key release events by default, preventing double-processing of keys in editors and other components
[0.37.7] - 2026-01-07
Fixed
matchesKey()now correctly matches Kitty protocol sequences for unmodified letter keys (needed for key release events)
[0.37.6] - 2026-01-06
Added
- Kitty keyboard protocol flag 2 support for key release events. New exports:
isKeyRelease(data),isKeyRepeat(data),KeyEventTypetype. Terminals supporting Kitty protocol (Kitty, Ghostty, WezTerm) now send proper key-up events.
[0.37.5] - 2026-01-06
[0.37.4] - 2026-01-06
[0.37.3] - 2026-01-06
[0.37.2] - 2026-01-05
[0.37.1] - 2026-01-05
[0.37.0] - 2026-01-05
Fixed
- Crash when pasting text with trailing whitespace exceeding terminal width through Markdown rendering (#457 by @robinwander)
[0.36.0] - 2026-01-05
[0.35.0] - 2026-01-05
[0.34.2] - 2026-01-04
[0.34.1] - 2026-01-04
Added
- Symbol key support in keybinding system:
SymbolKeytype with 32 symbol keys,Keyconstants (e.g.,Key.backtick,Key.comma), updatedmatchesKey()andparseKey()to handle symbol input (#450 by @kaofelix)
[0.34.0] - 2026-01-04
Added
Editor.getExpandedText()method that returns text with paste markers expanded to their actual content (#444 by @aliou)
[0.33.0] - 2026-01-04
Breaking Changes
- Key detection functions removed: All
isXxx()key detection functions (isEnter(),isEscape(),isCtrlC(), etc.) have been removed. UsematchesKey(data, keyId)instead (e.g.,matchesKey(data, "enter"),matchesKey(data, "ctrl+c")). This affects hooks and custom tools that usectx.ui.custom()with keyboard input handling. (#405)
Added
Editor.insertTextAtCursor(text)method for programmatic text insertion (#419)EditorKeybindingsManagerfor configurable editor keybindings. Components now usematchesKey()and keybindings manager instead of individualisXxx()functions. (#405 by @hjanuschka)
Changed
- Key detection refactored: consolidated
is*()functions into genericmatchesKey(data, keyId)function that accepts key identifiers like"ctrl+c","shift+enter","alt+left", etc.
[0.32.3] - 2026-01-03
[0.32.2] - 2026-01-03
Fixed
- Slash command autocomplete now triggers for commands starting with
.,-, or_(e.g.,/.land,/-foo) (#422)
[0.32.1] - 2026-01-03
[0.32.0] - 2026-01-03
Changed
- Editor component now uses word wrapping instead of character-level wrapping for better readability (#382 by @nickseelert)
Fixed
- Shift+Space, Shift+Backspace, and Shift+Delete now work correctly in Kitty-protocol terminals (Kitty, WezTerm, etc.) instead of being silently ignored (#411 by @nathyong)
[0.31.1] - 2026-01-02
Fixed
visibleWidth()now strips OSC 8 hyperlink sequences, fixing text wrapping for clickable links (#396 by @Cursivez)
[0.31.0] - 2026-01-02
Added
isShiftCtrlO()key detection function for Shift+Ctrl+O (Kitty protocol)isShiftCtrlD()key detection function for Shift+Ctrl+D (Kitty protocol)TUI.onDebugcallback for global debug key handling (Shift+Ctrl+D)wrapTextWithAnsi()utility now exported (wraps text to width, preserving ANSI codes)
Changed
- README.md completely rewritten with accurate component documentation, theme interfaces, and examples
visibleWidth()reimplemented with grapheme-based width calculation, 10x faster on Bun and ~15% faster on Node (#369 by @nathyong)
Fixed
- Markdown component now renders HTML tags as plain text instead of silently dropping them (#359)
- Crash in
visibleWidth()and grapheme iteration when encountering undefined code points (#372 by @HACKE-RC) - ZWJ emoji sequences (rainbow flag, family, etc.) now render with correct width instead of being split into multiple characters (#369 by @nathyong)
[0.29.0] - 2025-12-25
Added
- Auto-space before pasted file paths: When pasting a file path (starting with
/,~, or.) and the cursor is after a word character, a space is automatically prepended for better readability. Useful when dragging screenshots from macOS. (#307 by @mitsuhiko) - Word navigation for Input component: Added Ctrl+Left/Right and Alt+Left/Right support for word-by-word cursor movement. (#306 by @kim0)
- Full Unicode input: Input component now accepts Unicode characters beyond ASCII. (#306 by @kim0)