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.
`RUMDL_OUTPUT_FORMAT` environment variable
RUMDL_OUTPUT_FORMAT environment variable (#297)
RUMDL_OUTPUT_FORMAT=github rumdl check .x_1) and exponentiation (a**b) were incorrectly flagged as strong emphasis$$...$$ math blocksstandard flavor includes GFM extensions (tables, task lists, strikethrough, autolinks)commonmark as alias for standard, github as alias for gfmoutput-format setting documentation with all 12 available formats| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.220-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.220-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.220-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.220-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.220-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.220-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.220-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.
Comprehensive markdown flavor support
Comprehensive markdown flavor support
xmpp: protocol in MD034[[Ctrl]], caret ^^sup^^, mark ==highlight==, ins ++inserted++, tilde ~sub~)className, htmlFor, onClick, etc.), JSX expression handling, ESM import/export support@ref, [@ref]), shortcode detection ({{< >}}), div blocks and callouts (::: {.callout-*}), math block handling for emphasis rulesComprehensive UTF-8 stress tests
MD034: UTF-8 panic with multi-byte text before emails
xmpp: prefix check was slicing at invalid character boundariesMD031: Blank line detection after MkDocs admonition blocks
MkDocs: Nested admonition handling
docs/flavors.md is now a concise overview with linksdocs/flavors/standard.md, gfm.md, mkdocs.md, mdx.md, quarto.md| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.219-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.219-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.219-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.219-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.219-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.219-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.219-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.
Google Markdown style guide config (examples/google-style.toml)
examples/google-style.toml)examples/prettier-style.toml)MD032: Eliminate false positives on real-world repos
Config: Correct rule alias mappings
descriptive-link-text alias for MD059table-cell-alignment alias to map to MD060 (was incorrectly MD059)Config: Warn on per-file-ignores patterns with commas
{*.md,*.txt} instead of *.md,*.txt| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.218-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.218-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.218-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.218-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.218-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.218-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.218-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.
MD064: `max-consecutive-spaces` config option (fixes #294)
MD064: max-consecutive-spaces config option (fixes #294)
max-consecutive-spaces = 2 allows traditional two-space sentence spacing1 (flags any 2+ consecutive spaces)Comprehensive Markdown flavor documentation
docs/flavors.md with detailed flavor support guideMD032: Detect lazy continuation in nested lists (fixes #295)
content_column from ListItemInfo to calculate proper indent thresholdMD032: Detect blockquote level changes as list breaks
MD033: Calculate correct end_line for multiline HTML tags
Config warnings show relative paths instead of absolute (fixes #291)
Core correctness and performance improvements
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.217-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.217-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.217-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.217-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.217-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.217-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.217-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.
MD072: Custom key order for frontmatter sorting (fixes #290)
key-order config option to define preferred key orderingkey-order = ["title", "date", "author"] puts title firstMD060: Preserve blockquote prefix when formatting tables
> | A | B |) now correctly preserve the prefix>>, >>>) with proper prefix preservationMD057: Skip link patterns inside LaTeX math spans (fixes #289)
$...$ or $$...$$ are no longer flagged as broken linksMD030: Skip empty marker lines without content (fixes #288)
MD031/MD032/MD058/MD065: Auto-fix preserves nested blockquote prefix (fixes #268)
>>, >>>)> without trailing space (per markdownlint-cli)MD005/MD007: Prevent oscillation between rules
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.216-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.216-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.216-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.216-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.216-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.216-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.216-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: Exclude footnote definitions from relative link checking (fixes #286)
MD057: Exclude footnote definitions from relative link checking (fixes #286)
[^id]: content) were incorrectly parsed as reference link definitions[^1]: [link](https://example.com) was flagged as broken link)MD005: Auto-fix preserves blockquote prefix (fixes #268)
> prefix is now preserved| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.215-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.215-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.215-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.215-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.215-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.215-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.215-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-file flavor configuration (fixes #283)
"docs/**/*.md" = "gfm" in [global.file-flavors] sectioncommonmark, gfm, mkdocs, obsidian, mdbookMD028: Skip GFM alerts when checking blank lines in blockquotes (fixes #126)
> [!NOTE], > [!TIP], > [!IMPORTANT], > [!WARNING], > [!CAUTION]) require blank line separation to render correctly[!NOTE] and [!note]MD032: Auto-fix handles varying blockquote whitespace (fixes #268)
> and > prefixes within the same blockquoteMD032: Detect blockquotes before skip conditions (fixes #284, #285)
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.214-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.214-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.214-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.214-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.214-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.214-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.214-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.
MD031/MD046: Detect code blocks inside lists (fixes #276)
MD031/MD046: Detect code blocks inside lists (fixes #276)
list-items=true now correctly flags fenced code blocks inside listsstyle=fenced now correctly flags indented code blocks inside listsMD057: Check reference-style link definitions for broken links (fixes #274)
[ref]: ./path.md are now checked[text](./path.md) were validatedMD007: "Do What I Mean" behavior for indent configuration (fixes #273)
indent is explicitly set without style, automatically use fixed styleindent = 4 now actually uses 4-space increments as expectedindent and style = "text-aligned" are set (contradictory)MD030: Prevent false positives in math blocks (fixes #275)
$$...$$) are now detected and excluded from list marker spacing checks| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.213-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.213-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.213-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.213-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.213-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.213-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.213-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: Show relative file paths in output by default (fixes #266)
--show-full-path flag to opt into absolute pathsLSP: Respect FormattingOptions in formatting handler (fixes #265)
insertFinalNewline: Add trailing newline if missingtrimFinalNewlines: Remove extra trailing newlines at EOFtrimTrailingWhitespace: Remove trailing whitespace from all linesFix coordinator: Re-check all rules after each fix for idempotency (fixes #271)
rumdl check --fix now produces idempotent resultsMD046: Preserve code indentation and skip MkDocs admonitions (fixes #269, #270)
!!! note, ??? warning, ???+ tip) are properly skippedMD012: Fix EOF blank line removal in LSP formatting (fixes #264)
MD072: Improved frontmatter key sorting (fixes #265)
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.212-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.212-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.212-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.212-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.212-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.212-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.212-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.
MD032: Handle blockquote continuation lines correctly (fixes #260)
MD032: Handle blockquote continuation lines correctly (fixes #260)
> to comparing blockquote nesting levels> - item\n> continuation now lint correctlyMD071: Preserve trailing newlines when fixing frontmatter spacing (fixes #262)
nested-code-fence-collisionblank-line-after-frontmatterfrontmatter-key-sort| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.211-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.211-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.211-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.211-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.211-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.211-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.211-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.
MD071: Blank line after frontmatter (new rule)
MD071: Blank line after frontmatter (new rule)
---) and TOML (+++) frontmatter formatsMD072: Frontmatter key sort (new rule, disabled by default)
ignore list for keys to exclude from sortingMD072.enabled = true in configurationMD022: Support kramdown Inline Attribute Lists (fixes #259)
{: .class #id} immediately after headings no longer triggers blank line warningsMD046: Use pulldown-cmark for code block detection
MD072: Fix JSON depth tracking and regex initialization
MD072: Stop at TOML table headers when extracting keys
[section] now properly terminate key extraction| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.210-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.210-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.210-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.210-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.210-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.210-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.210-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.
MD070: Nested code fence collision detection (new rule)
``` containing inner ``` causes collision````) for outer blockslanguages option to limit checking to specific info strings (default: ["", "markdown", "md"])MD040: Fix false positives on list-indented code blocks (fixes #257)
CLI: Support respect-gitignore in config files (fixes #258)
respect-gitignore option to [global] section in .rumdl.toml and pyproject.toml--respect-gitignore=false syntax now works (previously only --no-respect-gitignore)Release: Fix pre-built aarch64-linux binaries for 16K page systems (fixes #256)
aarch64-unknown-linux-gnu and aarch64-unknown-linux-musl now work on Asahi Linux and Raspberry Pi 5JEMALLOC_SYS_WITH_LG_PAGE=16 to configure jemalloc for 64K page compatibilityList detection: Filter out YAML/TOML lists in frontmatter
tags: [foo, bar] no longer incorrectly detected as markdown listsList detection: Handle nested list items and tab indentation
MD030: Eliminate false positives on hard-wrapped citations and continuations (fixes #253)
(Doe 2003, p.\n 1234) no longer trigger false positivesHeading detection: Prevent list items from being detected as setext headings (fixes #254)
- Orange followed by -) no longer incorrectly detected as level 2 headingsOutput formatters: Correct severity field in JSON, JSON Lines, and Azure Pipelines formats
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.209-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.209-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.209-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.209-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.209-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.209-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.209-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.
Reflow: Replace manual emphasis parsing with pulldown-cmark
~~text~~) support to sentence boundary detectionReflow: Continue emphasis markers across sentence splits (fixes #251)
*Sentence one. Sentence two.* now correctly splits to *Sentence one.* and *Sentence two.*Reflow: Fix line_length=0 to mean "no wrapping"
line_length=0 would wrap after every word due to condition always being trueMD007: Resolve false positives on nested unordered lists in ordered lists (fixes #247)
MD009: Correct byte offset calculation for multi-byte characters
MD027: Continue HTML block detection until blank line after closing tag
<table>) now correctly extend until the first blank lineMD034: Resolve false positives for URLs in angle brackets and parentheses
<https://example.com>) no longer trigger bare URL warningsMD037: Mask inline math spans before emphasis detection
$p * q$) no longer interfere with emphasis detection* spaced emphasis * was not detectedMD051: URL-decode CJK fragments before anchor matching
#%E6%97%A5%E6%9C%AC%E8%AA%9E) correctly resolve to decoded anchorsMD057: Resolve false positives for email addresses and file references
MD069: Resolve false positives for nested strikethrough
Config: Handle relative paths in find_project_root_from
Reflow: Preserve Hugo shortcodes as atomic elements
{{< >}} and {{% %}}) are no longer broken across lines during text reflow| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.208-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.208-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.208-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.208-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.208-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.208-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.208-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 `--flavor` option to override markdown flavor
--flavor option to override markdown flavor
commonmark, gfm (GitHub Flavored Markdown)MD029: Respect CommonMark list start values and preserve user intent (fixes #247)
11., 12., 13.) are now validated correctly11. to 1. in properly numbered listsstart attribute > 1 will warn but not auto-fix, preserving semantic numberingWASM: Convert byte-based columns to character offsets for JavaScript
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.207-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.207-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.207-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.207-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.207-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.207-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.207-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: Apply inline config before should_skip optimization (fixes #241)
MD013: Apply inline config before should_skip optimization (fixes #241)
<!-- markdownlint-configure-file {"MD013": {"tables": false}} -->) was not being applied when files had short linesCLI: Warn about unknown rules in --enable/--disable flags (fixes #243)
MD034: Fix panic with multi-byte URLs and unbalanced parentheses
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.206-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.206-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.206-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.206-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.206-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.206-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.206-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.
MD037: Skip multi-line inline code spans
MD037: Skip multi-line inline code spans
MD031: Don't require blank line after frontmatter
MD034: Handle URLs with parentheses in path (fixes #240)
https://example.com/page_(1) no longer incorrectly flag the closing parenthesisMD046: Detect mixed whitespace indented code blocks
Heading fixes: Preserve original whitespace
CLI: Support rule aliases in --enable/--disable flags
blanks-around-fences for MD031) now work with CLI flagsRegex patterns: Centralize URL detection
Tab expansion: Consolidate into shared utility
visual_indent utility| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.205-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.205-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.205-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.205-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.205-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.205-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.205-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: Use per-parent indent logic instead of document-wide style
MD007: Use per-parent indent logic instead of document-wide style
MD022: Distinguish horizontal rules from frontmatter delimiters
---, ***, ___) after headings no longer incorrectly trigger blank line warningsLineInfo for consistent behavior across rulesLSP: Unify cross-file link extraction with MD057
extract_cross_file_links utility used by both CLI and LSP| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.204-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.204-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.204-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.204-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.204-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.204-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.204-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: Implement Ruff-style config inheritance model
Config: Implement Ruff-style config inheritance model
~/.config/rumdl/) now serves as base, project config extends itenable/disable are additive to user config by defaultMD001: Recognize frontmatter title as implicit H1
title: in YAML frontmatter no longer require an H1 headingMD057/MD051: Skip wikilinks in cross-file validation (fixes #235)
[[page]]) were incorrectly triggering "relative link does not exist" warningsMD057: Fix LSP diagnostic position for cross-file links (fixes #234)
[...] instead of URL (...)MD012: Remove all trailing blank lines at EOF
Config: Add missing aliases for MD062/MD064/MD065 rules (fixes #232)
CLI: Fail fast when --config conflicts with --no-config/--isolated
Cross-file validation: Fix duplicate warnings for same link
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.203-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.203-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.203-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.203-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.203-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.203-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.203-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.
MD069 (no-duplicate-list-markers): Detect accidental duplicate list markers (fixes #227)
MD069 (no-duplicate-list-markers): Detect accidental duplicate list markers (fixes #227)
- - text that occur from copy-paste with editor auto-list-continuation-, *, + and mixed combinations- - text → - text- --verbose), emphasis (* *italic*), and nested listsMD032 (blanks-around-lists): Add allow-lazy-continuation config option
.ignore file support documentation| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.202-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.202-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.202-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.202-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.202-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.202-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.202-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 `--fail-on` flag to control exit code by severity
CLI: Add --fail-on flag to control exit code by severity
error (default), warning, info--fail-on warning exits non-zero on warnings or errors--fail-on info exits non-zero on any diagnosticSeverity: Add Info severity level for low-priority issues
--fail-on infoMD060 (table-column-count): Smart max-width inheritance from MD013
max-width from MD013 line-length when not explicitly setmax-width still takes precedenceMD063 (heading-capitalization): Handle inline code at start of heading (fixes #228)
`code` text) now correctly apply sentence case to subsequent textMD063 (heading-capitalization): Preserve acronyms and brand names in link text
[GitHub](url)) is now preservedpreserve_cased_words setting applies to link text, not just plain textMD063 (heading-capitalization): Handle inline HTML tags
<kbd>, <abbr>, <code> are now recognized as separate segmentsMD063 (heading-capitalization): Preserve caret notation for control characters
^A, ^C, ^Z (representing Ctrl+A, Ctrl+C, Ctrl+Z) is preserved^@ through ^_ and ^A through ^Z| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.201-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.201-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.201-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.201-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.201-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.201-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.201-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 `--no-defaults` flag to `rumdl config` command (fixes #218)
CLI: Add --no-defaults flag to rumdl config command (fixes #218)
--output toml/json formats--defaults flagSARIF: Map severity field to SARIF result levels
Testing: Add O(n²) complexity regression testing infrastructure
MD051 (link-fragments): Support extension-less cross-file links (GitHub-style) (fixes extension-less link validation)
[link](page#section) → page.md#section).md, .markdown, .mdx, etc.)MD054 (link-image-style): Fix false positives for task lists and HTML tags (fixes false positive detection)
- [ ] [link](url))<a href="url">text</a>)MD057 (link-target-exists): Skip email addresses and fix absolute path bug (fixes email and path handling)
mailto:user@example.com)MD063 (heading-capitalization): Respect lowercase-words when inline code/link is last segment (fixes #223)
lowercase-words configurationMD007 (ul-indent): Fix indent=1 edge case and integrate edge case tests (fixes edge cases)
indent = 1 configuration edge casesMD057 (link-target-exists): Point diagnostics to URL instead of link text (fixes #226)
File processor: Canonicalize file paths to prevent duplicate warnings
Rules: Fixes for issues 219 and 220 (fixes #219, #220)
Rules: Categorize severities by document impact
Documentation: Add severity categorization section to RULES.md
Tests: Reorganize issue-specific tests into appropriate test files
tests/rules/md007_test.rstests/rules/md007_test.rstests/cli_integration_tests.rsissueXXX-named test files per project conventions| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.200-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.200-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.200-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.200-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.200-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.200-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.200-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.
Dependencies: Migrate from deprecated serde_yaml to serde_yml
preserve-cased-words now correctly detects words starting with lowercase followed by uppercase (e.g., "iOS", "eBay")ignore-words in sentence case now properly preserves words at the start of headings (e.g., "nvim" stays "nvim")| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.199-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.199-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.199-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.199-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.199-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.199-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.199-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 (ul-indent): Smart style auto-detection for custom indent values (fixes #210)
indent is set to a non-default value (e.g., indent = 4) without explicit style, MD007 now auto-detects the appropriate stylefixed style (markdownlint compatible)text-aligned style to avoid oscillation with MD005indent = 4 was ignored when style wasn't explicitly set, causing incorrect validationMD063 (heading-capitalization): Fix preserve-cased-words for iOS and ignore-words for first word (fixes #215, #216)
preserve-cased-words now correctly detects words starting with lowercase followed by uppercase (e.g., "iOS", "eBay")ignore-words in sentence case now properly preserves words at the start of headings (e.g., "nvim" stays "nvim")MD057 (link-target-exists): Support mdBook and doc site .html links
.html files now correctly resolve when corresponding .md source exists.md to .htmlcheck() and cross-file validation| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.198-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.198-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.198-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.198-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.198-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.198-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.198-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: Resolve per-file-ignores paths relative to project root (fixes #208)
Config: Resolve per-file-ignores paths relative to project root (fixes #208)
.github/file.md now match /home/runner/work/repo/.github/file.mdMD007 (ul-indent): Remove auto-switch to fixed indentation style (fixes #209)
indent = 3 would auto-switch to fixed style, causing conflictsrumdl fmt now converges in a single pass for all list configurations| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.197-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.197-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.197-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.197-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.197-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.197-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.197-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.
MD064 (no-multiple-consecutive-spaces): New rule to collapse multiple consecutive spaces (thanks @mawkler in #202)
MD064 (no-multiple-consecutive-spaces): New rule to collapse multiple consecutive spaces (thanks @mawkler in #202)
MD065 (blanks-around-horizontal-rules): New rule to enforce blank lines around horizontal rules
MD066 (valid-footnote-definition): New rule to validate footnote definitions
MD067 (no-empty-footnote-ref): New rule to flag empty footnote references
[^]MD068 (no-space-in-footnote-ref): New rule to flag spaces in footnote references
[^ note]WASM: Convert byte offsets to character offsets for JavaScript
MD027 (no-multiple-space-blockquote): Skip list continuation indentation
MD032 (blanks-around-lists): Detect thematic breaks as list terminators
MD036 (no-emphasis-as-heading): Skip emphasis inside HTML comments
MD041 (first-line-heading): Skip badge images before headings
MD046 (code-block-style): Skip code blocks inside HTML comments
MD051 (link-fragments): Recognize HTML and attribute anchors
MD057 (relative-links): Check for markdown source when .html link doesn't exist
.html files now check for corresponding .md source files| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.196-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.196-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.196-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.196-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.196-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.196-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.196-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.
MD063 (heading-capitalization): New rule for heading capitalization style
MD063.style optionMD012 (no-multiple-blanks): Detect blank lines across skipped regions
MD013 (line-length): Check individual line lengths in reflow default mode
MD014 (commands-show-output): Improve message accuracy
MD018/MD023: Skip GitHub issue refs and hashtags in heading detection
#123 or #hashtag no longer falsely detected as ATX headingsMD033 (no-inline-html): Fix false positives
MD034 (no-bare-urls): Fix multiple edge cases
www.example.com as bare URLMD037 (no-space-in-emphasis): Skip template shortcode syntax
{* ... *} no longer triggers false positivesMD042 (no-empty-links): Only flag empty URLs
MD049 (emphasis-style): Report both opening and closing markers
* or _ markers in emphasis pairsMD056 (table-column-count): Escape pipes in inline code
MD057 (relative-links): Multiple path handling improvements
%20 for spaces)@/ for src directory)<path/to/file.md>)MD063: Preserve all-caps acronyms in title case headings
CLI: Fix exit code and messaging
Heading detection: Skip multiline link syntax
Internal: Add is_valid field and iterator for CommonMark headings
descriptive-link-text in configurations| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.195-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.195-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.195-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.195-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.195-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.195-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.195-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: workspace/didChangeConfiguration support
LSP: workspace/didChangeConfiguration support
Config: Typestate pattern for configuration validation
CI: GitHub Marketplace branding for GitHub Action
MD057 (relative-links): Handle template variables and extensionless links
{{URL}} now recognized and skipped[Page](page) now resolve to page.mdConfig: Remove misleading GFM/CommonMark warnings (fixes #195)
gfm and commonmark flavors now silently work as expectedConfig: Discover markdownlint config via upward directory traversal
.markdownlint.yaml and similar files now found in parent directoriesMD007 (ul-indent): Handle tab characters after blockquote markers
> marker now calculated correctlyMD012 (no-multiple-blanks): Skip blank lines inside indented code blocks
MD030 (list-marker-space): Analyze blockquoted list content correctly
MD053 (link-image-reference-definitions): Recognize colons in reference labels
[foo:bar]:) now detectedlint_context: Check entire line for HTML comment marking
<!-- comment --> content) now handled correctly--> on the same line is properly processedlint_context: Add missing HTML5 block elements
lint_context: Handle nested blockquotes and JS comments in ESM blocks
table_utils: Exclude list items from table row detection
lib: Handle mutex poisoning gracefully instead of panicking
Internal: Replace Mutex<Option<Arc<T>>> with OnceLock
Internal: Replace tuple return with FixResult struct
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.194-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.194-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.194-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.194-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.194-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.194-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.194-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.
MD032 (blanks-around-lists): Complete fix for false positives (fixes #188, #190)
MD032 (blanks-around-lists): Complete fix for false positives (fixes #188, #190)
`foo || bar`) no longer trigger false table detectionis_table_line() detectionMD057 (relative-links): Resolve links per-file instead of caching base path
contains('|') checks with is_table_line()
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.193-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.193-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.193-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.193-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.193-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.193-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.193-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: `cache` option to disable caching via config file (closes #153)
Config: cache option to disable caching via config file (closes #153)
cache = false to [global] section to persistently disable caching--no-cache flag on every invocation.rumdl.toml and pyproject.tomlMD052 (reference-links-images): User-configurable ignore option
CI: Major version tag (v0) for GitHub Action
rvben/rumdl@v0 for automatic minor updatesInline config: Cross-file rules now respect disable comments (fixes #189)
<!-- rumdl-disable --> and <!-- rumdl-disable-next-line --> commentsConfig: Directory exclude patterns now match files within (fixes #186)
docs/ now correctly exclude all files in that directoryMD032 (blanks-around-lists): No longer triggers on pipes in inline code (fixes #188)
MD005/MD037/MD041: Resolve false positives
Text reflow: Use proper table detection
RUMDL_FILE_PATH env var with source_file field
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.192-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.192-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.192-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.192-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.192-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.192-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.192-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: Handle broken pipe gracefully when piping to head (fixes #184)
CLI: Handle broken pipe gracefully when piping to head (fixes #184)
rumdl check . | head) no longer causes error messagesConfig: Resolve exclude patterns relative to config file location (fixes #185)
docs/* now resolve relative to the project root (config file directory)--configDocs: Correct build status badge to track release workflow
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.191-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.191-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.191-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.191-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.191-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.191-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.191-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: New `rumdl-action` for CI integration
GitHub Action: New rumdl-action for CI integration
version, path, and config inputsCLI: Add --rules as alias for --enable
rumdl check --rules MD001,MD003 file.mdLSP: Detect client diagnostic capabilities to avoid duplicate diagnostics (fixes #182)
textDocument/publishDiagnosticsMD005 (list-indent): Group sublists by parent content column
MD037/MD038: Handle multi-byte UTF-8 characters in emphasis detection
MD057 (existing-relative-links): Handle absolute paths as workspace-relative
/CONTRIBUTING.md) are now resolved relative to workspace rootMD057 (existing-relative-links): Add filesystem fallback for case-sensitivity issues
CLI: Canonicalize config path before changing working directory
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.190-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.190-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.190-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.190-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.190-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.190-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.190-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.
MD061 (link-destination-exists): Default `case_sensitive` to `true` when loading from TOML
MD061 (link-destination-exists): Default case_sensitive to true when loading from TOML
MD022 (blanks-around-headings): Treat HTML comments and frontmatter as transparent
MD033 (no-inline-html): Skip code span content in multi-line span detection
MD032 (blanks-around-lists): Handle multi-line code spans in list detection
MD044 (proper-names): Skip HTML comments by default
MD029 (ol-prefix): Use pulldown-cmark for list membership detection
skip_media_files config option
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.189-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.189-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.189-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.189-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.189-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.189-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.189-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.
MD062 (link-destination-whitespace): New rule for detecting whitespace in link destinations
MD062 (link-destination-whitespace): New rule for detecting whitespace in link destinations
[text]( url )Cross-file analysis infrastructure: Foundation for multi-file linting
WorkspaceIndex for indexing headings and anchors across files[text](file.md) no longer incorrectly flagged for empty fragments[text](file.md#anchor))| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.188-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.188-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.188-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.188-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.188-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.188-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.188-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.
WASM: Implement Linter class API with configuration support
Linter class provides object-oriented API for WebAssembly buildsMD053 (link-image-reference-definitions): Fix false positives for adjacent footnotes (fixes #177)
[^1][^2] no longer trigger "unused reference" warningsMD034 (no-bare-urls): Use pulldown-cmark for proper link parsing
MD010 (no-hard-tabs): Skip tabs in fenced code blocks
MD052 (reference-links-images): Disable shortcut reference checking by default
[text] without a following [] no longer trigger warningsMD025/MD023: Fix false positives after single-line code blocks (fixes #175)
# text inside code blocks after single-line code blocks no longer flaggedMD013/MD039: Fix reflow oscillation causing unstable output (fixes #170)
rumdl fmt multiple times now produces stable output| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.187-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.187-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.187-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.187-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.187-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.187-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.187-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.
WebAssembly support: Build and publish rumdl as npm package
@anthropic/rumdl npm packagelint() function for linting markdown contentMD058 (blanks-around-tables): Fix duplicating table content during auto-fix
MD013 (line-length): Preserve nested linked images during text reflow
[](url) now preserved during line wrappingrumdl-fmt hook in pre-commit configuration| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.186-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.186-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.186-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.186-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.186-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.186-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.186-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: Support rule aliases in inline configuration comments
line-length instead of MD013 in inline comments<!-- rumdl-disable line-length --> now works alongside <!-- rumdl-disable MD013 -->| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.185-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.185-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.185-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.185-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.185-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.185-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.185-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.
MD061 (forbidden-terms): New rule to flag forbidden terms in documents
Code blocks: Respect CommonMark fence indentation limit (0-3 spaces)
LSP: Use whole-table fixes for table rules (MD055, MD056, MD058, MD060)
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.184-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.184-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.184-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.184-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.184-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.184-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.184-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.
MD056 (table-column-count): Respect MkDocs flavor for pipes in inline code (fixes #165)
MD056 (table-column-count): Respect MkDocs flavor for pipes in inline code (fixes #165)
`x | y`) no longer trigger false positivesMD060 (table-format): Respect MkDocs flavor for pipes in inline code
Schema: Use kebab-case for GlobalConfig properties
line-length) matching config file conventionsRefactor: Consolidate table row parsing into TableUtils
Refactor: Decompose MD013 into module structure
md013_line_length.rs into separate files:
mod.rs: Main rule implementationhelpers.rs: Helper functionstests.rs: Unit tests| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.183-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.183-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.183-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.183-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.183-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.183-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.183-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.
Added rumdl clean command to clear the cache directory
cache clean command
rumdl clean command to clear the cache directoryMD013 (line-length): Visual width mode for CJK and emoji
visual-width option that counts CJK characters as double-widthMD013 (line-length): Custom abbreviation support
abbreviations config option for defining custom abbreviationsConfiguration file discovery: .config/rumdl.toml support
.config/rumdl.toml as a valid configuration location.rumdl.toml → .config/rumdl.toml → pyproject.tomlMD022 docs: Per-level configuration documentation
lines-above and lines-below arraysMD042 (no-empty-links): Wiki-style links no longer flagged as empty (fixes discussion #153)
[[Page Name]], [[Folder/Page]], and [[Page|Display Text]] are now recognized[[#^block-id]] are also handled correctlyMD056 (table-column-count): Handle escaped pipes correctly in GFM tables (fixes #163)
\|)\| is treated as literal pipe contentMD060 (table-format): Accept tables that are already aligned (fixes #164)
:-- instead of :---) no longer trigger reformatting| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.182-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.182-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.182-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.182-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.182-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.182-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.182-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.
Added support for cache-dir in .rumdl.toml and pyproject.toml config files
cache-dir in .rumdl.toml and pyproject.toml config files--cache-dir → RUMDL_CACHE_DIR env var → config file → default.rumdl-cache to .rumdl_cache
.ruff_cache).rumdl-cache directories can be safely deleted.git location).git parent directory (true project root)| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.181-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.181-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.181-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.181-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.181-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.181-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.181-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.
MD022 (blanks-around-headings): Per-level unlimited blank handling
Range utilities: Handle UTF-8 character boundaries safely (fixes #154)
MD041 (first-line-heading): HTML comments are now correctly skipped (fixes #155)
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.180-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.180-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.180-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.180-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.180-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.180-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.180-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.
MD041 (first-line-heading): Fixed multiline HTML detection for headings
MD041 (first-line-heading): Fixed multiline HTML detection for headings
ctx.html_tags() parserMD037 (no-space-in-emphasis): Improved warning message clarity
MD005 (list-indent): Eliminated O(n²) complexity by pre-computing parent relationships
Optimized link/image regex patterns to prevent catastrophic backtracking
lint_context.rsfind_multiline_html_tags() function that detected 0 multiline HTML tagsctx.html_tags()| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.179-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.179-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.179-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.179-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.179-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.179-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.179-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.
Critical: Eliminated O(n²) bottleneck in list block parsing (Issue #148)
reset_tracking_state() helper to eliminate code duplicationUNORDERED_LIST_MIN_CONTINUATION_INDENT constantlinks_on_line() and images_on_line() methods from LintContext| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.178-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.178-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.178-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.178-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.178-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.178-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.178-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.
Removed deprecated MD029-style suffix variant
MD003 (heading-style): Fixed non-deterministic test failure
MD044 (proper-names): Added international character support
MD013 (line-length): Fixed infinite hang in sentence-per-line reflow mode
Table style detection improvements
Code quality fixes
MD013: Comprehensive abbreviation detection tests
Text reflow test organization
text_reflow_test.rs)MD029 (ordered-list-prefix): Improved warning messages
MD029 rule name standardization
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.177-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.177-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.177-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.177-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.177-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.177-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.177-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.
Git-style intelligent configuration merging
disable array uses union semantics - user can add to project disablesenable array uses replace semantics - project can enforce specific rulesenable and disable, enable wins (project can override user)ConfigSource::RumdlToml → UserConfig (global user config)ConfigSource::RumdlToml → ProjectConfig (project-level config files)Markdownlint source (now uses ProjectConfig)SourcedValue::merge_union() - additive merging for disable arraysSourcedValue::merge_override() - replacement merging for enable arraysMajor memory optimizations eliminating string allocations
LineInfo to use byte ranges instead of owned strings (50-80% memory reduction)content(&self, source: &str) -> &str method for on-demand accessLineIndex to borrow &'a str instead of cloning (eliminates one full document copy per lint operation)ParsedLink/ParsedImage to use Cow<'a, str> (60-80% reduction in heap allocations for link/image parsing)Eliminated O(n²) complexity in multiple rules
Optimized CLI commands
rumdl config now executes in ~18ms (eliminated duplicate rule instantiation)Config loading: User config now always loaded as base layer (#131)
--no-config is used)~/.config/rumdl/rumdl.toml) - base layerMD035: Frontmatter delimiter false positives (#40)
---/+++) as horizontal rulesmost_prevalent_hr_style() - don't count frontmatter HRs for prevalencecheck() - don't flag frontmatter delimiters as violationsfix() - don't replace frontmatter delimiters when fixingLineInfo.in_front_matter field for efficient detectionArchitecture: Consistent use of pre-computed context data
LineInfo.in_front_matter instead of function callsctx.line_index for line-based operationsTest infrastructure improvements
Test quality improvements
For library users only (CLI users unaffected):
LineInfo.content field is no longer public - use new content(source: &str) method insteadLineInfo was primarily internal API, impact should be minimal| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.176-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.176-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.176-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.176-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.176-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.176-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.176-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.
Migrated from deprecated Command::cargo_bin to cargo_bin_cmd! macro
Universal wiki-link and Obsidian block reference support
[[wiki-links]] across all rules[[note#^block-id]]Type-safe configuration wrappers
HeadingLevel type with validation (1-6 range)Memory profiling for non-Linux platforms
MD041: mdBook preprocessor directive false positives
{{#include file.md}}){{#include}}, {{#playground}}, {{#rustdoc_include}}, etc.MD042: Inline code in link text false positives
[code with \backticks`](url)`Config import: markdownlint option mapping (#137)
rumdl import now correctly maps markdownlint-specific option names to rumdl equivalentsstern → strict, warns about incompatible options (code_block_line_length, heading_line_length)style/styles options (rumdl uses individual boolean flags)MD011: Footnote reference false positives (#147)
[link](url)[^footnote]^)MD013: Front matter line length (#146)
--- (YAML) and +++ (TOML) front matter delimitersConfig system: kebab-case support
front-matter-title and front_matter_titleMD004: Simplified configuration
Test infrastructure improvements
Command::cargo_bin to cargo_bin_cmd! macrobrew tap)Consistency checking: Prevalence-based style detection
Dependencies
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.175-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.175-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.175-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.175-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.175-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.175-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.175-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.
MD046: False positives with multi-paragraph footnotes
MD046: False positives with multi-paragraph footnotes (#142)
[^1]: First paragraph of footnote.
Second paragraph (indented, but not a code block).
CLI: Differentiate --quiet and --silent flags (#141)
--quiet: Shows diagnostics but suppresses progress/summary (matches Ruff behavior)--silent: Suppresses all output including diagnostics (exit code still reflects violations)LSP: Server now respects --config argument (#140)
--config flag in rumdl server command| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.174-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.174-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.174-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.174-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.174-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.174-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.174-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: Table format rule with Prettier-style auto-compact
MD060: Table format rule with Prettier-style auto-compact
max-width setting (0 = inherit from MD013's line-length)MD043: Wildcard pattern support for heading structures
* placeholders in heading text for dynamic contentMD044: HTML elements configuration option
html-elements configuration to customize proper name handlingRUMDL_CACHE_DIR environment variable
Definition list support in reflow mode (#136)
Term\n: Definition no longer becomes Term : Definition)MD054: Error message alignment
MD041: Front matter title config schema
front_matter_title options to configuration schemaLSP: pyproject.toml validation
[tool.rumdl] section exists before using pyproject.tomlCLI: Rule registration
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.173-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.173-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.173-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.173-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.173-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.173-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.173-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.
markdownlint deprecated these rules in favor of more specific alternatives
MD059: Link text style rule achieving 100% markdownlint compatibility
pulldown-cmark BrokenLink callback integration
Critical: UTF-8 character boundary panic in ordered list detection
char_indices().nth()pulldown-cmark escaped bracket workaround
\[ and \! are incorrectly parsed as links/images\[escaped\], \\[text][ref] reference-style links still produce 1 false positiveMD042: False positives on autolinks
<https://example.com>MD033: HTML tags inside HTML comments
<!-- <div>not flagged</div> -->MD051: GitHub ASCII normalization
`<FILE>` → #fileMD052: Complete Jinja template support
[reference] patterns in Jinja templatesMD039/MD042/MD051: Jinja template checks
ctx.links/ctx.images now skip Jinja template markersLink/image text extraction: Whitespace preservation
[\nNewline\n](url) → text correctly preserved with newlines⚠️ BREAKING: Removed MD002 (first-heading-h1) and MD006 (ul-start-left) rules
.rumdl.toml config if presentRefactoring: Modernized codebase with Rust 1.91.0 features
once_cell::sync::Lazy to std::sync::LazyLock (stable in Rust 1.80)unwrap()/expect() with proper error propagationunreachable!() where appropriate_fix boolean redundancy and cleaned up dead codeRefactoring: HTML comment detection centralized
html_utils::find_html_comments() for consistency| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.172-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.172-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.172-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.172-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.172-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.172-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.172-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: Table column formatting with markdownlint compatibility
aligned, compact, tight, and any (default)any style detects existing formatting and enforces consistency:---, :---:, ---:)MD060.enabled = false (opt-in), MD060.style = "any"MD053: CommonMark compliance for list continuations
LSP: Global config fallback
~/.config/rumdl/.rumdl.tomlLSP: Fixed test expectations for camelCase serialization
Fix mode: Type-safe exit code semantics
FixMode enum for clear fix/check mode distinctiontables default changed to false
true, causing conflicts with table formatting rulesfalse for better user experience.rumdl.toml:[MD013]
tables = true
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.171-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.171-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.171-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.171-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.171-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.171-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.171-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.
Include non-standard file extensions
--include CLI flag to check files with non-standard extensionsrumdl check --include "*.txt" --include "*.text".rumdl.toml configuration: include = ["*.txt", "*.text"]MD055: Preserve user formatting when fixing pipe placement (#129)
| Cell 1 | Cell 2 → | Cell 1 | Cell 2 | (spacing preserved)MD053: Allow backtick references with :: and spaces (#128)
[`std::vec::Vec`]:: within backticks| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.170-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.170-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.170-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.170-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.170-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.170-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.170-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.
MASSIVE PERFORMANCE IMPROVEMENTS: This release delivers 7-53x faster linting through systematic elimination of O(n²) bottlenecks and algorithmic optim
MASSIVE PERFORMANCE IMPROVEMENTS: This release delivers 7-53x faster linting through systematic elimination of O(n²) bottlenecks and algorithmic optimizations. rumdl is now 16-29x faster than markdownlint-cli2 on real-world repositories.
Fix catastrophic O(n²) bottleneck in FilteredLinesIter ⭐ THE GAME CHANGER
content.lines().collect() from inside Iterator::next() methodPre-compute LintContext data structures to eliminate redundant work
Optimize link and image parsing with binary search
Replace regex with byte-level parsing for better performance
Streaming parser architecture
MD046 optimization
vs Previous Version (v0.0.168):
vs markdownlint-cli2 (industry standard):
Current Performance:
MarkdownFlavor::MDX and MarkdownFlavor::Quarto{r}, {python} chunk delimitersMD011: Intelligent URL vs text detection in reversed links
(Generic<T>)[link](http://url)[text] vs (text)[#anchor]MD013: Preserve HTML blocks in list items during reflow
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.169-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.169-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.169-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.169-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.169-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.169-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.169-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: Support for Quarto (.qmd) and RMarkdown (.rmd/.Rmd) files
CLI: Support for Quarto (.qmd) and RMarkdown (.rmd/.Rmd) files
.qmd (Quarto), .rmd and .Rmd (RMarkdown) file extensionsLSP: will_save_wait_until for proper auto-fix on save
textDocument/willSaveWaitUntil capabilitytextDocument/didSave approachMD033: LSP Quick Fix to remove HTML tags while keeping content
MD013: Skip auto-fix for list items containing HTML tags
</details> were split or indentation was lostMD013: Fix incorrect sentence splitting after abbreviations in sentence-per-line mode
MD013: Prevent autolinks from being parsed as HTML tags
<https://example.com> are no longer treated as HTMLMD013: Prevent content duplication in sentence-per-line reflow
MD013: Improve sentence-per-line error messages and highlighting
MD013: Skip template directives at paragraph start in sentence-per-line mode
{{ variable }}) at start of paragraphs no longer cause issuesMD013: Treat template directives as paragraph boundaries
MD013: Join single-sentence paragraphs in sentence-per-line mode
MD013: Handle multiple spaces and multi-line paragraphs in sentence-per-line mode
MD052: Preserve backtick-wrapped patterns with dots in MkDocs mode
`[foo.bar]` now preserve dots in slugsMD052: Support Pandoc citations and inline footnotes in RMarkdown/Quarto
[@citation], @citation, [-@citation]^[footnote text]MD033: Only report opening HTML tags, not closing tags
</div> are no longer separately reportedMD018: Skip CSS selectors and JS code inside HTML blocks
#slide-1 inside <style> tags no longer trigger MD018<script> tags is properly ignoredMD012: Enforce exactly 1 newline at EOF and clean LSP logging
CI: Use cargo run instead of release binary in rumdl pre-commit hook
cargo run for more reliable executionSchema: Allow root-level rule sections like [MD013] in config validation
[MD013] style sectionsRefactor: Detect HTML blocks before parsing headings
<style> or <script>)Refactor: Use filtered_lines() for front-matter handling in MD011 and MD012
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.168-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.168-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.168-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.168-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.168-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.168-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.168-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.
Configuration validation with fuzzy-match suggestions
Configuration validation with fuzzy-match suggestions
.rumdl.toml and pyproject.tomlline-lenght → suggests line-length, reflw → suggests reflowMD053: Support for community comment-style references
[//]: # (comment), [comment]: #, [note]: #, [todo]: #, [fixme]: #, [hack]: ## as URL is treated as a commentMD013: line-length = 0 to disable all line length checks
line-length = 0 now completely disables MD013 ruleMD051: mdbook template support
{{#template path/to/file.md}} syntaxLSP: Manual "Reflow paragraph" code action for MD013 warnings
LSP: Preserve trailing newline in reflow action
LSP: Improve logging and resolve auto-fix issues
MD051: Correct GitHub slug generation for angle brackets
MD033: Remove unhelpful message suffix
Code cleanup: Remove dead code
LinkImageStyle enum from MD054| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.167-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.167-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.167-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.167-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.167-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.167-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.167-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: `paragraphs` field to control paragraph line length checks (resolves #121)
paragraphs field to control paragraph line length checks (resolves #121)
paragraphs (defaults to true) allows disabling line length warnings for paragraph textparagraphs: falseMD013:
paragraphs: false # Don't warn about long paragraphs
code-blocks: true # Still check code blocks
tables: true # Still check tables
reflow: true
reflow-mode: "sentence-per-line"
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.166-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.166-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.166-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.166-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.166-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.166-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.166-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.
MD040: Always preserve indentation when adding language tags (fixes #122)
is_in_nested_context() helper logicConventional Commits validation hook: Git commit-msg hook validates commit message format
Automated changelog generation with git-cliff:
make changelog-draft for previewing CHANGELOG updates| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.165-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.165-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.165-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.165-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.165-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.165-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.165-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.
File-Level Caching (Ruff-inspired): Dramatic performance improvements for repeat runs
File-Level Caching (Ruff-inspired): Dramatic performance improvements for repeat runs
.rumdl-cache/{version}/{hash}.json--no-cache to disable, --cache-dir to customize locationThread-Safe Parallel Caching: Best of both worlds - parallelization AND caching
Convergence Detection: Added hash-based detection to identify when fixes have stabilized
Convergence Failure Warnings: Report when auto-fix doesn't converge (Ruff-style)
RUMDL_DEBUG_FIX_PERF environment variableAuto-fix Iteration: Automatic iteration until convergence (fixes #88)
--fix now automatically iterates up to 100 passes until content stabilizes (same as Ruff)rumdl check --fix multiple timesUnified Linting Architecture: Removed ~60 lines of duplicate linting logic
process_file_collect_warnings to use process_file_innerParallel File Processing for Fix Mode: 4.8x speedup on multi-file fixes
Multi-pass Fixes: No longer require manual re-runs to apply all possible fixes
rumdl check --fix multiple timesCache Correctness: Include enabled rules in cache key (Ruff-style)
--enable/--disable CLI flagsLintWarning.rule_name from Option<&'static str> to Option<String> for proper serializationCache Parallelization: Cache now works correctly with parallel processing
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.164-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.164-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.164-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.164-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.164-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.164-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.164-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.
MD024: Default siblings_only to true for better usability
siblings_only to true for better usability
MD013: Enforce line length in sentence_per_line mode (fixes #111)
HTML Comments: Complete fix to ignore all content inside HTML comments (fixes #119, #20)
<!-- ... -->)in_html_comment field to LineInfo for comprehensive trackingskip_html_comments() methodMD046: Resolve false positives from Issue #118
MD050: Resolve false positives from Issue #118
Tests: Fixed sentence_per_line_detection test assertion
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.163-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.163-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.163-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.163-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.163-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.163-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.163-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.
Filtered Line Iterator Architecture: New infrastructure for rule implementation
MD052: Skip code blocks in blockquotes when checking references
MD034: Skip URLs in front matter
Tests: Fixed flaky profiling::tests::test_concurrent_access test
#[serial_test::serial] attribute to prevent race conditionsDocumentation: Build badge now displays correctly
MD005: Optimized continuation detection from O(n²) to O(n)
General: Consolidated multiple line_info() calls for same line
.rumdl.toml and pyproject.toml| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.162-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.162-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.162-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.162-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.162-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.162-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.162-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: Support for backslash hard line breaks for mdformat compatibility (closes #110)
\) at end of line now recognized as hard break alongside two-space breaksMD029: Recognize properly indented nested content as list continuation
MD013: Preserve semantic line breaks and fix false positives in normalize mode
MD044: Invert code-blocks logic to match MD013 and change default to false
true = check code blocks, false = skip code blocksfalse (skip code blocks) for better user experience| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.0.161-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.0.161-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.0.161-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.0.161-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.0.161-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.0.161-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.0.161-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 →