Viewing is open to everyone. Downloading and starring need a GitHub sign-in.
Sign in with GitHub
BRANCHES-AND-RELEASES.md
v0.1.0-build.85
Latest
Commit ede38f5
Sign in with GitHub to download. Each download is recorded with your GitHub username.
| 1 | # Branches and releases |
| 2 | |
| 3 | | Branch | Who can push | Purpose | |
| 4 | |---|---|---| |
| 5 | | `scratch` | Maintainer only | All changes are written and tested here first. | |
| 6 | | `community` | Anyone (through the maintainer's chosen controls) | Experimental community work. **Unstable:** do not depend on it in production. | |
| 7 | | `Stable-Release` | Maintainer only; anyone may fork | The supported source. Official releases are built and tagged only from here. | |
| 8 | |
| 9 | |
| 10 | ## How changes flow |
| 11 | |
| 12 | 1. **Scratch:** work lands on `scratch`, with every commit versioned (`VERSION`, `CHANGELOG.md`, `CONTEXT.md`) and CI passing. `CONTEXT.md`, the engineering record, lives only on `scratch`. |
| 13 | 2. **Stable-Release:** reviewed work is promoted from `scratch` to `Stable-Release`. |
| 14 | 3. **Community:** contributors fork or branch from `Stable-Release`, test locally, and propose changes to `community`. |
| 15 | |
| 16 | Automation that merges into `community` must not have access to publishing credentials. See the specification, §8. |
| 17 | |
| 18 | ## Releases |
| 19 | |
| 20 | - **Tags:** every release is an immutable tag on a `Stable-Release` commit, such as `v0.1.0-build.61`. Published tags are never moved or reused. |
| 21 | - **GitHub Releases:** each release has one tag. Its title is the release name. |
| 22 | - **Deprecation:** when a release is deprecated, its title is changed to **`Deprecated - {release name}`**. The tag and its source stay available. Deprecation means "discouraged for new use", not deleted. |
| 23 | - **Version history:** the build counter is part of the version itself, `0.1.0-build.N`. Tags are `v` + `VERSION`, for example `v0.1.0-build.61`. Builds 1–60 were named `0.1.0-dev.N`. |
| 24 | |
| 25 | See the [release and versioning map](RELEASE-AND-VERSIONING-MAP.md) for the step-by-step release and deprecation procedure, format and ABI history, and the release table. Each branch has its own changelog: [`CHANGELOG.md`](../CHANGELOG.md) for `scratch`, [`CHANGELOG-STABLE.md`](../CHANGELOG-STABLE.md) for `Stable-Release` and [`CHANGELOG-COMMUNITY.md`](../CHANGELOG-COMMUNITY.md) for `community`. |