The forum didn't work for a couple of hours today

Very good question. By default, Discourse ships beta versions. Most of the time (I mean… 99% of the time), it causes no issue, and can occasionally add neat, welcomed features (see the local image resizing I mention here ; and what to say about this one! :wink:) that would come months later on the stable release.

I’ll try to get some information about that though, that’s an interesting subject.


I got some info:

Main:
When a new commit is added to Discourse it is on the main branch. Main is the absolute latest (most current) branch of Discourse, and we do not recommend anyone run their site tracking the main branch.

Tests-passed:
When a new commit is pushed the to the main branch, our build server automatically runs all our tests against the latest code. Once they all pass the commit is added to our tests-passed branch. This is the branch all Discourse sites run by default.

Beta:
Every few weeks we push the current commits on tests-passed to beta . We use beta as a “milestone” to push out a collection of commits we want more sites to be running and test. We also push a beta if we have an important security fix we want sites to receive. When a beta is pushed all sites running on tests-passed or beta receive the “new update available” email. Sites running tests-passed will update to the current tests-passed commits (including any new commits pushed after the beta), while those on beta will not.

Stable:
Every 4-6 months we release a new stable build. ~2 weeks before pushing stable we release our last beta. We then watch our logs closely to try and catch any lingering bugs that exist, and avoid adding any new features/risky changes. Once we’re satisfied with the state of the current beta, we push to stable.

So for us, a beta is a minor version bump, and a version is a major version bump. They’re checkpoints we give ourselves to celebrate the work we’ve done. We tend to release two major versions a year, but it all depends on feature development and the like. We’re not really into fake deadlines.

That makes sense. I guess the main information here is:

In our case beta does not mean unstable

So for us, a beta is a minor version bump, and a version is a major version bump. They’re checkpoints we give ourselves to celebrate the work we’ve done.

Considering this versioning philosophy, upgrading only to “stable” versions would be of very minor benefits (if there are).

4 Likes