guth 0.2.34

Native Rust desktop file manager for fast, bounded local file workflows.
Documentation
# 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.