github rvben/rumdl v0.0.209

latest releases: v0.0.213, v0, v0.0.212...
6 days ago

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 languages option 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-gitignore in config files (fixes #258)

    • Added respect-gitignore option to [global] section in .rumdl.toml and pyproject.toml
    • CLI flag --respect-gitignore=false syntax now works (previously only --no-respect-gitignore)
  • Release: Fix pre-built aarch64-linux binaries for 16K page systems (fixes #256)

    • Pre-built binaries for aarch64-unknown-linux-gnu and aarch64-unknown-linux-musl now work on Asahi Linux and Raspberry Pi 5
    • Set JEMALLOC_SYS_WITH_LG_PAGE=16 to configure jemalloc for 64K page compatibility
    • Previously crashed with "Unsupported system page size" on systems with 16K or 64K pages
  • 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
  • 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., - Orange followed 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 rumdl

Using pip

pip install rumdl

Using pipx

pipx install rumdl

Direct Download

Download the appropriate binary for your platform from the table above, extract it, and add it to your PATH.

Don't miss a new rumdl release

NewReleases is sending notifications on new releases.