Skip to content

chore: FXC-4066-improve-changelog-management#3292

Merged
yaugenst-flex merged 1 commit intodevelopfrom
FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs
Feb 18, 2026
Merged

chore: FXC-4066-improve-changelog-management#3292
yaugenst-flex merged 1 commit intodevelopfrom
FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs

Conversation

@marcorudolphflex
Copy link
Copy Markdown
Contributor

@marcorudolphflex marcorudolphflex commented Feb 13, 2026

Summary

This PR migrates release-note management from manual CHANGELOG.md edits to Towncrier fragments and adds automation to generate changelog PRs for releases.

Changes

  • Added Towncrier support to the project:
    • towncrier in dev dependencies (pyproject.toml, poetry.lock)
    • [tool.towncrier] config in pyproject.toml
    • new template at changelog.d/template.md
    • contributor guidance at changelog.d/README.md
  • Migrated current unreleased entries into fragment files under changelog.d/*.md.
  • Updated CHANGELOG.md to Towncrier-managed format with start marker:
    • <!-- towncrier release notes start -->
  • Added scripts/changelog_refs.py to update release compare links automatically.
  • Added workflow public/tidy3d/python-client-build-changelog-pr to:
    • build CHANGELOG.md from fragments
    • update compare links
    • open an automated PR
  • Updated CI branch-name lint rule to exempt auto-generated changelog branches:
    • chore/build-changelog-*
  • Updated docs and contributor guidance:
    • .github/workflows/README.md
    • docs/development/release/flow.rst
    • docs/development/release/version.rst
    • AGENTS.md

Demo

Here is one demo run of the github action on a fork:
marcorudolphflex#4


Note

Medium Risk
Moderate risk due to new CI gating and release automation that can block merges or generate incorrect changelog/compare links if the workflow or reference updater misbehaves.

Overview
Migrates release notes from direct CHANGELOG.md edits to Towncrier fragments in changelog.d/, including a Towncrier template/config, contributor docs, and moving current unreleased entries into fragment files; CHANGELOG.md is reformatted as a generated file with a Towncrier marker.

Adds automation for release managers: a new public/tidy3d/python-client-build-changelog-pr workflow that builds the changelog from fragments, updates compare links via new scripts/changelog_refs.py (with tests), and opens an auto PR. CI is updated to block PRs that edit CHANGELOG.md directly (except auto-generated chore/build-changelog-* branches) and to exempt those branches from Jira-key branch-name enforcement; docs/agent guidelines and dev deps (towncrier) are updated accordingly.

Written by Cursor Bugbot for commit cccfca1. This will update automatically on new commits. Configure here.

@marcorudolphflex marcorudolphflex force-pushed the FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs branch from 01a0f79 to e1c9d2b Compare February 13, 2026 12:10
@marcorudolphflex marcorudolphflex marked this pull request as ready for review February 13, 2026 12:20
@github-actions
Copy link
Copy Markdown
Contributor

Diff Coverage

Diff: origin/develop...HEAD, staged and unstaged changes

No lines with coverage information in this diff.

Copy link
Copy Markdown
Collaborator

@momchil-flex momchil-flex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems neat!

Comment thread scripts/changelog_refs.py
Copy link
Copy Markdown
Collaborator

@yaugenst-flex yaugenst-flex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for setting up Towncrier-based changelog generation and automation. I found one actionable edge case in scripts/changelog_refs.py: if a release version is provided with a leading v, the script currently generates malformed compare links (...vvX.Y.Z). Please normalize new_version to strip a leading v before building reference links, and add a small regression check for this CLI input form.

Comment thread .github/workflows/tidy3d-python-client-build-changelog-pr.yml
Comment thread .github/workflows/tidy3d-python-client-build-changelog-pr.yml
@marcorudolphflex marcorudolphflex force-pushed the FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs branch from 42c8760 to 7295144 Compare February 13, 2026 16:32
@yaugenst-flex yaugenst-flex force-pushed the FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs branch from 7295144 to ef36082 Compare February 18, 2026 10:48
Comment thread CHANGELOG.md
Comment thread CHANGELOG.md
Comment thread changelog.d/3219.1.breaking.md
@yaugenst-flex yaugenst-flex force-pushed the FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs branch from 0424669 to f002567 Compare February 18, 2026 11:10
Comment thread changelog.d/template.md
@yaugenst-flex yaugenst-flex force-pushed the FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs branch from f002567 to e4607cb Compare February 18, 2026 11:27
Copy link
Copy Markdown
Collaborator

@daquinteroflex daquinteroflex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good thanks!

Comment thread changelog.d/3109.changed.md Outdated
Comment thread changelog.d/3144.changed.md Outdated
Comment thread changelog.d/3211.2.changed.md Outdated
Comment thread scripts/changelog_refs.py Outdated
@yaugenst-flex yaugenst-flex force-pushed the FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs branch from e4607cb to 8442c4c Compare February 18, 2026 11:58
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Comment thread changelog.d/3211.2.changed.md Outdated
…s-and-make-better-changelogs

Co-authored-by: yaugenst-flex <yannick@flexcompute.com>
@yaugenst-flex yaugenst-flex force-pushed the FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs branch from 8442c4c to cccfca1 Compare February 18, 2026 12:21
@yaugenst-flex yaugenst-flex added this pull request to the merge queue Feb 18, 2026
Merged via the queue into develop with commit 689d461 Feb 18, 2026
37 of 41 checks passed
@yaugenst-flex yaugenst-flex deleted the FXC-4066-improve-changelog-management-to-reduce-merge-conflicts-and-make-better-changelogs branch February 18, 2026 16:06
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.

4 participants