NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4730 most downloaded on PyPI
A fast Markdown linter and formatter written in Rust
Last release 5 days ago
29 Sep 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
2 years old
367 releases · first in 2025
One column per month.
MD064: Fixed false positives inside indented fenced code blocks when --- horizontal rules appear later in the document
--- horizontal rules appear later in the document (#536)
Options::all() with an explicit pulldown-cmark option allowlist, excluding ENABLE_YAML_STYLE_METADATA_BLOCKS which misinterprets --- horizontal rules as YAML metadata delimiters (works around pulldown-cmark#1000)--- at line 1, not anywhere in the document)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.55-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.55-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.55-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.55-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.55-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.55-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.55-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Lines consisting entirely of inline HTML (e.g., badge links ) are no longer flagged when strict = false
<a href="..."><img .../></a>) are no longer flagged when strict = false (#535)
href, src, srcset, poster)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.54-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.54-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.54-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.54-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.54-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.54-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.54-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Fixed reflow dedenting paragraph after code block out of admonition inside list item
in_admonition and in_code_block flags set; the code block check ran first, prematurely flushing the admonition context| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.53-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.53-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.53-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.53-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.53-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.53-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.53-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: New blockquotes config option to control line length checking inside blockquotes, and fix paragraphs=false to correctly skip paragraph content
blockquotes config option to control line length checking inside blockquotes, and fix paragraphs=false to correctly skip paragraph content[text](url)) or reference link labels ([text][ref]) within HTML comments, HTML blocks, and frontmatter where pulldown-cmark doesn't parse Markdown syntax (#532)\\[) correctly in link URL detection1.)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.52-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.52-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.52-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.52-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.52-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.52-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.52-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Code block tools: Ignore BrokenPipe when writing to tool stdin, fixing intermittent failures with tools that exit before consuming input (e.g., linter
BrokenPipe when writing to tool stdin, fixing intermittent failures with tools that exit before consuming input (e.g., linters that validate without reading fully)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.51-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.51-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.51-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.51-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.51-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.51-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.51-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Upgrade all GitHub Actions from Node.js 20 to Node.js 24 (Node.js 20 deprecated June 2, 2026)
allow-loose-continuation option permits blank lines around continuation paragraphs in tight lists, enabling tight inter-item spacing while visually separating multi-paragraph content within items (#524)[^id]: prose text), including multi-paragraph footnotes with code blocks, blockquotes, tables, lists, and link reference definitions preserved verbatim (#499)file:line:col: [tool] message format matching rumdl's own lint output, with <standard input>:N:M: references translated to absolute file positions and boilerplate stripped (#521)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.50-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.50-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.50-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.50-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.50-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.50-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.50-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Code block tools: Error messages now include file path, line number, and language of the failing code block
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.49-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.49-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.49-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.49-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.49-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.49-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.49-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Replace O(n²) linear scans with binary search across hot paths in table detection, element parsing, math span checks, link/image lookups, and footnote
Parser::new_ext() calls in MD029, MD031, MD050, and MD054LintContextLintContext cache for binary searchLintContext code spans instead of redundant ElementCache parsing[^id]: is now treated as a reference, not a footnote definitionCodeRangesWithDetails tuple with named ParseResult struct for clarityElementCache struct, 31 dead regex patterns, and 8 dead utility functions from regex_cache| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.48-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.48-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.48-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.48-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.48-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.48-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.48-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD007: MkDocs flavor now enforces 4-space indentation (indent=4, style=fixed) as required by Python-Markdown; conflicting user config emits a warning
indent=4, style=fixed) as required by Python-Markdown; conflicting user config emits a warning and is overridden (#522)Fix struct on warnings| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.47-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.47-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.47-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.47-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.47-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.47-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.47-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Per-rule enabled = false now actually disables rules; enabled = true/false is fully bidirectional and takes precedence over global disable/extend-disa
enabled = false now actually disables rules; enabled = true/false is fully bidirectional and takes precedence over global disable/extend-disable/extend-enable lists (#520)allowed and disallowed shorthand config options no longer produce unknown key warnings (#508)strict-sentences alias now correctly recognized in config validationtombi tool now runs tombi lint instead of tombi format when configured in the lint slot (#506)enabled key no longer rejected as unknown in per-rule config blocks (#520)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.46-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.46-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.46-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.46-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.46-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.46-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.46-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: New require-sentence-capital option for sentence-per-line and semantic-line-breaks reflow modes. When set to false, periods are recognized as s
require-sentence-capital option for sentence-per-line and semantic-line-breaks reflow modes. When set to false, periods are recognized as sentence boundaries without requiring an uppercase letter afterward (#514)! and ? are now always recognized as sentence boundaries regardless of the require-sentence-capital settingcode_blocks = false (#513)<Component />, <span>text</span>) are now stripped before anchor generation, preventing false-positive broken link warnings (#510)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.45-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.45-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.45-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.45-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.45-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.45-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.45-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD007: Accept both text-aligned and fixed indent under ordered parents, resolving false positives with 4-space indentation config
https://rumdl.dev/jq/
(#505)source_file through lint() for path-dependent rulestombi
(#506)jq as both linter and formatter| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.44-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.44-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.44-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.44-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.44-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.44-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.44-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
LSP: Add textDocument/rename support for markdown headings — rename a heading and all references to it update automatically
textDocument/rename support for markdown headings — rename a
heading and all references to it update automatically"fixed" field to JSON output when --fix is active, showing
how many issues were auto-fixed--fix now works with batch output formats (JSON, GitLab, SARIF,
JUnit) instead of silently skipping fixes
(#498)baselineState field to SARIF output for baseline comparison<!-- rumdl-disable -->) in
--fix mode — previously, disabled rules could still apply fixes* or _<code>*text*</code>) to
prevent false positives on emphasis-like patterns inside HTML tags{#1-intro})extend-enable = ["MD070"]
(#502)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.43-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.43-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.43-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.43-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.43-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.43-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.43-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Disable code block line length checking for Rust doc comments. Code blocks in doc comments contain Rust code formatted by rustfmt (default max_
max_width = 100), not prose governed by markdown line limits.
Prose lines are still checked
(#486, reported by @sorairolake)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.42-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.42-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.42-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.42-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.42-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.42-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.42-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Skip PyMdown block content during reflow, preventing false semantic-line-breaks diagnostics on /// details blocks and their content (#495, repo
/// details blocks and their content
(#495, reported by @tahv){#id .class} syntax is only treated as atomic in MkDocs/Kramdown flavors,
preventing incorrect wrapping behavior in standard markdown
(#494, reported by @sisp)<!-- rumdl-disable --> inside indented list
items was ignored
(#493, reported by @sisp)BrokenLinkCallback to fix false positives on bracket
text like [0], [i], and [key] that are not actual markdown links
(#488, reported by @eread)should_skip for autolink-only documents and nested link text| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.41-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.41-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.41-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.41-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.41-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.41-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.41-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MkDocs: Support multi-line code spans inside MkDocs containers (admonitions, content tabs, markdown HTML) — pulldown-cmark missed these because it tre
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.40-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.40-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.40-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.40-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.40-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.40-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.40-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Rustdoc: Skip MD033, MD040, MD051, and MD054 for doc comment blocks to eliminate false positives — HTML warning blocks ( ), unlabeled code blocks (def
<div class="warning">),
unlabeled code blocks (default to Rust), rustdoc anchors (#method.bar),
and shortcut intra-doc links ([crate::module]) are all valid rustdoc syntax
(#438, reported by @sorairolake)include patterns in .rumdl.toml not discovering .rs
files — config-based include now correctly expands the file type filter to
include Rust files alongside markdown
(#438, reported by @sorairolake)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.39-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.39-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.39-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.39-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.39-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.39-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.39-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Fixed reflow corrupting code blocks inside MkDocs admonitions within list items — closing fences were merged with subsequent paragraph text (#4
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.38-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.38-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.38-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.38-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.38-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.38-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.38-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Resolve false positive for MkDocs 2-space list continuation indents when using semantic-line-breaks reflow mode. Continuation lines at the mini
semantic-line-breaks reflow mode. Continuation lines
at the minimum indent were incorrectly flagged as needing reflow
(#484)mask_pipes_in_inline_code
for table cell parsing[!NOTE]) in shortcut link
detection to avoid false positivessplit_row_into_cells function, consolidate
table cell parsingtoml 0.9 → 1.0, toml_edit 0.24 → 0.25, jsonschema 0.37 → 0.44.
Remove unused rand dev-dependency. ~80 crates updated to latest
compatible versions| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.37-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.37-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.37-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.37-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.37-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.37-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.37-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Lint: Rust doc comment linting — rumdl check and rumdl check --fix now lint markdown inside /// and //! doc comments in .rs files. Rules that don't ap
rumdl check and rumdl check --fix
now lint markdown inside /// and //! doc comments in .rs files.
Rules that don't apply to doc comments (MD041, MD047) are automatically
skipped. Column numbers are remapped to the original source positions
(#438)enabled = true
and extend-enable in WASM/Obsidian plugin configuration
(obsidian-rumdl#15)fixable/unfixable config fields so fix scope restrictions
work in WASM buildsenable_is_explicit when enable is present, matching CLI
behavior where enable = [] means "no rules"MarkdownFlavor::from_str() for flavor parsing so
all aliases (qmd, rmd, gfm, commonmark, etc.) work in WASM| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.36-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.36-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.36-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.36-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.36-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.36-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.36-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
LSP: Hover preview for markdown links — hovering over a link shows a preview of the destination file or heading section with up to 15 lines of content
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.35-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.35-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.35-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.35-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.35-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.35-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.35-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Config: Support top-level global keys in rumdl.toml without requiring a [global] section header, matching ruff.toml conventions. Keys like line-length
rumdl.toml without requiring a
[global] section header, matching ruff.toml
conventions. Keys like line-length, disable, exclude, and respect-gitignore
now work at the top level. If both top-level and [global] keys exist, [global]
takes precedencefixable config lists (was only resolving
aliases for unfixable). Users can now write fixable = ["trailing-spaces"]
instead of needing fixable = ["MD009"]exclude
always wins over include in discovery mode, consistent with ruff, eslint, and
markdownlint-cli| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.34-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.34-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.34-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.34-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.34-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.34-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.34-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
CLI: Add --fixable and --unfixable flags to control which rules are allowed to auto-fix. --fixable acts as an allowlist (only listed rules can fix), -
--fixable and --unfixable flags to control which rules are
allowed to auto-fix. --fixable acts as an allowlist (only listed rules can
fix), --unfixable acts as a blocklist (takes precedence). Both accept
comma-separated rule names or aliases
(#472)fixable/unfixable config lists so
that aliases like commands-show-output correctly match canonical names like
MD014$ prompts from commands without output, matching
markdownlint-cli behavior (#473)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.33-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.33-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.33-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.33-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.33-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.33-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.33-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Respect MkDocs 4-space list continuation indent during reflow. For markers shorter than 4 characters (e.g., 1., -), continuation lines are now
1., -), continuation lines are now
indented to 4 spaces in MkDocs flavor, matching Python-Markdown requirements. This
fixes an MD077/MD013 conflict loop where reflow produced invalid MkDocs markdown
(#471)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.32-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.32-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.32-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.32-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.32-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.32-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.32-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Handle MkDocs admonitions inside list items during reflow. Admonition headers and body content are now preserved and reflowed correctly instead
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.31-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.31-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.31-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.31-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.31-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.31-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.31-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
CLI: rumdl init now supports --preset flag with default, google, and relaxed variants, and --output flag for custom file paths. The Google preset foll
rumdl init now supports --preset flag with default, google, and
relaxed variants, and --output flag for custom file paths. The Google preset
follows Google's developer documentation style guide; the relaxed preset disables
noisy rules and uses consistent style detection
(#468)---
separators are used for grid cardsin_code_block field) in quick-check early return so parenthesis-style ordered lists
are not silently skippedleading_spaces calculation in reference link detection to use
original line, not already-trimmed stringin_string state when counting JSON braces/brackets so braces
inside string values don't break nesting depth calculationmkdocs.yml files are
re-validatedOption fields in schema so nullable keys are not flagged as
unknown (#467)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.30-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.30-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.30-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.30-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.30-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.30-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.30-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD077: New list-continuation-indent rule that checks list item continuation lines use the correct indentation (content-aligned rather than tab-stop-al
list-continuation-indent rule that checks list item continuation
lines use the correct indentation (content-aligned rather than tab-stop-aligned).rumdl.toml files are picked up without restarting the language server| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.29-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.29-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.29-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.29-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.29-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.29-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.29-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Import: rumdl import now preserves original rule aliases (e.g., no-hard-tabs instead of MD010) in the generated config file
rumdl import now preserves original rule aliases (e.g., no-hard-tabs
instead of MD010) in the generated config file
(#460)enabled field to disable
linting/formatting for specific languages while keeping the configuration
(#458)<!-- vale ... -->) and remark-lint (<!-- lint ... -->) inline
configuration directives are now skipped when checking proper names
(#456)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.28-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.28-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.28-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.28-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.28-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.28-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.28-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: CRLF line endings are now preserved during semantic-line-breaks reflow, fixing false positive warnings in the LSP when editors send Windows-sty
InsertDerived). Index and README files now
derive their title from the parent directory name instead of "Index" or "README"<https://...>) inside HTML comments are no
longer flagged for proper name violations. Uses CommonMark autolink pattern matching
for all valid URI schemes (#457)itertools dependency| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.27-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.27-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.27-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.27-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.27-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.27-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.27-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD076: New rule for list item spacing — enforces consistent use of blank lines between list items
# with no text) are now preserved during
heading level conversion instead of being deleted, fixing non-idempotent fix behaviorRust_(programming_language)) are now correctly recognized as standalone links1. [x] [link](url)) are now correctly
detected in standalone link exemption and text reflowtitle field is now counted as the first H1 when checking for
single title (#450)<!-- rumdl-disable -->,
<!-- markdownlint-enable -->) are no longer flagged when the directive keyword
matches a configured proper namedefault_config_section for config validation
(#451)ῷ) are no longer decomposed
during case conversion, fixing non-idempotent fix behaviorMD063: Removed dependency on external titlecase crate; title case logic is now
fully handled by the built-in implementation
MD013: Refactored standalone link detection to reuse shared
extract_list_marker_and_content utility, also fixing ordered list task checkbox
handling in text reflow
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.26-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.26-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.26-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.26-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.26-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.26-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.26-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD044: proper names inside HTML tag attribute values (e.g. src="...", href="...", title="...") are no longer flagged as incorrectly capitalized. Text
src="...", href="...",
title="...") are no longer flagged as incorrectly capitalized. Text content between
tags continues to be checked as usual (#443)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.25-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.25-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.25-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.25-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.25-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.25-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.25-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: GitHub Flavored Markdown alert markers (> [!NOTE], > [!WARNING], etc.) are now preserved as non-wrappable boundaries during blockquote reflow —
> [!NOTE], > [!WARNING], etc.)
are now preserved as non-wrappable boundaries during blockquote reflow — previously
the alert type was merged with the following content line, corrupting the alert blockfmt/check --fix, with deterministic style preservation and LSP manual reflow
parity (#437)[ ], [x], [X]) are now preserved as
non-wrappable marker prefix during reflow, preventing - [ ] [long url](...) from
being corrupted to - []\n [long url](...)
(#436)<details>) captures a trailing blank line — previously this caused MD012
violations in large documentation reposnames are no longer falsely flagged inside HTML
attribute values when the name appears adjacent to underscores (e.g. test_image)
(#443)--flavor gfm, --flavor github, --flavor commonmark, --flavor qmd,
--flavor rmd, and --flavor rmarkdown are now accepted (previously rejected by
the argument parser despite being valid in config files)
(#440)<!-- rumdl-disable-next-line -->,
<!-- rumdl-disable --> / <!-- rumdl-enable -->, <!-- markdownlint-disable -->,
etc.) are now respected when reading from stdin (rumdl check -); previously
all such directives were silently ignored, causing false positives in editor
integrations such as nvim-lint that pipe content via stdin
(#445)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.24-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.24-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.24-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.24-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.24-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.24-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.24-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD033: Relaxed fix mode that converts HTML tags with extra attributes (e.g. target, rel, width, height) by dropping non-essential attributes during co
target, rel, width, height) by dropping non-essential attributes during conversion. Event handler attributes (on*) are never dropped. Enable via config.
(#397)ctx.source_file (MD057, MD074) no longer silently skip validation during re-lint, preventing false "no issues found" results and exit code 0 when violations remained
(#435)lines-above/lines-below settings
(#429)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.23-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.23-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.23-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.23-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.23-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.23-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.23-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Config: Per-directory configuration resolution — place .rumdl.toml in subdirectories to override settings for specific paths
.rumdl.toml in
subdirectories to override settings for specific paths+++) and JSON ({}) front-matter formats alongside
YAML when checking for title field
(#427, thanks @Nathan-Furnal)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.22-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.22-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.22-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.22-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.22-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.22-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.22-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
CLI: New full output format with ruff-style source line display showing offending lines with caret underlines
full output format with ruff-style source line display showing
offending lines with caret underlines
(#425)args input for passing extra CLI flags like
--output-format json
(#406)loose-last-column now caps last column width at header text width —
body cells shorter than header are padded, longer cells extend beyond
(#424)--output-format help text now documents all available formats with
descriptions (#425)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.21-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.21-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.21-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.21-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.21-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.21-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.21-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Config: Add extends key for config file inheritance — config files can declare a base config to inherit from, with child settings merging on top. Supp
extends key for config file inheritance — config files can
declare a base config to inherit from, with child settings merging on top.
Supports relative paths, absolute paths, ~/ expansion, recursive chains
(up to 10 levels), and circular reference detection. Works in both
.rumdl.toml and pyproject.toml (#390)disable now uses replace semantics (matching Ruff's ignore),
giving extend-disable a distinct purpose as the additive variant that
survives CLI overrides. Document the rule selection model with
extend-enable / extend-disable in global settings| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.20-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.20-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.20-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.20-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.20-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.20-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.20-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Kramdown flavor: Add kramdown/Jekyll markdown flavor support with block IAL ({:.class}, {:#id}), span IAL, and extension block ({::comment}, {::nomark
{:.class}, {:#id}), span IAL, and extension block
({::comment}, {::nomarkdown}, {::options}) detection. Enable with
flavor = "kramdown" or flavor = "jekyll". MD041 skips IALs and
extension blocks as preamble; MD051 defaults to kramdown anchor styleextend-enable and extend-disable global config keys
for additive rule activation, following Ruff's extend-select pattern.
Five rules are now opt-in by default: MD060, MD063, MD072, MD073, MD074.
Use extend-enable = ["MD060"] to enable individual opt-in rules without
overriding the full enable list<https://...>) at the
colon in URL schemes by treating them as atomic elements
(#416,
#417)length-mode (chars/visual/bytes) through all reflow
length calculations so CJK and other wide characters are measured correctly
(#414)e.g. and i.e. inside parentheses no longer
trigger false sentence boundary detection in sentence-per-line mode
(#422)in_code_block overrides that caused reflow corruption
(#415){::options ... /})
incorrectly disabling linting for all subsequent lines| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.19-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.19-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.19-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.19-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.19-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.19-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.19-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Config: enable = ["ALL"] keyword to explicitly enable all rules (equivalent to omitting enable), with disable still applied on top
enable = ["ALL"] keyword to explicitly enable all rules
(equivalent to omitting enable), with disable still applied on top[text](url) with
[text] would bring the line within the limit, the warning is not raised
(#393)compact-paths config option to warn about unnecessary path
traversal in wiki links (e.g., ../sibling when sibling suffices)
(#391)enable = [] now means "no rules enabled" (was incorrectly
treated as "use defaults"). Omitting enable still enables all rules.
Use enable = ["ALL"] to explicitly enable all rules.::: module.Class with indented
YAML options) during paragraph reflow
(#396)http://, https://, or www.), matching markdownlint behavior
(#395)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.18-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.18-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.18-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.18-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.18-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.18-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.18-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Config: enable = [] is now correctly treated as "use defaults" (all rules enabled) instead of acting as an empty allowlist that disabled all rules
enable = [] is now correctly treated as "use defaults" (all rules
enabled) instead of acting as an empty allowlist that disabled all rules!!!, ???, ???+) during text
reflow instead of stripping them from continuation linesallowed-elements config values —
square brackets and other metacharacters were being interpreted as regex patterns| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.17-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.17-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.17-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.17-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.17-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.17-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.17-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: semantic-line-breaks reflow mode (preview) — breaks lines at semantic boundaries using a cascading strategy: sentence boundaries first, then cl
semantic-line-breaks reflow mode (preview) — breaks lines at semantic
boundaries using a cascading strategy: sentence boundaries first, then clause
punctuation (, ; : —), then English break-words (and, or, but,
which, that, because, etc.), then word wrap as fallback
(#388)v{{< shortcode >}}) is no longer
split across lines::: {.class}) during text reflow
instead of reflowing them into surrounding paragraphscheck() for idempotent fixes — repeated
--fix runs no longer produce different output for multi-level heading violationsfix() method in proptest and allow convergence within 3 passespath input--no-exclude descriptions
(thanks @JonathanWillitts in #385)default key and boolean rule semantics in
.markdownlint.json compatibility
(#389)compute_heading_fix() to unify check() and fix() code paths| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.16-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.16-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.16-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.16-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.16-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.16-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.16-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD057: `relative-to-docs` option - New config option for validating absolute link paths relative to a documentation root directory
relative-to-docs option - New config option for validating absolute
link paths relative to a documentation root directory2.5x faster on real-world repositories - Comprehensive performance audit and optimization across the core pipeline, rule implementations, and infrastructure. Validated against ripgrep, ruff, and rust repositories (1,832 files, 276K lines) with zero regressions.
Key optimizations:
opt-level = "z") to speed (opt-level = 3)chars().nth() O(n) calls with O(1) byte indexing for ASCII checksLazyLock statics (eliminated ~160K mutex cycles per 10K-line file)LineInfo memory 79% by boxing rare struct variants (3.4MB → 720KB for 10K-line files)Vec<char> allocation in horizontal rule detectionListBlock by value instead of cloningHashMap cloning in InlineConfig with state-transition storagecontent.lines().collect() across 48 call sites in 27 rulesLintContext, share via ctx.raw_lines()LineIndexInlineConfig parsing (parse once in LintContext)LineIndexLazyLock (eliminated 5+ redundant all_rules() calls)explain command completeness - Now uses the full rule registry instead of
a manually maintained list, ensuring all rules (including MD069-MD074) are included| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.15-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.15-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.15-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.15-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.15-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.15-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.15-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD074: MkDocs nav validation - Validate that mkdocs.yml navigation entries point to existing files (requires flavor = "mkdocs")
MD074: MkDocs nav validation - Validate that mkdocs.yml navigation entries
point to existing files (requires flavor = "mkdocs")
not-found = "warn" (default): Report nav entries pointing to non-existent filesomitted-files = "ignore" (default): Optionally report markdown files not in navabsolute-links = "ignore" (default): Optionally warn about absolute pathsdocs_dir setting, and session cachingMD057: Absolute links configuration - New absolute-links config option
for controlling how absolute link paths are handled
MkDocs flavor: Extension-aware support - Recognize Python-Markdown and pymdown-extensions syntax to prevent false positives
{#custom-id} header attributes)Tables in list items lose indentation (#383)
rumdl fmt now preserves indentation for tables on list continuation linesMD065: Fix idempotency for consecutive horizontal rules - Running --fix
twice on consecutive --- rules no longer produces different output
MD032: Fix idempotency for ordered-non-1 items with code fences - Fix mode no longer produces different output on repeated runs for this edge case
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.14-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.14-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.14-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.14-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.14-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.14-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.14-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
LSP: Code block language completion - Autocomplete fenced code block languages
LSP: Code block language completion - Autocomplete fenced code block languages
``` and press Ctrl+Space for language suggestionsMD041: Opt-in auto-fix - Add missing first-line heading with --fix
fix = true in MD041 configMD040: GitHub Linguist integration - Normalize code block languages
py → python)Code Block Tools: Additional built-in tools
Code Block Tools: Configurable missing tool handling
on-missing-language-definition: What to do when language has no tools (skip, warn, fail)on-missing-tool-binary: What to do when tool binary not found (skip, warn, fail)MkDocs: PyMdown Blocks support - Recognize PyMdown extension syntax
/// note, /// warning, /// details and other block typesnpm: CLI distribution - Install via npm/npx
npx rumdl check . - Run without global installCode Block Tools: Embedded markdown linting is now opt-in (#380)
[code-block-tools.languages.md] configurationMD040: Skip disabled lines when computing preferred labels
Schema: Use standard integer type for timeout field (#374)
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.13-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.13-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.13-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.13-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.13-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.13-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.13-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Config: Remove deprecated MD002 from example - rumdl.toml.example no longer includes deprecated rules
Code Block Tools [preview] - Run external linters and formatters on fenced code blocks (#331)
rumdl check: Run configured linters (ruff, shellcheck, eslint, etc.) on code blocksrumdl check --fix: Run configured formatters (ruff, prettier, shfmt, etc.) to auto-format code blockspy → python, bash → shell)fail, warn, skip)MD018: Per-rule magiclink configuration - Control whether magiclink syntax is recognized per rule
magiclink = true to MD018 config to skip email-like syntaxMD033: Auto-fix for <a> and <img> tags - Convert simple HTML links and images to Markdown
<a href="url">text</a> → [text](url)<img src="url" alt="text"> → fix = true in MD033 config (disabled by default)MkDocs: Support for markdown-enabled HTML blocks - Properly handle <div markdown> grid cards and similar patterns
skip_mkdocs_html_markdown() filter to filtered_lines APIMD013: Prevent infinite loop in MkDocs admonition reflow - Fixed edge case causing reflow to hang on certain admonition content
Config: Remove deprecated MD002 from example - rumdl.toml.example no longer includes deprecated rules
rumdl.toml.example now uses more readable inline tables for code-block-tools| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.12-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.12-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.12-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.12-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.12-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.12-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.12-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
CI: Automated SchemaStore sync workflow - Schema updates are now automatically synced to SchemaStore on release
MD044: Check proper names in link text, image alt text, and WikiLinks (#369)
[link text](url), , and [[WikiLinks]]Schema: Remove non-standard 'uint' format (#368)
flavor = "obsidian"integer with minimum: 0 instead of non-standard uint format| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.11-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.11-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.11-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.11-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.11-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.11-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.11-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Obsidian flavor support - New markdown flavor for Obsidian-specific syntax
Obsidian flavor support - New markdown flavor for Obsidian-specific syntax
#my-tag) - Not flagged as missing heading space (MD018)> [!NOTE]) - Recognized as valid blockquotes==text==) - Not flagged as spacing issues%%comment%%) - Content inside is skipped by all rules- [/], - [-], - [>]) - Recognized as valid task itemsfield:: value) - Not flagged as consecutive spaces<% code %>) - Recognized as template syntax^block-id) - Not flaggedWASM: Obsidian flavor support - Use flavor: 'obsidian' in Linter config
WASM: Rule-specific configuration - Pass rule configs to Linter constructor
new Linter({ 'MD013': { 'line-length': 120 } })[](){#id} are now skipped when checking for first-line heading| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.10-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.10-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.10-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.10-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.10-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.10-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.10-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD033: Don't remove HTML tags that can't be converted to Markdown
MD033: Don't remove HTML tags that can't be converted to Markdown
<img>, <span>, and <div>em, i, strong, b, code, br, hr) are convertedFix mode: Respect per-file-flavor configuration
rumdl check --fix now correctly uses per-file flavor settings from [per-file-flavor]| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.9-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.9-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.9-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.9-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.9-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.9-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.9-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Inline config: Automatic support for all rules
Inline config: Automatic support for all rules (#364)
<!-- rumdl-configure-file --> commentsget_effective_config helper for inline config supportMD033: Opt-in auto-fix for inline HTML conversion
fix = true option enables auto-fix (disabled by default)MD036: Opt-in auto-fix for emphasis-as-heading
fix = true option enables auto-fix (disabled by default)Test: Comprehensive MkDocs extension regression tests
MD013: Preserve MkDocs admonition and tab content during reflow (#361)
=== "Tab") properly handled during line wrappingMD013: Prevent whitespace accumulation in sentence-per-line reflow (#360)
MD064: Support inline configure-file comments (#364)
allow-sentence-double-space now works with inline HTML config comments`code`.) now correctly recognized| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.8-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.8-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.8-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.8-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.8-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.8-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.8-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD060: Loose last column option
MD060: Loose last column option (#356)
loose-last-column = true skips padding the last column in body rowsMD060: Separate header/body alignment (#348)
column-align-header controls alignment for the header row onlycolumn-align-body controls alignment for body rows onlycolumn-align remains as fallback for bothMD018: MagicLink support in MkDocs flavor (#355)
flavor = "mkdocs", MD018 skips PyMdown MagicLink-style issue references#10 and #123 at the start of lines are not flagged as malformed headings#Summary are still flagged correctlyDocs: Add MD073 to opt-in rules table
Release: Add SchemaStore update reminder
verify-release-ready.sh now warns when rumdl.schema.json has changedRelease: Add opt-in rules documentation check
verify-release-ready.sh verifies all opt-in rules are documented in docs/RULES.mdRelease: Add config validation check
verify-release-ready.sh now tests all rule config options for validation warningsMD060: Fix config validation warnings for optional alignment options
column-align-header and column-align-body no longer show "Unknown option" warningsMD073: Add missing indent option to config schema
indent option was accepted but not in the validation schemaCLI: Remove noisy hints from completions command
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.7-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.7-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.7-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.7-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.7-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.7-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.7-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
CLI: Shell completions subcommand
CLI: Shell completions subcommand (#327)
rumdl completions <shell> generates shell completions for bash, zsh, fish, powershell, and elvishCLI: Static rules.json for tooling integration (#351)
https://raw.githubusercontent.com/rvben/rumdl/main/rules.jsonindent setting automatically[MD073] indent = N| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.6-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.6-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.6-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.6-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.6-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.6-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.6-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
CLI: JSON output for rule metadata
rumdl rule -o json exports all rule data as JSONrumdl rule -o json-lines for streaming/piping (one JSON object per line)--fixable (-f), --category (-c)--list-categories shows available categories with rule counts--explain includes full documentation in outputMD073: Validate TOC entry indentation matches heading levels (#353)
CLI: Correctly count fixable issues (#349)
rumdl fmt to fix N issues" message now uses capability-based countingCLI: Correctly count files modified by fmt (#347)
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.5-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.5-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.5-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.5-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.5-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.5-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.5-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD073: Simplified to marker-based TOC detection only
<!-- toc -->...<!-- tocstop --> markers[MD073] enabled = trueRules: Call should_skip() in linting engine for opt-in rules
MD073: Fix HTML anchor handling in heading ID generation
<a name="..."></a> anchors now correctly extract the anchor IDheader_id_utils.rs benefits all anchor-related functionalityMD032: Fix should_skip() to detect ordered lists
likely_has_lists() only checked for unordered markers (*, -, +)1. item) were incorrectly skippedlist_blocks which includes all list types| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.4-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.4-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.4-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.4-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.4-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.4-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.4-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD073: Table of Contents validation rule
toc-heading, anchor-style, case-sensitiveallow-sentence-double-space now works with sentences ending in inline code, emphasis, bold, strikethrough, and other markdown elements`code`. Next sentence no longer flags a false positive| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.3-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.3-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.3-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.3-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.3-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.3-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.3-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
LSP: Only auto-fix on manual saves, not autosave
LSP: Only auto-fix on manual saves, not autosave (#340)
MD032: Add auto-fix for lazy continuation lines (#342)
allow-lazy-continuation = false, lazy continuation lines now get proper indentationMD037: Fix range calculation for emphasis spacing (#343) (thanks @kachick)
make test-smoke runs stable tests excluding flaky proptest/stress tests| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.2-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.2-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.2-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.2-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.2-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.2-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.2-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD013: Preserve MkDocs snippet delimiters during reflow
MD013: Preserve MkDocs snippet delimiters during reflow (#338)
-8<- and --8<-- delimiters now stay on their own lines when reflowing list itemsMD013: Detect same-line closing tags for script/style elements (#339)
<script src="..."></script> no longer cause subsequent lines to be skippedMD013: Improve reflow handling for config and MkDocs syntax (#335, #337)
abbreviations config option (was showing "unknown option" error){: .class } on its own line during reflowMD013: Require space after period for numbered list detection (#336)
1.2.3 no longer mistakenly detected as list itemsMD013: Handle email autolinks correctly
<user@example.com>) no longer break HTML tag extractionMD005/MD030: Use blockquote-aware indent calculation
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.1-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.1-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.1-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.1-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.1-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.1-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.1-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
rumdl reaches production-ready status after validation against 99,291 markdown files across 51 popular repositories (kubernetes, react, vscode, rust-l
rumdl reaches production-ready status after validation against 99,291 markdown files across 51 popular repositories (kubernetes, react, vscode, rust-lang, tensorflow, and more) with zero false positives detected.
CLI: fmt --check flag for CI usage
Fuzz testing infrastructure
make fuzz (requires nightly Rust)MD032: Single-pass idempotency for list blank lines
MD050: Correct byte range for fix replacement
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.1.0-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.1.0-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.1.0-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.1.0-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.1.0-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.1.0-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.1.0-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
GitHub Action: `fail-on-error` and `output-file` inputs (#324, #325)
GitHub Action: fail-on-error and output-file inputs (#324, #325)
fail-on-error: Control whether the workflow fails on violations (default: true)output-file: Write lint results to a file for use in subsequent stepsLSP: source.fixAll.rumdl code action for fix-on-save
editor.codeActionsOnSave: { "source.fixAll.rumdl": "explicit" }| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.224-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.224-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.224-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.224-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.224-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.224-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.224-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD060: `column-align` option for table cell text alignment
MD060: column-align option for table cell text alignment (#317)
left, center, right to force alignment for all columnsDocumentation site (rumdl.dev)
Embedded markdown respects per-file-ignores and inline config
rumdl check and rumdl fmt now honor <!-- rumdl-disable --> commentsFix mode re-lint uses filtered rules (#319)
MD030: Auto-fix applies custom spacing config (#318)
ul_single, ol_single, etc. values now applied during fix| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.223-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.223-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.223-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.223-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.223-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.223-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.223-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
MD018: Comprehensive false positive fixes
MD018: Comprehensive false positive fixes (#314)
#%%)Tables inside list items (#314)
MD009: Correct 1-indexed column in ASCII path
Schema: Include all flavor aliases (#312)
gfm, github, commonmark, qmd, rmd, rmarkdown to schemaCLI: Prevent duplicate config and use canonical rule list
Optimize code detection and cache hash computation
Cache per-file globsets
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.222-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.222-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.222-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.222-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.222-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.222-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.222-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Embedded markdown linting in fenced code blocks
```markdown code blocksMD064: Remove max-consecutive-spaces config, improve sentence detection
max-consecutive-spaces optionMD055/MD056: Handle tables inside blockquotes in fix mode
> prefix when fixedMD060: Improve alignment detection for CJK and delimiter styles
MD069: Respect inline disable comments in fix mode
<!-- markdownlint-disable MD069 --> now properly prevents fixesMD058/MD065: Recognize blockquote continuation lines as blank
> are now treated as blank for table separation rulesText reflow: Recognize sentence boundaries with quotation marks
.\", !\", ?\") now detected correctlysentence_utils module provides reusable sentence boundary detection| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.221-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.221-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.221-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.221-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.221-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.221-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.221-x86_64-pc-windows-msvc.zip | Windows x86_64 | checksum |
uv tool install rumdl
pip install rumdl
pipx install rumdl
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.
Your coding agent can read these notes before it upgrades. Set up the MCP server →