Skip to content

Releases: b451c/quickmd

v1.4.1 — Inline Math, Footnotes, Homebrew

03 Apr 11:53

Choose a tag to compare

What's New

Added

  • Inline Math: $...$ expressions render as TeX-quality graphics inline with paragraph text — fractions, integrals, superscripts all render beautifully within a sentence
  • Footnotes: [^id] references render as superscript numbers, definitions listed at end of document
  • Homebrew Cask: brew install --cask quickmd formula included

Full Changelog: https://github.com/b451c/quickmd/blob/main/QuickMD/CHANGELOG.md

v1.4.0 — LaTeX Math & Mermaid Diagrams

03 Apr 11:20

Choose a tag to compare

What's New

Added

  • LaTeX Math Rendering: Display math blocks ($$...$$) are now rendered with TeX-quality typography. Supports fractions, integrals, matrices, sums, and all standard LaTeX notation. Powered by vendored SwiftMath — native Core Graphics rendering, zero network dependency.
  • Mermaid Diagram Rendering: Fenced code blocks with ```mermaid are now rendered as visual diagrams — flowcharts, sequence diagrams, pie charts, class diagrams, and more. Powered by bundled Mermaid.js.

Fixed

  • Dead App Store Link: Updated the Mac App Store link to the correct app ID.

Zero external dependencies. SwiftMath is vendored (copied into the project), Mermaid.js is bundled as a static resource. No SPM packages, no CocoaPods, no network required.

Contributors: @ken-ams (bug report)
Full Changelog: https://github.com/b451c/quickmd/blob/main/QuickMD/CHANGELOG.md

v1.3.3 — Local Image Access, Persistent ToC, Scroll Fix

25 Mar 18:02

Choose a tag to compare

What's New

Added

  • Folder Access for Local Images: QuickMD now prompts for folder access when a local image can't be loaded due to sandbox restrictions. Access is persisted via Security-Scoped Bookmarks — the prompt only appears once per folder.
  • Persistent Table of Contents: The ToC sidebar state now persists across app launches and new documents.
  • Check for Updates: GitHub version now shows "Check for Updates" in the Help menu, with a subtle notification when a new version is available.

Fixed

  • Scroll Freeze on Complex Code Blocks: Fixed a UI freeze caused by rapidly creating/destroying views containing box-drawing Unicode characters during fast scrolling.
  • Cmd+W to Close: Restored the standard macOS Close Window shortcut that was accidentally removed by a CommandGroup override.

Contributors: @fxd0h (Security-Scoped Bookmarks), @tbeseda (feature requests)
Full Changelog: https://github.com/b451c/quickmd/blob/main/QuickMD/CHANGELOG.md

v1.3.2 — File > Open, Local Link Navigation, URL Encoding

02 Mar 18:10

Choose a tag to compare

What's New

Added

  • Local Markdown Navigation: Clicking a link to another local .md, .markdown, .mdown, or .mkd file now automatically opens it in a new QuickMD window, bypassing default system editors.
  • Space Character URL Parsing: Links with spaces in paths/titles are now correctly percent-encoded and activate properly.

Fixed

  • File > Open Menu: Restored the native File > Open and File > Open Recent menu items that were previously hidden.
  • Relative Document Links: Relative links like ./other.md are now resolved against the originating document's directory.

Full Changelog: https://github.com/b451c/quickmd/blob/main/QuickMD/CHANGELOG.md

v1.3.1 — Copy to Clipboard & Search Improvements

13 Feb 10:21

Choose a tag to compare

What's New

Copy to Clipboard

  • ⌘⇧C copies the entire raw markdown to clipboard
  • "Copy source" button (top-right) — hover to reveal, click to copy whole file
  • Copy sections — hover any heading in the main content or ToC sidebar to reveal a copy icon that copies that section's markdown
  • Toast feedback — "Copied!" notification on all copy operations

Search Improvements

  • Word-level highlighting now works inside code blocks, tables, and blockquotes (previously only text and headings)
  • Per-occurrence navigation — arrow keys move between individual word matches, not just blocks. Counter shows exact count (e.g., "5/19")
  • Focused match highlighted in orange, all others in yellow

Performance Fixes

  • Critical hang fix: MarkdownBlock converted from enum with computed id to struct with stored id — eliminates thousands of AttributedString copies per LazyVStack layout pass that caused 100% CPU freezes during scrolling
  • Search navigation: Pre-computed highlight cache + dedicated focus state. Arrow clicks now recompute only 1 block instead of all visible blocks
  • Optimized searchHighlight: Single-pass parallel index iteration replaces per-character dictionary allocation

Full Changelog: v1.3...v1.3.1

QuickMD v1.3

13 Feb 01:08

Choose a tag to compare

Major Feature Release

17 commits since v1.2.1 — the biggest update yet, completing the entire Phase D roadmap.

New Features

Find & Search (D5)⌘F

  • Match highlighting, counter ("1/5"), ⌘G / ⇧⌘G navigation, Escape to close

Nested Blockquotes (D2)

  • Full nesting support with left border indicators per level

Double-backtick Inline Code (D1)

  • code with ` backtick per CommonMark spec

Per-block PDF Export (C4)

  • Each block rendered individually — page breaks only between blocks, no mid-block splits

Table of Contents (D4)⌘⇧T

  • Auto-generated sidebar from H1–H6 headings, click-to-navigate

Reference-style Links (D3)

  • [text][id], [text][], [text] formats with case-insensitive matching
  • Definition lines hidden from output

Custom Color Themes (D6)⌘,

Theme Type
Auto Follows system light/dark
Solarized Light Warm cream background
Solarized Dark Deep blue background
Dracula Purple-tinted dark
GitHub Clean white, familiar style
Gruvbox Dark Warm earthy tones
Nord Arctic blue palette

Improvements

  • Background parsing on Task.detached (no UI freezes)
  • Comprehensive code audit: Sendable conformance, FocusedValue multi-window, recursive bold/italic parsing, bracket depth tracking
  • MarkdownTheme refactored to stored properties with static theme instances

Bug Fixes

  • Triple-backtick in inline context renders correctly
  • Search index mapping for AttributedString
  • ⌘F shortcut reliability

Full Changelog

See CHANGELOG.md

QuickMD v1.2.1

22 Jan 21:37

Choose a tag to compare

Performance & Quality Release

A quality-focused release with significant performance optimizations and code improvements.

Performance Highlights

Optimization Impact
Cached MarkdownRenderer -99% allocations per parse
Cached syntax highlighting Zero recomputation on re-render
Static regex compilation 9 patterns, zero runtime compilation
Theme caching Singleton pattern, zero allocations

Code Quality Improvements

  • Zero runtime force unwraps - All URLs moved to compile-time validated constants
  • Zero sync network calls - Remote images handled gracefully in PDF export
  • Proper logging - Replaced print() with os.Logger
  • Consistent patterns - Stored properties instead of computed where appropriate

Audit Results

Category Score
SwiftUI Performance 10/10
Code Quality 10/10
Production Readiness 10/10

Checksum

SHA256 (QuickMD-v1.2.1.zip) = e57d7a208e9c02bbd175792ad1a890296a42916fecce3a532b4a9419d61342c0

Full Changelog: v1.2...v1.2.1