Repository navigation
Cathet v4.0
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.
- Pasting clipboard screenshots or image files (
-
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.
- 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.
-
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.
- Markdown preview now seamlessly resolves local relative image links (
-
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.
- Edit mode now operates strictly on clean plain text (
-
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.
- Embedded HTML in Markdown documents is parsed through a zero-dependency sanitizer using the native
-
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).
- Prevents WebView freezing or memory spikes when pasting massive graphics files by displaying an in-app frosted glass warning dialog (
-
Broken Image Fallbacks:
- Missing or moved local images render clean, frosted fallback cards (
brokenImageFallback.ts) instead of breaking page layout.
- Missing or moved local images render clean, frosted fallback cards (
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, andFontSelect.ts. - Editor paste and media workflows separated into
editorPasteHandler.ts,imageOptimizer.ts,imagePathResolver.ts,base64Fold.ts,brokenImageFallback.ts, andmarkdownSanitizer.ts. - Styles modularized into
editor.css,settings.css, andmain.css.
- Settings tabs split into
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.ps1to 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)