Skip to content

Commit 1798ec0

Browse files
committed
chore: release v0.4.10
1 parent 546a3d0 commit 1798ec0

3 files changed

Lines changed: 54 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ members = ["xtask"]
33

44
[package]
55
name = "gloam"
6-
version = "0.4.9"
6+
version = "0.4.10"
77
edition = "2024"
88
description = "Loader generator for Vulkan, OpenGL, OpenGL ES, EGL, GLX, and WGL"
99
license = "MIT OR Apache-2.0"

0 commit comments

Comments
 (0)