Skip to content

Cathet v3.3.0

Choose a tag to compare

@Crlyzd Crlyzd released this 12 Sep 16:49
· 50 commits to master since this release
70a1b1a

Cathet v3.3.0 Release Notes

Target Release: v3.3.0
Target Architectures: Windows x64 (release/cathet-v3.3.0-x64.exe) & ARM64 (release/cathet-v3.3.0-arm64.exe)
Previous Stable Release: v3.1.1
Distribution Target: Under 4.0 MB portable single-binary executable


📋 Release Summary

Cathet v3.3.0 introduces major architectural enhancements, native system integrations, and deep performance optimizations. This milestone delivers a custom frameless window header with native controls, a robust zero-admin Windows file association engine with self-healing capabilities, recursive multi-process memory compaction, and 100% offline bundled WOFF2 typography.


🌟 What's New in v3.3.0

1. Frameless Window Header & Integrated Window Controls

  • Native Custom Window Controls: Integrated fluent Minimize, Maximize / Restore, and Close buttons directly into the frosted Acrylic top header (TopBar.ts, topbar.css).
  • Stateful Maximize / Restore Synchronization: Dynamically updates the restore/maximize icon by subscribing to Tauri window resize and maximize events via windowService.ts.
  • Balanced Titlebar Drag Region: Centered document title with smart text-overflow truncation while preserving native Windows DWM window dragging via data-tauri-drag-region.
  • Redesigned Dot Menu Button: Compact 24px fluent circular trigger (●) with translucent backdrop hover feedback.
  • Ambient Hairline Progress Line: File load progress bar moved to the top window edge as a 1.5px glowing hairline indicator.

2. Windows File Association & Portable Self-Healing

  • Zero-Admin HKCU Association: Register Cathet as the default text editor for .txt, .md, .json, .csv, .log, .yml, and code files without administrative privileges via association.rs.
  • Self-Healing Executable Relocation: When Cathet is moved to another folder or drive, self_heal_if_moved() automatically detects the path mismatch at startup and updates the registry quietly without user disruption.
  • Settings Management & Verification: Added a dedicated Default Application management row in SettingsTabs.ts with active path inspection, hover tooltips, and frosted glass confirmation modals.
  • Categorized File Dialog Filters: Filter files by category (Markdown, Code & Scripts, Data & Config, Logs & Output, and All Files) in file.rs.
  • UTF-8 Safety Modal: Catches binary or non-UTF-8 files upon opening or drag-and-drop, warning the user via a friendly glass modal dialog.

3. Recursive Process-Tree Memory Compaction

  • Toolhelp32 Process Tree Walking: Backend memory compaction (memory.rs) now traverses the full process hierarchy to locate all WebView2 child processes (Renderer, GPU, Utility, and Manager).
  • Standby Page Flushing: Flushes unreferenced memory pages to the Windows standby list across the entire process tree via SetProcessWorkingSetSize upon window blur and post-load idle stabilization.
  • Uncompromised Visuals: DirectComposition and Skia backdrop blur shaders remain 100% hardware-accelerated without degraded visuals or blur artifacts.

4. 100% Offline Bundled WOFF2 Typography

  • Zero External Network Dependencies: Replaced remote Google Fonts CDN links with locally bundled WOFF2 font files (Noto Sans, Roboto, Inter, JetBrains Mono, Fira Code) in public/fonts/ and fonts.css.
  • Instant Startup & Privacy: Eliminates network latency on first run and prevents persistent Chromium Network/Storage utility processes.

5. GPU & Energy Optimizations

  • Eliminated Idle GPU Drain: Hidden .cathet-drop-overlay (display: none) when inactive and scoped pulseDrop animations strictly to active drag operations, eliminating continuous 60fps GPU compositor cycles.
  • Compositor-Friendly Glow Effects: Replaced unbounded CSS text-shadow animation loops with lightweight transform and opacity bursts capped to 3 cycles.
  • Process Consolidation: Tuned WebView2 runtime flags (NetworkServiceInProcess, --disable-crash-reporter, --renderer-process-limit=1, --disable-features=SpareRendererForSitePerProcess).

6. Light Mode Readability & Accessibility Overhaul

  • WCAG AAA/AA Contrast Compliance: Upgraded muted text and borders from faint grays to high-contrast slate tones (#334155 / #475569).
  • Elimination of Harsh Pure Black: Replaced #000000 borders and shadows with deep slate tones (#1e293b / rgba(15, 23, 42)), creating a cohesive modern appearance across both dark and light themes.

7. Developer Experience & Fast Release Profiling

  • Rapid Iteration Profile: Added [profile.fast-release] in Cargo.toml with opt-level = 1, lto = "off", and codegen-units = 256 for near-instant native test builds.
  • Hardened Automation Script: Updated build.ps1 with exit code assertions, stale binary purging, and automated multi-file SemVer bumping.

📦 Binary Verification & Checksums

Architecture Binary File Profile Size Target
Windows x64 cathet-v3.3.0-x64.exe Release (opt-level="z", LTO, strip) ~3.7 MB
Windows ARM64 cathet-v3.3.0-arm64.exe Release (opt-level="z", LTO, strip) ~3.5 MB

📂 Key Commits Since v3.1.1

  • fa9cda0 — feat: add TopBar component and styles for window controls and file title display
  • 949e35b — fix: window maximize/restore handling and windowService capabilities
  • 4fe7f93 — feat: add Cargo configuration, UI styles, and fast-release build profile support
  • 6b66e3a — perf(memory): implement recursive process tree working set compaction
  • fb4e878 — feat(ui): implement titlebar-less frameless header and enhance light mode readability
  • ef8ad6d — feat(settings): add default app registration with self-healing and expand supported file types
  • 377cef4 — perf(core): optimize resource usage, bundle local fonts, and harden build pipeline