Skip to content

Releases: selimacerbas/markdown-preview.nvim

v1.5.3

24 Mar 14:58

Choose a tag to compare

  • Strip YAML front matter from preview — metadata blocks no longer render as headings/text

v1.5.2

21 Mar 00:16

Choose a tag to compare

  • Add task list checkbox rendering (- [ ] / - [x]) via markdown-it-task-lists

v1.5.1

13 Mar 08:41

Choose a tag to compare

  • Remove heading anchor permalink symbols (#) from preview for cleaner readability

v1.5.0

13 Mar 01:38

Choose a tag to compare

  • Add takeover instance mode (default): single browser tab shared across Neovim instances via lock file coordination
  • Add multi instance mode: independent server and browser tab per instance (port 0)
  • Add lock file and remote event modules for cross-instance coordination
  • Secondary instances get scroll sync via HTTP event injection

v1.4.0

21 Feb 13:32

Choose a tag to compare

What's new

LaTeX math rendering

Added support for LaTeX math via KaTeX and markdown-it-texmath.

  • Inline math: $E = mc^2$
  • Display math: $$\int_0^\infty e^{-x^2} dx$$
  • LaTeX environments: \begin{equation}...\end{equation}

All loaded from CDN, zero extra dependencies. Just update and it works.

Closes #6

v1.3.0

15 Feb 20:04

Choose a tag to compare

What's new

Line-based scroll sync

Rewrote scroll sync from heading-based to line-based interpolation, inspired by peek.nvim and iamcco/markdown-preview.nvim.

Before: Only headings were tracked (5-15 anchor points), scrolling up was inconsistent, files without headings had no sync at all.

After: Every block element (paragraphs, headings, lists, tables, blockquotes, code blocks) is tagged with its source line number. The browser interpolates between the nearest elements for sub-element precision. Scrolling is instant (no animation fighting) and works in both directions consistently.

Fixes:

  • Scrolling up no longer fights with itself
  • Files with no headings now scroll correctly
  • Layout shifts (images loading) re-apply scroll position automatically

v1.2.1

15 Feb 12:33

Choose a tag to compare

Fixed

  • Scroll sync heading detection was broken due to Lua pattern {n,m} quantifier not being supported (treated as literal text). Headings are now correctly matched.
  • Removed debug logging left from development.
  • Updated README with scroll sync documentation and fixed stale keymap references in troubleshooting.

v1.2.0

15 Feb 12:08

Choose a tag to compare

New

Heading-based scroll sync

As you move your cursor between sections in Neovim, the browser preview smoothly scrolls to the corresponding heading. No configuration needed — enabled by default.

  • Tracks the nearest heading above the cursor via CursorMoved autocmd
  • Sends a lightweight SSE event only when the heading changes (no unnecessary traffic)
  • Browser uses scrollIntoView({ behavior: 'smooth' }) for a polished experience
  • Disable with scroll_sync = false in setup if not wanted

Requires live-server.nvim v1.1.0+ (for send_event API).

Closes #5

v1.1.1

13 Feb 12:07

Choose a tag to compare

Changes

  • Removed default keymaps — commands (:MarkdownPreview, :MarkdownPreviewRefresh, :MarkdownPreviewStop) are still registered, but keymaps are now left to the user to avoid conflicts
  • Added suggested keymap snippet to README for easy copy-paste

Closes #4

v1.1.0

12 Feb 17:42

Choose a tag to compare

New Features

Optional Rust-powered mermaid rendering

Pre-render mermaid diagrams on the Neovim side via the mmdr CLI — roughly 400x faster than browser-side mermaid.js.

require("markdown_preview").setup({
  mermaid_renderer = "rust",  -- default: "js"
})
  • Install: cargo install mermaid-rs-renderer
  • Failed blocks fall back to browser-side rendering automatically (per-block)
  • Default remains "js" — zero external dependencies preserved
  • Expand/zoom/pan/export all work on pre-rendered diagrams

Colored heading borders

Headings (h1–h6) now have a colored left border for improved readability and visual hierarchy:

Level Color
h1 Blue
h2 Purple
h3 Green
h4 Teal
h5 Amber
h6 Gray

Colors adapt to dark/light theme and match the existing callout/admonition palette.

Other Improvements

  • Polished browser tab lifecycle — graceful reconnect when tab is closed and reopened
  • Improved Markdown visual handling (better spacing, typography)