Added
- MD070: Nested code fence collision detection (new rule)
- Detects when inner code fences would prematurely close outer fences
- Example: outer
```containing inner```causes collision - Suggests using longer fences (
````) for outer blocks - Configurable
languagesoption to limit checking to specific info strings (default:["", "markdown", "md"]) - Auto-fix increases fence length to prevent collisions
Fixed
-
MD040: Fix false positives on list-indented code blocks (fixes #257)
- Refactored to use pulldown-cmark for CommonMark-compliant code block detection
- List-indented closing fences no longer incorrectly flagged as missing language
- Eliminates manual fence state tracking that failed for consecutive code blocks
-
CLI: Support
respect-gitignorein config files (fixes #258)- Added
respect-gitignoreoption to[global]section in.rumdl.tomlandpyproject.toml - CLI flag
--respect-gitignore=falsesyntax now works (previously only--no-respect-gitignore)
- Added
-
Release: Fix pre-built aarch64-linux binaries for 16K page systems (fixes #256)
- Pre-built binaries for
aarch64-unknown-linux-gnuandaarch64-unknown-linux-muslnow work on Asahi Linux and Raspberry Pi 5 - Set
JEMALLOC_SYS_WITH_LG_PAGE=16to configure jemalloc for 64K page compatibility - Previously crashed with "Unsupported system page size" on systems with 16K or 64K pages
- Pre-built binaries for
-
List detection: Filter out YAML/TOML lists in frontmatter
- Frontmatter arrays like
tags: [foo, bar]no longer incorrectly detected as markdown lists - Fixes false positives in MD004, MD005, MD007, MD030, and other list-related rules
- Frontmatter arrays like
-
List detection: Handle nested list items and tab indentation
- Nested items where content begins on the next line are now correctly parsed
- Tab-indented nested lists now properly detected and validated
-
MD030: Eliminate false positives on hard-wrapped citations and continuations (fixes #253)
- Replaced manual regex-based list detection with pulldown-cmark parser for context-aware list item detection
- Hard-wrapped citation continuations like
(Doe 2003, p.\n 1234)no longer trigger false positives - Resolves LSP formatting infinite loop (adding trailing space → MD009 → removing space → MD030)
- Added 16 comprehensive edge case tests covering citations, blockquoted lists, URLs, ISBNs, and mathematical expressions
-
Heading detection: Prevent list items from being detected as setext headings (fixes #254)
- Per CommonMark spec 4.3, setext heading content cannot be a list item, ATX heading, blockquote, thematic break, code fence, or HTML block
- Incomplete list items (e.g.,
- Orangefollowed by-) no longer incorrectly detected as level 2 headings - Eliminates false positives in all heading-related rules (MD041, MD022, MD023, MD024, MD025, MD026, MD003, MD043)
- Added comprehensive validation for all CommonMark setext heading exclusions
-
Output formatters: Correct severity field in JSON, JSON Lines, and Azure Pipelines formats
- Fixed bug where severity was always output as "error" regardless of actual severity level
- JSON/JSON Lines/Azure formatters now correctly output "error", "warning", or "info" based on actual severity
Downloads
| 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 |
Installation
Using uv (Recommended)
uv tool install rumdlUsing pip
pip install rumdlUsing pipx
pipx install rumdlDirect Download
Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.