# Changelog
## Guth 0.2.34 · 2026-08-29
- Added a restrained Glass icon language for interface controls, sidebar
landmarks, and file art. Layered highlights, tint, border, and shadow create
depth without platform blur APIs, external assets, or a GTK/GDK dependency;
foreground glyphs retain palette-aware contrast on light and dark themes.
- Added a Monochrome file family that uses calm neutral symbols and introduces
the active accent only on interaction. Existing Contour, Halo, Solid,
Adaptive, Dimensional, Soft tile, and Symbolic preferences remain stable and
unknown values still fall back to Contour/Contour/Adaptive.
- Added Recommended, Cupertino Glass, Minimal, and Bold one-click presets.
Presets write the same independent interface/sidebar/file preferences rather
than creating hidden state, while the full design space grows from 36 to 96
combinations.
- Expanded the release-blocking icon beauty gates to 592 render combinations:
all 41 chrome glyphs across four styles and two optical sizes, plus all 11
file classes across six styles, two sizes, two palettes, hover, and loading
states. Added preset uniqueness, completeness, default-stability, config
round-trip, finite geometry, and optical-canvas assertions.
- Kept file operations, internal and external drag/drop hit areas, keyboard
navigation, selection semantics, and plugin surfaces unchanged by confining
this pass to presentation, preferences, documentation, and render tests.
Validation for this release includes 241 workspace tests, strict Clippy,
warning-free rustdoc, Cargo's registry-aware publish dry run, package-content
inspection, optimized-binary linkage inspection, and live X11 visual gates of
Glass and Monochrome on representative light and dark palettes.
## Guth 0.2.33 · 2026-08-29
- Added independently persisted Contour, Halo, and Solid icon styles for both
interface controls and sidebar landmarks, plus Adaptive, Dimensional, Soft
tile, and Symbolic file styles. View Options now includes concise guidance,
a responsive live preview, a recommended reset, and 36 mix-and-match
combinations.
- Added a complete symbolic file family for folders, images, video, audio,
archives, code, PDF, text, links, special entries, and generic files. The
recommended Adaptive mode uses these simpler shapes at dense list sizes and
keeps the richer dimensional family for grids and larger previews.
- Applied selected file styling to current-folder landmarks and kept interface,
sidebar, and file rendering independent so one family cannot accidentally
restyle another. All glyphs remain code-native, theme-aware vectors with no
icon-font, GTK/GDK, or proprietary platform-asset dependency.
- Added release-blocking icon beauty gates: all 41 interface glyphs render in
all three styles at 16 px and 22 px; all 11 file classes render in all four
styles at list and grid sizes on light and dark palettes. Tests enforce
bounded finite geometry, optical padding, unique accessibility labels,
adaptive sizing, and stable preference round trips.
Validation for this release includes 240 workspace tests, strict Clippy,
warning-free rustdoc, Cargo's registry-aware publish dry run, package-content
inspection, optimized-binary linkage inspection, and live X11 visual gates of
the recommended and mixed icon families at 1400×950.
## Guth 0.2.32 · 2026-08-29
- Added an adaptive Linux window backend: Guth prefers X11/XWayland when it is
available for complete desktop file clipboard and drag-out behavior, then
falls back to native Wayland when no X display exists. The backend can be
selected explicitly with `--window-backend` or `GUTH_WINDOW_BACKEND`, and is
visible in View Options.
- Expanded Quick Actions into a complete navigation surface with Back,
Forward, Parent, Home, location entry, folder search, sidebar, and direct
List/Grid commands. Added `Alt+Home`, `Ctrl+B`, `Ctrl+1`, `Ctrl+2`, and `/`
shortcuts with matching hover guidance and action feedback.
- Added release-blocking semantic contrast gates across every palette for
primary, secondary, muted, accent, success, warning, danger, focus, and
selection colors on both workspace and panel surfaces. Refined Cupertino
Light, Nordic, Slate Pro, Rosé Pine Dawn, Catppuccin Latte, Paper, and Sage
tokens where the stronger checks exposed weak small-text contrast.
- Kept Guth independent of GTK/GDK runtime versions. Wayland support is loaded
dynamically, and optional icon/desktop cache refresh helpers now warn rather
than invalidating an otherwise successful desktop integration install.
Validation for this release includes 234 workspace tests, strict Clippy,
warning-free rustdoc, Cargo's registry-aware publish dry run, optimized-binary
linkage inspection, and live X11 visual gates at 1240×800 and the supported
760×520 minimum viewport.
## Guth 0.2.31 · 2026-08-29
- Added Rosé Pine Dawn, Rosé Pine Moon, Catppuccin Latte, and Catppuccin
Mocha palettes with tuned semantic colors, readable light/dark contrast,
and quiet seven- or six-pixel corner profiles.
- Added stable configuration aliases and round-trip tests for every new
palette; existing palette IDs and density preferences remain compatible.
## Guth 0.2.30 · 2026-08-29
- Added persisted Compact, Comfortable, and Spacious density profiles that
tune list rows, grid tiles, spacing, controls, and keyboard navigation as a
single responsive layout system.
- Added density descriptions in Appearance and retained a comfortable default;
missing or unknown values migrate safely without changing existing themes.
## Guth 0.2.29 · 2026-08-27
- Added a System (Auto) palette that follows `COLOR_SCHEME` or `GTK_THEME`
desktop preferences and safely defaults to Guth Cyan Dark when no signal is
available; its resolved colors and corner profile remain fully contrast-
checked.
## Guth 0.2.28 · 2026-08-27
- Preserved the pre-existing `cupertino_light` and `cupertino_dark` preference
aliases for users of older Guth releases; the new presets use explicit
`cupertino_sonoma_light` and `cupertino_sonoma_dark` IDs for unambiguous
round-tripping.
## Guth 0.2.27 · 2026-08-27
- Added Cupertino Light and Cupertino Dark palettes with restrained macOS-
inspired surfaces, readable semantic colors, and quiet blue focus accents.
- Added Nordic and Slate Pro palettes for cool, low-distraction and crisp
professional workflows.
- Added palette-specific corner profiles: soft Cupertino rounding, balanced
Nordic/default rounding, and compact Slate corners across panels, dialogs,
rows, tabs, and drag targets.
- Added compact theme swatches, descriptions, and corner-profile hints to the
Appearance chooser; existing palette IDs and legacy aliases remain stable.
## Guth 0.2.26 · 2026-08-27
This release turns Guth into a polished, resilient Linux file-manager
workflow rather than a single-folder browser:
- Added an optional two-pane workspace (`F3` to toggle, `F6` to switch) with
independent folders, tabs, history, search, selection, background scans,
drag targets, and responsive single-pane fallback.
- Added bounded, private workspace restoration for pane/tab locations with
atomic saves, raw Unix path preservation, missing-folder filtering, and no
persistence of selections, clipboard data, search text, or undo history.
- Completed drag-and-drop workflows across panes, tabs, sidebar folders,
Trash, the desktop clipboard, and native X11/XWayland drag-out, including
visible copy/move feedback and edge auto-scroll.
- Added safe `.tar.gz` and `.zip` creation alongside traversal-safe extraction.
Archives preserve symlinks, reject collisions and unsafe paths, skip special
nodes with a warning, use no-clobber placement, and remain undoable.
- Hardened Linux archive traversal and removal against symlink races with
descriptor-relative, no-follow identity checks; temporary archive files are
collision-safe and never follow planted symlinks.
- Expanded Open With into a recursive XDG desktop-entry chooser with locale
and MIME ranking, `TryExec` and desktop visibility handling, safe no-shell
`Exec=` expansion, raw non-UTF-8 path support, working-directory and
terminal handling, and `%c`/`%k` metadata expansion.
- Added schema-2 external GUI plugin actions to Guth and `guth-cli`: bounded
asynchronous probes, declarative matchers, host-owned icons and placement,
explicit destructive confirmations, cancellation, strict identity checks,
and author-side request parsers.
- Tightened plugin discovery and protocol validation: incomplete scans fail
closed for pruning, UUIDs require RFC4122 UUIDv7, UI strings reject unsafe
invisible formatting, and schema contracts remain explicit and
backwards-compatible.
- Removed the generated `session.json` artifact from published history and
ignored it at the repository root. It is not part of the crates.io payload.
Validation for this release includes the complete workspace test suite,
strict Clippy, rustdoc with warnings denied, package-list checks, and live
X11 split-pane smoke testing.
## guth-cli 0.1.3 · 2026-08-27
- Added the versioned schema-2 GUI action protocol and plugin-author SDK
helpers while retaining schema-1 command compatibility.
- Added bounded JSON probe/invoke parsing, byte-preserving Unix paths,
identity/action validation, cancellation, and typed result semantics.
- Made plugin discovery diagnostics bounded and pruning fail closed when a
directory scan is incomplete.
- Tightened manifest, UUIDv7, executable ownership, permission, and UI-text
validation; documented that typed failed/cancelled results exit zero.