Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
24 changes: 17 additions & 7 deletions .claude/commands/pre-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,23 +58,33 @@ proceeding. Never create a branch, commit, tag, or push without approval.
- `[unreleased]` → `.../compare/vX.Y.Z-{stadium}...HEAD`
- Add `[X.Y.Z - StadiumName]` → `.../compare/v{prev-tag}...vX.Y.Z-{stadium}`

3. Show the full diff of `CHANGELOG.md` and propose this commit message:
3. Show the full diff of `CHANGELOG.md`.

4. If `coderabbit` CLI is installed, run `coderabbit review --type uncommitted --prompt-only`
on the uncommitted CHANGELOG changes:
- If actionable/serious findings are reported, stop and address them before proceeding.
- If only nitpick-level findings, report them and continue.
- If `coderabbit` is not installed, skip with a note.

5. Propose this commit message:

```text
docs(changelog): prepare release notes for vX.Y.Z-{stadium} (#issue)
```

**Wait for explicit approval before committing.**

4. Run `/pre-commit`, manually skipping step 1 — do not re-run or re-attempt
the CHANGELOG update; it was already completed above. Open with: "Skip
step 1 — CHANGELOG was already updated as part of this release branch."
Proceed directly with steps 2–5.
6. Run `dotnet build --configuration Release` — must succeed.

7. Run `dotnet test --settings .runsettings` — all tests must pass.

8. If `dotnet csharpier` is available, run `dotnet csharpier --check .` — must pass
(run `dotnet csharpier .` to auto-fix). Skip with a note if not installed.

5. Propose opening a PR from `release/vX.Y.Z-{stadium}` into `master`.
9. Propose opening a PR from `release/vX.Y.Z-{stadium}` into `master`.
**Wait for explicit approval before opening.**

6. Open the PR with:
10. Open the PR with:
- Title: `docs(changelog): prepare release notes for vX.Y.Z-{stadium}`
- Body summarising what is included in this release.

Comment thread
coderabbitai[bot] marked this conversation as resolved.
Expand Down
15 changes: 12 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,20 @@ This project uses famous football stadiums (A-Z) that hosted FIFA World Cup matc

### Changed

- Field validation failures now return `422 Unprocessable Entity` (RFC 4918) instead of `400 Bad Request`; `400 Bad Request` is now reserved for malformed requests (unparseable JSON, route/body mismatch); unsupported media types return `415 Unsupported Media Type` (RFC 9110 §15.5.16) via the `[Consumes]` attribute. Error responses follow the Problem Details format (RFC 9457).

### Fixed

### Removed

---

## [2.1.2 - Frankfurt] - 2026-04-26

### Changed

- Field validation failures now return `422 Unprocessable Entity` (RFC 4918) instead of `400 Bad Request`; `400 Bad Request` is now reserved for malformed requests (unparseable JSON, route/body mismatch); unsupported media types return `415 Unsupported Media Type` (RFC 9110 §15.5.16) via the `[Consumes]` attribute. Error responses follow the Problem Details format (RFC 9457).

### Removed

- Remove `## How to Release` section from `CHANGELOG.md`; capitalize release codenames in `##` version headers and reference links (#468)

---
Expand Down Expand Up @@ -207,7 +215,8 @@ Initial release. See [README.md](README.md) for complete feature list and docume

---

[unreleased]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v2.1.1-ekaterinburg...HEAD
[unreleased]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v2.1.2-frankfurt...HEAD
[2.1.2 - Frankfurt]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v2.1.1-ekaterinburg...v2.1.2-frankfurt
[2.1.1 - Ekaterinburg]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v2.1.0-dusseldorf...v2.1.1-ekaterinburg
[2.1.0 - Dusseldorf]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v2.0.0-centenario...v2.1.0-dusseldorf
[2.0.0 - Centenario]: https://github.com/nanotaboada/Dotnet.Samples.AspNetCore.WebApi/compare/v1.1.0-bernabeu...v2.0.0-centenario
Expand Down
Loading