v0.2.39
# Termy v0.2.39 ## Highlights - Added safe workspace deletion directly from the workspace sidebar. - Workspaces containing running commands now show a confirmation before deletion. - The final workspace cannot be deleted. - Pinned workspaces and workspaces containing pinned tabs are protected from deletion. ## Fixed - Fixed reverse-video backgrounds in terminal applications, including Claude Code’s cursor rendering. - Improved terminal startup in environments that provide charset-only UTF-8 locale values such as `UTF-8` or `utf8`. - Improved Windows FFI test reliability. ## Terminal engine - Refactored desktop and tmux terminals around the shared `termy_core` backend. - Kept Alacritty as the default native terminal engine. - Added an experimental Tmon backend and strengthened its rendering, damage tracking, palette, graphics, and TUI compatibility coverage. - Added replay coverage for real terminal applications, including Neovim. ## Embedding API - Added richer renderer-neutral APIs for coherent viewport reads, palette revisions, complete cell text, underline styling, and generation-checked damage updates. - Kept the flat frame types and C ABI compatible. - Removed direct access to raw Alacritty internals from the Rust API. This is a source-breaking change for embedders using `Terminal::with_term`, `TerminalOptions::term_config`, or raw Alacritty conversion helpers. ## Maintenance - Stabilized recurring CI and performance validation jobs. - Simplified workspace and crate ownership boundaries. - Removed obsolete standalone toast and auto-update UI crates. - Removed tracked Wrangler state files from the website. [Compare `v0.2.38...main`](https://github.com/lassejlv/termy/compare/v0.2.38...main)