← all releases

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.