@@ -7,6 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 0.4.10] ( https://github.com/tycho/gloam/compare/0.4.9...0.4.10 ) - 2026-06-04
11+
12+ ### Added
13+
14+ - Source provenance tracking. Generated loaders now record exactly which
15+ upstream sources produced them — each file's repository, ` git describe `
16+ version, upstream commit, and git blob hash. This appears in the generated
17+ file headers, in ` gloam --version ` , and in a new machine-readable manifest.
18+ - ` .gloam/manifest.json ` is written to every output tree: a deterministic,
19+ pretty-printed bill of materials (gloam version/commit, the source provenance
20+ pin set, and a per-file git-blob hash for every generated and copied file).
21+ It contains no timestamps — identical inputs and gloam version produce
22+ byte-identical output.
23+ - ` --lock <manifest> ` regenerates against the provenance recorded in a previous
24+ manifest, for reproducible output. A locked regeneration with otherwise
25+ identical arguments is byte-identical to the original. Missing provenance is
26+ refused with actionable guidance.
27+ - ` gloam lock ` subcommand writes a provenance-only snapshot manifest pinning
28+ every supported upstream source, for later reuse with ` --lock ` .
29+ - ` gloam --version ` now lists the embedded bundle's provenance, grouped by
30+ repository. ` -V ` keeps the short one-line form.
31+ - xxHash (BSD-2-Clause) attribution is now included in generated headers, since
32+ ` xxhash.h ` ships with every loader.
33+
34+ ### Changed
35+
36+ - The generated file header was restructured: a ` git describe ` -style gloam
37+ version line, the reproducing command line, the extension summary, one
38+ copyright notice per contributing rights holder (Khronos repositories collapse
39+ to a single Apache-2.0 notice), a repository-grouped upstream-sources block,
40+ and an emphatic ` DO NOT EDIT ` footer. ** Downstream consumers will see a
41+ one-time large diff in generated headers.**
42+ - ` --fetch ` now resolves sources through the GitHub API (to capture provenance)
43+ rather than ` raw.githubusercontent.com ` , and caches fetched content locally
44+ (` <cache-dir>/gloam/cache.sqlite ` ) across runs. Set ` GITHUB_TOKEN ` to lift the
45+ API rate limit.
46+ - ` --api ` is now optional — required only for generation, not for ` gloam lock ` .
47+
48+ ### Fixed
49+
50+ - * (gl)* A ` gl:core ` (or any non-GLES GL) loader no longer falsely claims to
51+ include ANGLE extensions. ANGLE's GLES extension XML is now merged — and
52+ attributed — only when a GLES API is requested, and a GL loader never
53+ references the EGL ANGLE file (nor vice versa).
54+
55+ ### Other
56+
57+ - Refreshing the bundled specs/headers now also records their provenance
58+ (` bundled/provenance.json ` ) via a new ` cargo xtask bundle ` task, which fetches
59+ through gloam's own acquisition path; ` scripts/fetch_bundled.sh ` is a thin
60+ wrapper over it.
61+
1062## [ 0.4.9] ( https://github.com/tycho/gloam/compare/0.4.8...0.4.9 ) - 2026-05-08
1163
1264### Other
0 commit comments