diff --git a/.gitattributes b/.gitattributes index b90471d70..2ba3f7cbc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ tests/fixtures/*.fig filter=lfs diff=lfs merge=lfs -text tests/fixtures/fonts/*.ttf filter=lfs diff=lfs merge=lfs -text packages/core/vendor/canvaskit-webgpu/*.wasm filter=lfs diff=lfs merge=lfs -text +CHANGELOG.md merge=union diff --git a/AGENTS.md b/AGENTS.md index 7789bc53e..1137681f0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -92,6 +92,7 @@ Follow `packages/docs/development/testing.md` and `tests/AGENTS.md`. Package-loc - `CHANGELOG.md` — curated user-facing changes by version; `Unreleased` stays first. `README.md` — concise features, setup, CLI, and overview. `AGENTS.md` files — contributor/agent rules. `packages/docs/` — public site (`packages/docs/AGENTS.md`). Keep internal plans in ignored `scratch/`. - For user-facing work add one present-tense outcome under the single appropriate `Unreleased` category: `Breaking changes`, `Added`, `Changed`, `Fixed`, `Performance`, or `Security`. Treat it as release notes: omit tests, benchmarks, CI, internal refactors/tooling, and bugs both introduced and fixed since the last release. End sentences with periods and retain issue/PR references. Update `README.md` when appropriate and the owning `AGENTS.md` when architecture or conventions change. +- `CHANGELOG.md` merges with git's `union` driver (`.gitattributes`), so two branches adding entries combine instead of conflicting; the driver concatenates blindly, which is why the pass below is load-bearing rather than tidy-up. - After merges, compare the whole section with changes since the latest release, preserve important outcomes, consolidate related work, and remove duplicate bullets and headings. - Before finalizing `Unreleased`: compare released behavior at the latest tag with the final implementation, not commit subjects; verify questionable fixes existed at that tag and fold fixes to newly added features into the feature bullet; check public exports, model/config/data contracts, and peer requirements for `Breaking changes`; remove superseded intermediate behavior; state platform requirements and concrete supported behavior instead of unqualified claims; run `bun run check:changelog`. Keep historical sections unchanged.