Skip to content

Cathet v4.0

Choose a tag to compare

@Crlyzd Crlyzd released this 26 Sep 11:34
· 41 commits to master since this release

Cathet v4.0.0 Release Notes

Release Date: September 2026
Tag / Version: v4.0.0
License: MIT
Platform: Windows 10 & 11 (x64 / ARM64)
Binary Size: cathet-x64.exe ~3.72 MB | cathet-arm64.exe ~3.49 MB


🌟 Overview: What's New in v4.0.0

Cathet v4.0.0 is focused entirely on a major Markdown & Media subsystem overhaul and a strict modular architectural refactoring.

While earlier 3.x releases laid the foundation with Windows Acrylic backdrops, single-file portability, and process memory trimming, v4.0.0 elevates Cathet into a full-fledged, multimedia-capable Markdown workstation without increasing its featherweight memory footprint.


🚀 What's New Since v3.3

1. 📷 Next-Gen In-Memory Image & Markdown Engine

  • In-Memory Image Optimization (imageOptimizer.ts):
    • Pasting clipboard screenshots or image files (Ctrl + V) over 500 KB automatically downscales them (max 1920px width/height) and re-encodes them to WebP (0.82 quality) entirely in-memory before embedding.
    • Images $\le 500\text{ KB}$ bypass recompression to preserve 1:1 pixel sharpness.
    • Documents stay lightweight, snappy, and easy to share.
  • Interactive Collapsible Base64 Pills (base64Fold.ts):
    • Raw Base64 data URIs can turn raw Markdown into thousands of characters of unreadable text. In Edit mode, Cathet automatically folds massive data URIs into compact, frosted glass pill badges (e.g. [ 📷 WEBP ~245 KB ▾ ]).
    • Clicking a badge toggles between the compact pill and the raw expanded text. Full fidelity is preserved 100% losslessly on Save and Preview.
  • Local & Relative Asset Streaming (imagePathResolver.ts):
    • Markdown preview now seamlessly resolves local relative image links (./images/screenshot.png), Windows absolute paths (C:/Users/.../photo.png), and remote URLs (https://...) using Tauri v2's asset streaming protocol.
  • Lossless Instant Preview Toggle (Ctrl + M):
    • Edit mode now operates strictly on clean plain text (editorEl.innerText). Switching back and forth between Edit and Preview is 100% lossless, idempotent, and never mutates or scrapes the DOM.
  • GFM HTML Sanitization (markdownSanitizer.ts):
    • Embedded HTML in Markdown documents is parsed through a zero-dependency sanitizer using the native DOMParser, safely supporting standard GFM formatting tags while neutralizing XSS vectors.
  • 15 MB Image Paste Safety Cutoff:
    • Prevents WebView freezing or memory spikes when pasting massive graphics files by displaying an in-app frosted glass warning dialog (GlassDialog.ts).
  • Broken Image Fallbacks:
    • Missing or moved local images render clean, frosted fallback cards (brokenImageFallback.ts) instead of breaking page layout.

2. 📖 Built-In Interactive Offline Guide

  • One-Click Tutorial: Added a dedicated "📖 Open Tutorial" button inside the Settings window.
  • Zero-Latency Offline Loading: Loads tutorial.md directly into Cathet in Markdown preview mode, providing an immediate reference for keyboard shortcuts, Markdown syntax, image pasting, and table formatting without requiring an internet connection.

3. 🏗️ Strict Modular Architecture Refactoring (Anti-Monolith Invariant)

  • Eliminated Monolithic Components: Decomposed previously monolithic UI components into focused, single-responsibility modules strictly under 250 lines:
    • Settings tabs split into SettingsTabs.ts, SettingsPane.ts, AboutPane.ts, and FontSelect.ts.
    • Editor paste and media workflows separated into editorPasteHandler.ts, imageOptimizer.ts, imagePathResolver.ts, base64Fold.ts, brokenImageFallback.ts, and markdownSanitizer.ts.
    • Styles modularized into editor.css, settings.css, and main.css.

4. 🪟 UI & Window Refinements

  • Settings Top-Resize Fix: Eliminated the top-border resize cursor artifact and vertical height jump when clicking or focusing the Settings window.
  • Windows Path Handling: Hardened path normalization for Windows drive letters (C:/...) and encoded URI characters when referencing local media.

5. 🛠️ Build Automation Hardening

  • Fast Build Artifact Isolation: Hardened build.ps1 to prevent cross-contamination of fast-release build artifacts and tightened architecture check routines.

📋 Changelog (v3.3 → v4.0.0)

Category Changes
New Features In-memory clipboard image compressor & WebP optimizer (imageOptimizer.ts)
New Features Collapsible Base64 frosted glass pills for Edit mode (base64Fold.ts)
New Features Local, relative, and absolute image path streaming resolver (imagePathResolver.ts)
New Features Zero-dependency GFM HTML sanitizer (markdownSanitizer.ts)
New Features In-app interactive offline guide (tutorial.md) button in Settings
New Features 15 MB image paste safety alert dialog (GlassDialog.ts)
Refactoring Full modular decomposition of Settings & Editor components (< 250 line limit)
Enhancements Lossless Ctrl+M preview toggle (operates purely on raw plain text)
Bug Fixes Eliminated Settings window top-edge resize cursor flicker and height jump
Bug Fixes Fixed Windows drive-letter path parsing for local Markdown images
Tooling Isolated fast-release artifacts and hardened architecture checks in build.ps1

📦 Downloads

  • Windows x64: cathet-v4.0.0-x64.exe (~3.72 MB)
  • Windows ARM64: cathet-v4.0.0-arm64.exe (~3.49 MB)