Call for testing: MarkText 0.20.0 RC — rebuilt editor engine
MarkText 0.20.0 is now at Release Candidate 4 — please help us test it
This is the biggest internal change MarkText has had in a long time: the entire editor engine has been rewritten from the ground up. After several rounds of beta testing, we've reached the fourth release candidate (RC 4) for 0.20.0. We're almost there — one more round of real-world testing before the stable release.
Download: https://github.com/marktext/marktext/releases/tag/v0.20.0-rc.4 (Windows · macOS · Linux — installers for all platforms are attached to the release.)
⚠️ macOS users: the build is unsigned. After dragging MarkText to Applications, run this once in Terminal so macOS will open it:
xattr -cr /Applications/marktext.app
What's new in RC 4
RC 4 rolls up 28 changes since RC 3:
- ✂️ Cut: cutting a selection that ends in a table, a code block or its language line, or that starts in a list or quote, no longer drops or scrambles the surrounding blocks
- Headings: heading-level commands change the paragraph at the caret (not its whole list), keep a setext heading's level and every line of a multi-line paragraph; Backspace on a heading marker updates the block correctly
- ⌦ Delete: forward Delete at the end of a paragraph keeps the rest of a following blockquote quoted, and in a table's last cell no longer loses later edits; paragraph menu commands apply to a whole table or code block
- Find & replace: regex replace keeps
$in captures, supports$10and higher and unmatched groups, and Replace All substitutes each match separately; plain-text searches containing{}now match literally - Math:
$$ … $$written on a single line now renders as display math - Source code mode: every line is numbered (previously only every 10th), and a new setting in Preferences › Editor hides line numbers
- ️ Select All works again after undoing a new paragraph; fixed "Unexpected error" crashes with the table-size picker after undo and when resizing images; inline HTML tags keep their
id - ️ Release builds no longer show developer tools in the View menu; Quick Open works with files open but no folder; MarkText starts normally with
NODE_ENV=developmentset, and opens files passed to a second instance started with--user-data-dir
Why a rewrite?
The old editor core had grown hard to maintain and was the root of many long-standing bugs. The new engine was rebuilt to be faster, more reliable, and easier to keep improving.
What you should notice
- Smoother editing, especially in large documents. When you type, the editor now updates only the part that actually changed instead of redrawing more than it needs to — so typing and scrolling in long notes stays responsive.
- More reliable and predictable. The new core is strictly type-checked, has a large automated test suite, and is checked against the official CommonMark and GitHub Flavored Markdown standards — so how your markdown is parsed and saved is more consistent.
- Your files stay intact. Opening a markdown file and saving it back preserves your content faithfully, including reference links, footnotes, and front matter.
Features you can try
- ✍️ Headings, lists, quotes, code blocks (with syntax highlighting), tables, links, images
- ✅ Task lists with clickable checkboxes (option to auto-move finished items to the bottom)
- Math with KaTeX — inline
$...$and block$$...$$ - Diagrams — Mermaid, flowchart, sequence, PlantUML, and Vega-Lite charts
- Footnotes and reference-style links/images
- Front matter (YAML / TOML / JSON)
- Super/subscript, emoji picker (
:to trigger) - #️⃣ Optional code-block line numbers
- ⚡ Slash
/quick-insert menu and block drag handle - Focus mode, search & replace (regex / case / whole-word)
- UI available in 11 languages
Please help us test these areas
These are the spots most likely to still have rough edges — if you use MarkText heavily, testing here is gold:
- Lists & indentation — nested lists, mixing lists with quotes, Enter/Backspace in empty items, task-list toggles
- Copy & paste — pasting from Word / Google Docs / web pages, and pasting tables
- Undo / redo — after fast typing, after switching tabs, across different block types
- CJK / IME input — Chinese / Japanese / Korean typing, especially with auto-pair brackets/quotes
- Arrow-key navigation — moving at the very start/end of the document and across block boundaries
- Formatting across blocks — bold/italic/code spanning blockquotes or multiple list items
- Large documents — open a big note and check typing/scrolling stays smooth
- Math & diagrams — rendering and editing
- Export — HTML / PDF output looks right
A note on bugs
This is a release candidate — it should be close to final, but you may still run into bugs or rough edges, and that's exactly what we're hoping you'll help us find. If something looks wrong, please report it (details below).
How to report a problem
Please open a new issue (one issue per problem) and include:
- MarkText version:
0.20.0-rc.4 - OS & version (e.g. Windows 11, macOS 15, Ubuntu 24.04)
- What you did — step-by-step to reproduce
- What you expected vs what happened
- A small markdown sample that triggers it, plus a screenshot or short screen recording if you can
Thank you for helping make 0.20.0 solid for everyone!
Source: marktext/marktext