Version Numbering
How Subway Builder versions work across beta and production
Subway Builder uses semver with a beta-first workflow. This page explains the system so you know which version you're running and what to expect.
The Two Channels#
| Channel | Branch | Who gets it | Version format |
|---|---|---|---|
| Production | main | Everyone (auto-updater) | X.Y.0 |
| Beta | beta | Testers, modders | X.Y.Z-rc |
How It Works#
- `X.Y.0` is always a production release. It gets merged from
betatomainand shipped to all users via the auto-updater.
- `X.Y.Z-rc` (where Z > 0) is a beta build. The
-rcsuffix means "release candidate." These are available to beta testers but not shipped to production.
- When enough beta patches accumulate, the minor version bumps and a new release is cut.
Example Timeline#
1.2.0 Release β shipped to all users
1.2.1-rc Beta β bug fixes
1.2.2-rc Beta β more fixes, new modding API methods
1.2.3-rc Beta β performance improvements
1.3.0 Release β all of the above shipped to everyone
1.3.1-rc Beta β cycle starts againWhich Version Am I Running?#
Open the game and go to Settings. Your version is displayed at the bottom.
- If it ends in
-rc, you're on the beta channel - If it ends in
.0, you're on the production channel
For Modders#
- Mods should target the latest production release (e.g.,
1.2.0) - New API methods land in beta first β if you need bleeding-edge features, opt into the beta channel
- The Changelog documents what shipped in each version
- API methods are not removed without deprecation warnings in at least one release cycle
For Contributors#
- All PRs target
beta, nevermain - Do not bump the version in feature/fix PRs β version bumps happen at release time
- Beta's version should always be >= main's version