Skip to content
HN On Hacker News ↗

Changelog

▲ 379 points • 236 comments • by porridgeraisin • 1d ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this entire text is human-written.

0 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 1 of 1
SEGMENTS · AI 0 of 1
WORD COUNT 1,537
PEAK AI % 0% · §1
Analyzed
Nov 4
backend: pangram/v3.3
Segments scanned
1 windows
avg 1537 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 1,537 words · 1 segments analyzed

Human AI-generated
§1 Human · 0%

kitty is a feature-rich, cross-platform, fast, GPU based terminal. To update kitty, follow the instructions. Detailed list of changes¶ 0.50.0 [2026-11-03]¶ Allow docking kitty windows to the edges of other windows or of the tab, for status bars, file trees, etc. Create them with launch --type=window-dock or launch --type=tab-dock, see Docked windows A new option restore_session_after_logout to save the state of every kitty instance, including scrollback, when logging out, restarting or shutting down and restore it the next time kitty starts. On macOS, the state is encrypted with a key in the keychain. On Linux, it requires the Inhibit desktop portal. See Restoring kitty after logging out (#1197, #10659) Allow using tabs like named workspaces: A new launch --focus-existing option to focus an existing window or tab instead of creating a new one, a new by-title value for launch --location to keep tabs in alphabetical order and new options for kitten @ detach-window and the detach_window action to send windows to a named tab, creating it if needed (#10627) Wayland: The client side window decorations used on compositors such as GNOME now look like native GNOME decorations and follow the desktop titlebar font, text scaling, button layout and titlebar click action settings (#10766) Wayland: Support touchscreens. A tap is a click, a finger that moves scrolls with momentum, and a finger held still before it moves selects text (#5432, #10551) Custom shaders: New cursor-trail-railgun, cursor-trail-torpedo and cursor-trail-pixiedust shaders that make particles fly off the cursor as it moves, in the style of neovide. Shaders can now be controlled with key presses via the new shader_event action (see Controlling shaders with key presses), can be faded in and out, reversed and looped with new animation_* pipeline directives and can define a pointer_map() function so that clicks and selections land on the text shown under the mouse, which the crt shader now uses, see Shaders that move content. Also fix animations becoming jerky after kitty has been running for a few hours, shaders specified by path not being found and various pipeline bugs (#10587, #10667, #10693, #10595, #10694, #10639) Graphics protocol: Add two new indexed color image formats whose pixels are indices into the terminal color palette, so that images change color along with the color scheme, and allow clients to detect support for individual protocol features, such as animation and Unicode placeholders, via the new e query key, see Querying support for protocol features (#9379, #10732) Support the Program Status Protocol (OSC 7501) that lets programs report whether they are working, finished, failed or blocked waiting on the user. Shown in the tab bar via a new tab.program_status field for tab_title_template, see Reporting the status of a program Automatic color themes: When the system switches between light and dark, keep colors set by programs running in a window, by the ssh kitten, by launch --color or launch --copy-colors, and use the current theme colors when a program restores its saved colors. launch --color colors now also survive config reloads. The ssh kitten can use different color schemes for remote hosts in dark and light mode via the new kitten-ssh.color_scheme_dark, kitten-ssh.color_scheme_light and kitten-ssh.color_scheme_no_preference options (#10724) Layouts: Align the borders of neighboring windows and keep the gaps between them uniform, and add a new option collapse_window_margins to have the margins of neighboring windows collapse into each other instead of adding up (#10508) Window resizing: A new --strategy=edge mode to select and move a specific internal divider in the Splits layout, and hold Alt with a resize letter to take a fraction of the remaining resize steps, configurable with the new --fraction option Scale the thickness of box drawing characters, cursors and the window title bar border with the font size, so they no longer look too thin when zoomed in or too thick when zoomed out. At the configured font_size nothing changes (#10362) mouse_map can now map the scroll wheel, via the wheel_up, wheel_down, wheel_left and wheel_right buttons, for example, to change the font size with Ctrl+scroll A new option hyperlink_target_position to control where the URL shown by show_hyperlink_targets is displayed, including as a browser style tooltip next to the mouse cursor (#10770) Show the hand pointer and hover highlighting over links only when the pressed modifiers match a configured mouse action for opening the link with a single click, updating immediately when modifiers are pressed or released quick-access-terminal kitten: New kitty +kitten quick_access_terminal --if-running, kitty +kitten quick_access_terminal --listen-on and kitty +kitten quick_access_terminal --hold options to run programs in an already running quick access terminal, use a fixed remote control socket and keep the terminal open after the program exits (#10603) Sessions: A new os_window_position keyword and a new --os-window-geometry option for save_as_session to save the size, position and state of OS Windows in session files. Also fix the OS Window size and os_window_title in sessions sometimes being ignored (#10675) Command palette: Show action and kitten aliases at the top when the search query is empty, so they can be used to pin frequently used actions (#10711) Vertical tab bars: When tab_title_max_length is set, size the tab bar to fit the decorations of the current tab_bar_style, allowing much narrower tab bars (#10680) Linux/BSD: Detect MIME types for open actions and kittens using the shared-mime-info cache, matching the rest of the desktop, including files without an extension, such as Makefile, and MIME type aliases (#3056) IME: Keep the candidate window anchored at the start of the pre-edit text and at the cursor, so it no longer jumps around while composing text. On macOS, commit in-progress IME or dictation text instead of discarding it when the OS window loses focus (#10642, #10644) Shell integration: Make the kitty terminfo files available in commands run via run0, similar to sudo (#10692) kitty --config=NONE now also skips the automatic color theme files, open-actions.conf, launch-actions.conf, mime.types, paste-actions.py, notifications.py and the custom window icon in the kitty config directory Processes kitty inserts to wrap the program it runs, such as /usr/bin/login on macOS or the wrapper for launch --hold, are now skipped when reporting the pid, working directory, command line and environment of a window in kitten @ ls and when matching windows. Also fix launch --cwd=root using the working directory of the foreground process instead of the root process while the shell is running a command Nightly builds now show the date and hash of the commit they were built from in the output of kitty --version and kitten --version Do not render between render frames to reduce flicker from programs that draw with many small partial updates (#10749) Performance: Faster growing of the GPU sprite cache, particularly on macOS, less CPU usage with a non-zero input_delay and no continuous re-rendering when a selection is present and the window is scrolled back (#10714) Remote control: Fix a crafted request being able to bypass password based remote control authentication by masquerading as a cancellation of an asynchronous request Remote control: Fix many commands, including action, send-key, set-colors, set-background-opacity, set-font-size, ls, run and set-enabled-layouts, ignoring options, reporting false success or silently misinterpreting invalid input, particularly when used in remote_control mappings. set-colors now parses color files the same way as kitty.conf. Also fix a single unresponsive peer blocking all remote control communication and a crash when using damaged images with set-window-logo or set-background-image (#10672, #10632, #10688, #10690, #10715) Fix various terminal emulation bugs, including in origin mode cursor position reports, erasing multicell characters, the CHT escape code and copying text containing tabs, wide characters being drawn on the wrong row after colliding with scaled text, emoji sequences being split into multiple cells when wrapped, text typed into a new window before the program is ready sometimes being garbled, as well as a heap buffer overflow, an out of bounds write and a use-after-free when reloading the config (#10609, #10729, #10632, #10682, #10767) Graphics protocol: Allow shared memory object names without a leading slash again, for sandboxed macOS applications, and fix various bugs with animation frames and Unicode placeholders (#10684, #10599, #10632) Fix various window and tab management bugs, with focus moving to the wrong window on close, drag and drop onto title bars, visual window selection, Grid layout placement, title bar padding and tab titles being truncated too early. detach_tab now shows custom titles in the OS Window chooser (#10640) Fix render jitter when scrolled back with a partial line and the client is using the synchronised rendering escape code (#10794) Fix bold or italic Nerd Font icons sometimes being rendered using glyphs from an unrelated font, the cursor trail not always being shown when focus moves to a different window, watcher entries not being removed on config reload and changing text marker colors at runtime, for example with kitten @ set-colors or automatic theme switching, applying the colors of each marker to the next one (#10591) ssh kitten: Preserve the permissions of copied directories, fix copying files outside HOME whose paths share its prefix and files in HOME being copied to an absolute path with --symlink-strategy=resolve when HOME is a symlink, fix hanging when re-using a shared connection that has silently died and fix colors 16-255 being set to white with themes that do not define them (#10691, #10661, #10727, #10737) Desktop UI kitten: Fix D-Bus activation when