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

Size
2.0 KB
Lines
25
Language
markdown
SHA-256
83d35a4c8061…
View on GitHub

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
121. **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`.
132. **Stable-Release:** reviewed work is promoted from `scratch` to `Stable-Release`.
143. **Community:** contributors fork or branch from `Stable-Release`, test locally, and propose changes to `community`.
15
16Automation 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
25See 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`.