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#

ChannelBranchWho gets itVersion format
ProductionmainEveryone (auto-updater)X.Y.0
BetabetaTesters, moddersX.Y.Z-rc

How It Works#

  1. `X.Y.0` is always a production release. It gets merged from beta to main and shipped to all users via the auto-updater.
  1. `X.Y.Z-rc` (where Z > 0) is a beta build. The -rc suffix means "release candidate." These are available to beta testers but not shipped to production.
  1. 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 again

Which 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, never main
  • Do not bump the version in feature/fix PRs β€” version bumps happen at release time
  • Beta's version should always be >= main's version