Skip to content

[Bug]: CHANGELOG.md fails MD024 lint due to release-please duplicate headings #219

@WilliamBerryiii

Description

@WilliamBerryiii

Component

Scripts

Bug Description

The release-please generated CHANGELOG.md fails the Markdown Lint CI check due to MD024 (no-duplicate-heading) violations.

Release-please generates changelog entries with section headings like ### ✨ Features, ### 🐛 Bug Fixes, and ### 🔧 Maintenance for each version. When multiple versions exist in the changelog, these headings repeat, triggering MD024 violations.

PR #212 fails with:

CHANGELOG.md:34:5 MD024/no-duplicate-heading/no-duplicate-header Duplicate heading text [Context: "### ✨ Features"]
CHANGELOG.md:47:5 MD024/no-duplicate-heading/no-duplicate-header Duplicate heading text [Context: "### 🐛 Bug Fixes"]
CHANGELOG.md:57:5 MD024/no-duplicate-heading/no-duplicate-header Duplicate heading text [Context: "### 🔧 Maintenance"]

Expected Behavior

CHANGELOG.md should pass markdown lint checks. Duplicate section headings across different version entries are expected and valid for changelog files.

Steps to Reproduce

  1. Open PR chore(main): release hve-core 2.0.0 #212 (release-please v1.2.0)
  2. Observe Markdown Lint job failure
  3. Run npx markdownlint-cli2 CHANGELOG.md locally to see MD024 errors

Additional Context

The current .markdownlint.json has strict MD024 config:

"MD024": { "siblings_only": false }

Proposed fix: Add MD024 to the existing disable directive in CHANGELOG.md:

<!-- markdownlint-disable MD012 MD024 -->

This targets the exception to CHANGELOG.md specifically while maintaining the strict global rule.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds-triageRequires triage and prioritization

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions