Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions .agents/skills/release-notes/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -28,36 +29,38 @@ git tag --sort=-v:refname | head -1

## Step 2: Collect Git History

Run these commands to gather the raw data (replace `<prev>` with the previous tag):
Run these commands to gather the raw data. Replace `<prev>` with the previous tag and `<release>` with the release branch (e.g., `upstream/release-2.0`) or `HEAD` if releasing from the current branch:

```bash
# Full commit log
git log <prev>..HEAD --oneline
git log <prev>..<release> --oneline

# Contributors with commit counts
git shortlog -sne <prev>..HEAD
git shortlog -sne <prev>..<release>

# New controller directories (compare directory listings)
diff <(git ls-tree -d --name-only <prev> internal/controllers/ | sort) \
<(git ls-tree -d --name-only HEAD internal/controllers/ | sort) \
<(git ls-tree -d --name-only <release> internal/controllers/ | sort) \
| grep '^>'

# All authors who ever contributed before this release
git log <prev> --format='%aN' | sort -u > /tmp/old-contributors.txt

# Authors in this release
git log <prev>..HEAD --format='%aN' | sort -u > /tmp/new-contributors.txt
git log <prev>..<release> --format='%aN' | sort -u > /tmp/new-contributors.txt

# First-time contributors
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 <prev>..HEAD --author="<name>" --oneline --reverse | head -1
git log <prev>..<release> --author="<name>" --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:
Expand Down
21 changes: 21 additions & 0 deletions website/docs/changelog.md
Original file line number Diff line number Diff line change
@@ -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,
Expand Down
Loading