chore: Replace Danger with release.yml changelog policy#3641
Conversation
Replace the Danger CI workflow with a craft-compatible release.yml that defines changelog categories based on conventional commit patterns. This moves changelog generation policy from a CI check to a declarative configuration. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Document the automated changelog generation process, including how PR titles drive categorization and semver bumps, the changelog preview on PRs, and custom changelog entries via PR descriptions. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Update the example PR description to better match the actual PR template structure. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Fix indentation and update craft workflow reference. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
This reverts commit 9066900.
There was a problem hiding this comment.
Pull request overview
This PR replaces the previous Danger-based changelog enforcement with a craft-compatible .github/release.yml policy that categorizes changelog entries and determines semver bumps from Conventional Commit-style subjects.
Changes:
- Add a craft changelog policy in
.github/release.ymlwith category + semver mapping and exclusion rules. - Remove the
DangerGitHub Actions workflow. - Document the new changelog process in
CONTRIBUTING.md.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| CONTRIBUTING.md | Documents the new craft-based changelog process and how entries are derived. |
| .github/workflows/danger.yml | Removes the obsolete Danger workflow. |
| .github/release.yml | Introduces the craft changelog categorization + semver policy (patterns, exclusions). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fix YAML list indentation and add statuses: write permission to the changelog-preview workflow. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog. Internal Changes
🤖 This preview updates automatically when you update the PR. |
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Revert the test category rename and remove [bot] suffix from author exclusions. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Replace the commit types table in AGENTS.md with a link to release.yml. Remove Danger reference and update changelog info to point to CONTRIBUTING.md. Add Enhancements category to release.yml for perf/impr/enh types. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
perf is already matched by the Enhancements category. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
|
|
||
| If a PR should be excluded from the changelog, apply the `skip-changelog` label. | ||
|
|
||
| ### Custom Changelog Entries from PR Descriptions |
There was a problem hiding this comment.
This is for individual PRs, i remember that we sometimes also do warnings/notes for whole versions. Do we have a workflow or escape hatch for this?
There was a problem hiding this comment.
We can always update the changelog directly in the release branch e.g via another PR, we dont always need to entirely rely on the auto generation
| Add a new function called `foo` which prints "Hello, world!" | ||
| ``` | ||
|
|
||
| The text under "Changelog Entry" will be used verbatim in the changelog instead of the PR title. If |
There was a problem hiding this comment.
How do we guarantee that we correctly link PR numbers if we opt to do such a custom entry?
There was a problem hiding this comment.
craft auto attaches by @author in <PR link>
e.g
### Changelog Entry
- Added new crash reporting API for Flutter web
- Improved session tracking accuracy on iOSThe changelog would render as:
### Features
- Added new crash reporting API for Flutter web by @author in [#500](https://github.com/owner/repo/pull/500)
- Improved session tracking accuracy on iOS by @author in [#500](https://github.com/owner/repo/pull/500)There was a problem hiding this comment.
if you want it completely customized by manually writing it into the changelog you have to make sure yourself that it's the correct PR
Separate dependency update commits into their own changelog section for better readability. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
There was a problem hiding this comment.
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.
Reviewed by Cursor Bugbot for commit d4762e7. Configure here.

Replace the Danger CI workflow with a craft-compatible
release.ymlthatdeclares changelog categories based on conventional commit patterns with
semver annotations.
The new
release.ymlpolicy:skip-changeloglabeled PRs and bot authors (dependabot, renovate)Fixes (patch), and Internal Changes (no semver) using regex on commit subjects
The Danger workflow is removed as changelog enforcement moves to the
declarative release configuration.