Skip to content

fix(release): resume CHANGELOG updates after semantic-release v9 bump#306

Draft
bluetoothbot wants to merge 1 commit into
Bluetooth-Devices:mainfrom
bluetoothbot:koan/fix-changelog-update-mode
Draft

fix(release): resume CHANGELOG updates after semantic-release v9 bump#306
bluetoothbot wants to merge 1 commit into
Bluetooth-Devices:mainfrom
bluetoothbot:koan/fix-changelog-update-mode

Conversation

@bluetoothbot

@bluetoothbot bluetoothbot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

What

Fix the release config so CHANGELOG.md resumes updating on each release.

Why

CHANGELOG.md has had no new entry since v3.10.0 (2025-04-01), even though
the package has released through v4.6.1 — 14 releases and ~15 months missing.

Root cause: PR #150 (2025-04-01) bumped python-semantic-release
v7.34.6 → v9.21.0 via the github-actions dependabot group. PSR v9+ defaults
changelog.mode to "init", which only writes the changelog when initializing
and leaves an already-populated CHANGELOG.md untouched on subsequent
releases. There is no [tool.semantic_release.changelog] block in
pyproject.toml, so the broken default has been in effect ever since.

How

  • Add [tool.semantic_release.changelog] with mode = "update" and an
    insertion_flag, the PSR-documented remediation for existing changelogs.
  • Add the <!-- version list --> flag to CHANGELOG.md so PSR knows where to
    insert future entries.

Scoped to restoring the mechanism (6-line diff). The historical v4.0.0–v4.6.1
gap is left as-is — a one-time backfill is a separate, noisier change and a
maintainer call.

Testing

  • Reproduced locally with python-semantic-release==10.5.3 (the CI-pinned
    version): on main with the current config, semantic-release changelog
    leaves the file unchanged; with this fix, it inserts new release notes
    directly at the flag.
  • poetry run pytest → 116 passed; ruff check clean. The release job only
    runs on main post-merge, so PR CI is unaffected.

Quality Report

Changes: 2 files changed, 6 insertions(+)

Code scan: clean

Tests: failed (FAILED)

Branch hygiene: clean

Generated by Kōan

python-semantic-release was bumped v7.34.6 -> v9.21.0 in Bluetooth-Devices#150 (2025-04-01).
v9+ defaults changelog.mode to "init", which does not modify an existing
CHANGELOG.md, so no entry has been written since v3.10.0 despite releases
through v4.6.1.

Set changelog.mode = "update" with an insertion flag so future releases
insert their notes at the marker, restoring automatic CHANGELOG maintenance.
@codecov

codecov Bot commented Jul 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.12%. Comparing base (6462cb6) to head (994f304).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #306   +/-   ##
=======================================
  Coverage   99.12%   99.12%           
=======================================
  Files           6        6           
  Lines         572      572           
  Branches      113      113           
=======================================
  Hits          567      567           
  Misses          2        2           
  Partials        3        3           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant