v0.2.32
# Termy v0.2.31 ## Removed - **Embedded browser tabs have been removed.** The entire macOS-only WebView feature is gone: `browser.rs` (1328 lines), the `PaneContent::Browser` variant, the `browser_tabs_enabled` config key + setting row, `browser_url`/`pane_kind` columns in the workspace DB, `CommandAction::NewBrowserTab`, its menu entry, the "New Browser Tab" menu item, and the `browser_tabs_supported`/`browser_support` command-core plumbing. Tabs are now terminal-only. ## Added - **New `termy_ui` crate** — Termy's settings design system extracted into a reusable, stateless GPUI component library: sidebar, section headers, grouped cards, setting rows, controls (button, select, stepper, switch, slider, text field, segmented, shortcut), status surfaces (badge, banner, toast, empty state), icon set, theme tokens, and metrics. Ships with a `settings_gallery` example. Forbidden from depending on the desktop app — chrome vocabulary only. - **On-demand Bun plugin host.** `PluginRuntime` now suspends the external Bun host when no plugin subscribes to lifecycle events (`suspend_if_eventless`), and restarts it on the next command invocation. Plugin runtime description updated from "persistent" → "on-demand". - **`launch_probe`** in `desktop_app` — records process-to-first-GPUI-frame timing + viewport readiness to a probe file for launch-perf gating. - **`scripts/check-gpui-launch-idle.sh`** — CI/test harness that launches the release binary in an isolated config and gates first-frame readiness plus settled process-tree RSS, CPU, process count, and (optionally) absence of a lingering Bun host. - New tests: eventless-plugin-host suspend/restart, atomic first-writer launch probe, settings UI-token tracking of window chrome colors. ## Changed - **Settings UI centralized onto `termy_ui`.** `render_settings_group` now delegates card chrome, labels, and row hairlines to `SettingsGroup`; section title/subtitle sizes moved to `termy_ui::metrics`. The settings window syncs global UI tokens each frame so kit components render with the window's own chrome colors (including translucency alpha). - **Settings sections can be opened directly.** `open_settings_section` + a new `SettingsSection` enum let actions jump to a specific settings pane and re-focus an existing window instead of spawning a duplicate. - **"Reset section" control** added per settings section with a hover tooltip ("Reset all settings in this section") and confirmation flow. - **Workspace persistence simplified** — `StoredPaneKind` enum and `browser_url` field dropped; panes are terminals by definition. Added `load_startup_native_session` to preload the native-tab workspace store. - `cli` providers and `menus` no longer thread `browser_tabs_*` capability flags through `CommandCapabilities`. ## Docs & website - **Credited Alacritty** as the terminal engine in the README. - **Website release pages redesigned** — narrower measure (40rem), tag-name headings, refined typography, panel chrome removed in favor of bare `release-notes` prose styling. - **Website navigation streamlined** — marketing shell, download, index, and release listing layouts simplified; new `github-release` helpers. - **Docs site styling** aligned with Termy branding (shared layout, nav, CSS). - Removed `docs/architecture/browser-tabs.md`; updated plugin, configuration, keybindings, and llms reference docs to drop browser-tab mentions.