This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+8 more
Summary
AI summaryAdds inline and block math rendering with KaTeX and interactive Mermaid diagram support.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds inline and block math rendering using KaTeX. Adds inline and block math rendering using KaTeX. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Medium |
Adds automatic rendering of Mermaid diagrams as interactive SVGs. Adds automatic rendering of Mermaid diagrams as interactive SVGs. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Medium |
Forces the "snow" light theme for printed outputs and PDF exports. Forces the "snow" light theme for printed outputs and PDF exports. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Medium |
Reorganizes shortcuts dialog into categories and adds `Ctrl + .` toggle. Reorganizes shortcuts dialog into categories and adds `Ctrl + .` toggle. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Medium |
Refreshes Scratchpad welcome text with KaTeX and Mermaid examples. Refreshes Scratchpad welcome text with KaTeX and Mermaid examples. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Low |
Matches Mermaid diagram theme to current UI light/dark mode dynamically. Matches Mermaid diagram theme to current UI light/dark mode dynamically. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Feature | Low |
Modifies keyboard chord timeout to 800 ms post‑cycle while keeping initial window at 2000 ms. Modifies keyboard chord timeout to 800 ms post‑cycle while keeping initial window at 2000 ms. Source: llm_adapter@2026-06-07 Confidence: low |
— |
| Performance | Medium |
Reduces leader-key disarm time to 800 ms from 2 seconds. Reduces leader-key disarm time to 800 ms from 2 seconds. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Performance | Low |
Lazy‑loads KaTeX and Mermaid libraries via dynamic imports to keep startup memory < 30 MB. Lazy‑loads KaTeX and Mermaid libraries via dynamic imports to keep startup memory < 30 MB. Source: llm_adapter@2026-06-07 Confidence: high |
— |
| Performance | Low |
Implements LRU caches for rendered math (size 256) and Mermaid diagrams (size 64). Implements LRU caches for rendered math (size 256) and Mermaid diagrams (size 64). Source: llm_adapter@2026-06-07 Confidence: high |
— |
Full changelog
This is a minor feature update adding advanced document extensions (math rendering and interactive diagrams) alongside user interface polishing and keyboard layout adjustments.
Summary:
- Math Support: You can now write inline math (using
$E = mc^2$) and block math (using$$...$$) directly in your markdown documents, which render smoothly in the preview pane. - Mermaid Diagrams: Fenced code blocks tagged with
mermaidormmd(e.g., Gantt charts, flowcharts, Git graphs) will now automatically render as rich, interactive diagrams. - Improved Printing: Printed outputs and PDF exports will now always use the clean, highly-readable "snow" (light) theme, ensuring diagrams and text remain perfectly legible regardless of your active editor theme.
- Tuned Keyboard Controls: The leader-key system (used for Alt + T/F/D cycling) now disarms much faster (in 800 milliseconds instead of 2 seconds) once you finish cycling, meaning arrow keys return to normal text navigation almost immediately.
- Reorganized Shortcuts Dialog: The shortcuts dialog is now grouped by category (File, View, Style, Editor, App), supports Escape key dismissal, and can be toggled using the
Ctrl + .shortcut. - Updated Scratchpad: The welcome text has been refreshed with direct examples of KaTeX equations, Mermaid diagrams, and updated instructions.
Technical Details:
- Dynamic Imports & Code-Splitting: Dynamic dynamic-imports are used to lazy-load the heavy
katexandmermaidlibraries only when the parser detects math delimiters or diagram code blocks. Highlighting modules are also fetched via Vite'simport.meta.globon-demand to keep initial startup memory under 30 MB. - Marked Extensions: Custom tokenizers parse
blockMathandinlineMathbefore syntax highlighting or general markdown generation, parking raw TeX inside customdata-texattributes so that it survives DOMPurify HTML sanitization. - LRU Caching: Bounded LRU caches (
mathCachesize 256,mermaidCachesize 64) store rendered SVG/HTML output. This ensures active typing in the editor pane does not trigger redundant compilation passes for unmodified blocks. - Theme Parity for SVG Diagrams: Mermaid initializes dynamically with the correct light or dark variant. Theme shifts trigger
refreshForThemeChange(), which re-renders SVG nodes in-place without restarting the entire markdown compiler. Height pinning prevents layout layout-shifts and viewport scrolling jumps during async re-renders. - Print Override: Intercepts
window.print()to switch the top-level HTMLdata-themeattribute tosnowand awaits Mermaid theme refresh before letting the browser print the layout. Restores the user's active theme in anafterprintlistener. - Keyboard Chord Tuning: Modified
armLeaderinsidesrc/core/keyboard.jsto accept a custom timeout duration, updating the post-cycle re-arm to useLEADER_CYCLE_REARM_MS(800 ms) while leaving the initial chord window atLEADER_WINDOW_MS(2000 ms). - Test Coverage: Added
tests/preview/math-mermaid.test.jswritten in Vitest to run tokenization checks, false-positive currency guards, invalid math error boundaries, and integration sanitization checks under jsdom.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About prathamreet/featherMD
All releases →Related context
Related tools
Earlier breaking changes
- v1.4.0 Removed legacy Vim Mode configurations and packages.
Beta — feedback welcome: [email protected]