Added
- md087: report inline disable comments that suppress nothing (40fc37d)
- md051,md057: check path-shaped frontmatter values behind an option (98a0ff0)
- md033: add allowed-inside and a no-markdown-equivalent allowlist value (cb0ba51)
- name rules by their readable name in generated output (3b196d8)
- md082: add allow-parent-headings to accept a heading with subsections (662d570)
- md040: add custom-languages for fence labels Linguist does not know (1eda9f4)
- md086: add rule for unclosed comment delimiters (6cbd27f)
- md057: report relative links that point at their own file (7fd85fe)
- lsp: report inline config problems as diagnostics (20acc02)
Fixed
- md063: name the documented style spellings when a style is invalid (5476db8)
- md013: exempt an HTML-only line in a blockquote inside a list item (98e5d34)
- md013: exempt nested standalone links (3be374e)
- md013: adjust paragraph reflow limit for common indent (2f7c68e)
- md032: avoid warning on pseudo-list markers after recognized lists (71e6ff5)
- md062: preserve parentheses in link destinations (8ec2eea)
- md051: resolve cross-file links whose path carries a query string (8876d46)
- md051,md057: read frontmatter in documents that hold no body links (5f35562)
- md040: take disabled fences out of the label vote by the shared state (dd7011d)
- md040: honor a rule alias in a disable comment (7b86267)
- md040: reject custom-languages entries containing whitespace (651a7ec)
- md040: stop normalizing fence labels to an invalid preferred alias (7c10626)
- config: apply map-valued rule options set in rumdl.toml (a8ff5b6)
- inline-config: ignore directives inside indented code blocks (fee4d6f)
- config: warn when an inline enable targets a per-file-ignored rule (3c3837f)
- lsp: measure diagnostic positions in UTF-16 code units (3cb34b4)
- comments: read an unclosed comment in a container body, not in code (85bd3f8)
- comments: hide the block an unclosed
<!--opens from every rule (27c247c) - md086: keep reporting an Obsidian opener below an unclosed HTML one (a05dff9)
- md086: don't report a comment opener the other syntax hides (4d589a1)
- comments: ignore Obsidian comment delimiters inside front matter (441a0a4)
- comments: ignore comment delimiters inside front matter (dded694)
- comments: end an HTML comment at the first --> after the opener (274166a)
- md057: keep search paths a fallback when matching a link to its own file (26e88cc)
- md057: anchor reference definition fixes to the link destination (b930b71)
- lsp: use defaults when a workspace root's own scope cannot be resolved (d1777ce)
- cli: count fixes a document enables with an inline configure-file comment (f17a5eb)
- lsp: resolve a secondary workspace root's own configuration (41b9a22)
- cli: count an unloadable subdirectory config as a config warning (648aa72)
- md041: report the fix capability its opt-in fix enables (ed30c9a)
- lsp: resolve workspace configuration from the workspace root (8e0fcee)
Performance
- md062,lint-context: scan link escapes in one forward pass (8fff82b)
Downloads
| File | Platform | Checksum |
|---|---|---|
| rumdl-v0.2.48-x86_64-unknown-linux-gnu.tar.gz | Linux x86_64 | checksum |
| rumdl-v0.2.48-x86_64-unknown-linux-musl.tar.gz | Linux x86_64 (musl) | checksum |
| rumdl-v0.2.48-aarch64-unknown-linux-gnu.tar.gz | Linux ARM64 | checksum |
| rumdl-v0.2.48-aarch64-unknown-linux-musl.tar.gz | Linux ARM64 (musl) | checksum |
| rumdl-v0.2.48-x86_64-apple-darwin.tar.gz | macOS x86_64 | checksum |
| rumdl-v0.2.48-aarch64-apple-darwin.tar.gz | macOS ARM64 (Apple Silicon) | checksum |
| rumdl-v0.2.48-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.