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
5 changes: 5 additions & 0 deletions .changie.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ kinds:
- label: Fixed
- label: Security
- label: Documentation
body:
# A ceiling, not a target: one sentence is the rule (see RELEASE.md), and a
# body this long is a paragraph that belongs in the linked issue. Enforced by
# `changie new` only — a hand-written fragment is not checked.
maxLength: 400
custom:
- key: Issue
label: Issue Number
Expand Down
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ Fixes #
- [ ] Added/updated tests
- [ ] Lint/format passes (`golangci-lint run`)
- [ ] Updated documentation (if applicable)
- [ ] Added a Changie changelog fragment for user-facing changes (`changie new`, see [RELEASE.md](../RELEASE.md)) — or N/A (docs/tests/chore only)
- [ ] Added a Changie changelog fragment for user-facing changes (`changie new`, one sentence and two at most, see [RELEASE.md](../RELEASE.md#one-sentence-two-at-most)) — or N/A (docs/tests/chore only)
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Thanks for your interest in contributing! This file is a short pointer — the f

Conventional prefixes are preferred: `feat:`, `fix:`, `chore:`, `docs:`, `test:`, `refactor:`.

Release notes are **not** generated from commits — they come from [Changie](https://changie.dev) fragments. Add one for any user-facing change with `changie new` (see [RELEASE.md](RELEASE.md)).
Release notes are **not** generated from commits — they come from [Changie](https://changie.dev) fragments. Add one for any user-facing change with `changie new` — one sentence, two at most (see [RELEASE.md](RELEASE.md#one-sentence-two-at-most)).

## License of Contributions

Expand Down
7 changes: 6 additions & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ You are prompted for a **kind** (`Added`, `Changed`, `Deprecated`, `Removed`,
`Fixed`, `Security`, `Documentation`), a **body**, and the **issue number**. It
writes a small YAML file under `changes/unreleased/` — commit it alongside your
code. Prefer `changie new` over hand-writing the YAML: it enforces the issue
number, and a fragment without one renders as a dead link.
number — a fragment without one renders as a dead link — and refuses a body over
400 characters.

### One sentence. Two at most.

Expand All @@ -44,6 +45,10 @@ already points at.
- **Never a third.** If it needs one, it is either two changes (write two
fragments) or a story that belongs in the issue.

`changie new` refuses a body over 400 characters (`body.maxLength` in
[`.changie.yaml`](.changie.yaml)). That is a ceiling for the two-sentence case,
not a target, and it does not see a fragment you hand-write.

```yaml
# too long — the root cause, the mechanism and the evidence all belong in #142
body: 'S3 Control requests were served by S3. `s3control` signs with S3''s own
Expand Down
2 changes: 1 addition & 1 deletion changes/unreleased/Documentation-20260906-185423.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
kind: Documentation
body: Changelog fragments are capped at one sentence, two at most, with the rule and a worked example in RELEASE.md and a line for it in the pre-flight checklist. Every entry already in the changelog is rewritten to that limit, and the v1.1.0 and v1.0.0 release notes are republished from their fragment files
body: Changelog fragments are capped at one sentence, two at most — stated with a worked example in RELEASE.md, in the pre-flight checklist, in CONTRIBUTING.md and the PR checklist, and enforced by a 400-character body limit `changie new` refuses to exceed. Every entry already in the changelog is rewritten to that limit, and the v1.1.0 and v1.0.0 release notes are republished from their fragment files
time: 2026-09-06T18:54:23.073014+09:00
custom:
Issue: "152"
2 changes: 1 addition & 1 deletion changes/unreleased/Documentation-20260906-234500.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
kind: Documentation
body: 'The documentation no longer publishes the same figure at five different values: six numbers were restated across pages with no two agreeing, so docs/coverage.md now owns them and every other page links to it. Three statements that did not match the code are corrected — a GET /devcloud/api/health route that is not registered, a failed Lambda invoke blamed on Docker when the runtime is a stub, and codegen output files no template emits — and eighteen files are 1,063 lines shorter'
body: 'The documentation no longer publishes the same figure at five different values: six numbers restated across pages now live in docs/coverage.md, which every other page links to. Three claims the code does not back are corrected — an unregistered `GET /devcloud/api/health`, a Lambda invoke failure blamed on Docker, and codegen outputs no template emits — and eighteen files are 1,063 lines shorter'
time: 2026-09-06T23:45:00.000000+09:00
custom:
Issue: "151"