diff --git a/.agents/skills/release-notes/SKILL.md b/.agents/skills/release-notes/SKILL.md index a6f6c8a8c..f2afc0076 100644 --- a/.agents/skills/release-notes/SKILL.md +++ b/.agents/skills/release-notes/SKILL.md @@ -20,6 +20,7 @@ Use this skill when: Ask the user for: 1. **New version number** (e.g., `v2.5.0`) 2. **Release date** (default: today) +3. **Release branch** (optional): The branch from which the release will be cut. Defaults to `HEAD`. When the release is cut from a different branch (e.g., `release-2.0`), use that branch as the upper bound of the commit range instead of `HEAD`. Release notes may be written on `main` even though the release is cut from a release branch. Then determine the previous release tag automatically: ```bash @@ -28,25 +29,25 @@ git tag --sort=-v:refname | head -1 ## Step 2: Collect Git History -Run these commands to gather the raw data (replace `` with the previous tag): +Run these commands to gather the raw data. Replace `` with the previous tag and `` with the release branch (e.g., `upstream/release-2.0`) or `HEAD` if releasing from the current branch: ```bash # Full commit log -git log ..HEAD --oneline +git log .. --oneline # Contributors with commit counts -git shortlog -sne ..HEAD +git shortlog -sne .. # New controller directories (compare directory listings) diff <(git ls-tree -d --name-only internal/controllers/ | sort) \ - <(git ls-tree -d --name-only HEAD internal/controllers/ | sort) \ + <(git ls-tree -d --name-only internal/controllers/ | sort) \ | grep '^>' # All authors who ever contributed before this release git log --format='%aN' | sort -u > /tmp/old-contributors.txt # Authors in this release -git log ..HEAD --format='%aN' | sort -u > /tmp/new-contributors.txt +git log .. --format='%aN' | sort -u > /tmp/new-contributors.txt # First-time contributors comm -13 /tmp/old-contributors.txt /tmp/new-contributors.txt @@ -54,10 +55,12 @@ comm -13 /tmp/old-contributors.txt /tmp/new-contributors.txt For each first-time contributor, find the PR number of their first contribution: ```bash -git log ..HEAD --author="" --oneline --reverse | head -1 +git log .. --author="" --oneline --reverse | head -1 ``` Then look up the corresponding PR number from the merge commit message (format: `Merge pull request #NNN`). +> **Note**: When using a release branch, make sure to fetch it first (e.g., `git fetch upstream release-2.0`). The merge commit on the release branch may reference a backport PR number rather than the original PR. Use the original PR number from `main` for release notes since that's where the review and discussion happened. + ## Step 3: Categorize Changes Review every commit and sort into sections. Use these rules: diff --git a/website/docs/changelog.md b/website/docs/changelog.md index f1f0c985f..ed9a49857 100644 --- a/website/docs/changelog.md +++ b/website/docs/changelog.md @@ -1,5 +1,26 @@ # Changelog +## v2.6 - June 10, 2026 + +### New features + +- Flavor: Added `id` field for creation + +### Bug fixes + +- Tightened adoption filters across multiple controllers (AddressScope, FloatingIP, Group, Network, Port, Project, Router, SecurityGroup, ServerGroup, Subnet, Trunk, User) to prevent adopting resources that don't fully match the spec +- Fixed terminal error classification: use `IsRetryable` instead of `IsConflict` so non-HTTP gophercloud errors (e.g., client-side validation failures) are no longer retried indefinitely (Fixes [#241](https://github.com/k-orc/openstack-resource-controller/issues/241)) +- Treated Neutron quota-exceeded 409 errors as retryable so controllers retry when quota becomes available (Fixes [#667](https://github.com/k-orc/openstack-resource-controller/issues/667)) +- Fixed port status not updating to ACTIVE after server interface attachment +- Fixed volume status not updating to in-use after server attachment + +### Infrastructure improvements + +- Bumped Go to 1.25.11 +- Bumped kuttl to v0.26.0 +- Bumped golang.org/x/net to v0.53.0 and other dependency updates +- Added CI verification for `generate-bundle` + ## v2.5 - April 16, 2026 This release adds five new controllers spanning Neutron and Keystone services,