build: merge CHANGELOG.md entries instead of conflicting (#905)

Four of the last five branches conflicted only on the changelog, each
time because two branches appended a bullet under the same heading.
Git's union driver combines them; it concatenates blindly, so the
existing de-duplication pass after a merge is what keeps the section
honest.
This commit is contained in:
Danila Poyarkov 2026-10-05 12:56:22 +00:00 committed by GitHub
parent aa86873dd7
commit 7e78003fc7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 2 additions and 0 deletions

1
.gitattributes vendored
View file

@ -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

View file

@ -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.