Skip to content

fix(scripts): changelog_housekeeping misses two boundary footers #717

@doobidoo

Description

@doobidoo

Context

During PR #716 (docs: rotate changelog — archive 35 versions), Gemini review caught two hardcoded version-boundary strings that `scripts/maintenance/changelog_housekeeping.py` should have rewritten but didn't:

  1. README.md "Full version history" footer:
    ```markdown
    Full version history: CHANGELOG.md | Older versions (v10.22.0 and earlier) | All Releases
    ```

  2. docs/archive/CHANGELOG-HISTORIC.md header:
    ```markdown
    Older changelog entries for MCP Memory Service (v10.24.0 and earlier).
    ```

Both footers still referenced ancient boundaries (v10.22, v10.24) from earlier archivals. They had to be patched manually.

Why the script missed them

`update_header_range()` in the script only matches two patterns:

  • `Recent releases for MCP Memory Service (vX.Y.Z and later)`
  • `Versions vX.Y.Z and earlier`

The two footers above are in different formats:

Proposed fix

Extend `update_header_range()` (or add a sibling function `update_all_boundaries()`) to also match:

  • `\[Older versions \(v[\d.]+ and earlier\)\]` → rewrite the version
  • `Older changelog entries for MCP Memory Service \(v[\d.]+ and earlier\)\.` → rewrite the version

Both should be replaced with the `newest_archived` version the script already computes.

Definition of Done

  • Both patterns rewritten by the script on every rotation
  • Dry-run output mentions footer updates explicitly
  • Test with synthetic README + HISTORIC containing various boundary formats
  • Next rotation doesn't need manual Gemini follow-up for these

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions