How to use the release channels to help test release candidates

updating

#1

OctoPrint's bundled Software Update plugin offers so called release channels, allowing you to choose between the "Stable", "Maintenance RCs" and "Devel RCs" release channels as source for OctoPrint updates.

You can change OctoPrint's release channel via "Software Update" in the settings. Click the little wrench icon, make sure that "Release" version tracking is selected and then select your desired release branch under "OctoPrint Release Channel".

When selecting either of the two RC channels, OctoPrint will not only notify and offer to upgrade to stable releases but also any release candidates tagged for either channel.

There are two RC release channels because OctoPrint is actually developed on two branches:

  • Maintenance RCs will be derived from the maintenance branch, so basically the branch dedicated to moving the current stable releases forward. You can expect "small" releases here, usually consisting of fixes and improvements. They are tagged on the rc/maintenance branch.
  • Devel RCs will be derived from the devel branch, so basically the branch dedicated to developing the next major release. You can expect larger changes here, especially a lot of new and changed features and - at the very beginning - potentially less stable versions for the one or other specific use case than what you are used to. They are tagged on the rc/devel branch.

You'll be able to freely switch between release channels right from OctoPrint's UI, and OctoPrint will take care of everything necessary to up/downgrade in the background (unless you've installed the OctoPrint server under Windows, in which case please see here on how to update manually).

However, note that release candidates are candidates for a reason. Bugs may occur, and if you come across anything broken when running a release candidate, you should take the time to do a full bug report immediately so the issue can be resolved quickly before it hits the stable release and hence everyone.

What will cause a release candidate to be revised?

Not all bugs will cause an OctoPrint release candidate to be revised before full release. Considering that no software can ever be bug free, that would lead to a endless cycle sadly. Instead, we focus on identifying and solving regressions.

What is a regression? When we talk about a regression in the context of OctoPrint release candidates, what is meant is a bug newly introduced in the release candidate, NOT a bug already present in the current stable version. In a nutshell, if something still worked fine in OctoPrint 1.3.6 but then broke in 1.3.7rc1, that's a regression.

Not all regressions will cause a release candidate to be revised - there might be bugs with little actual consequence that can wait until the next stable version. But things that really break existing functionality and make OctoPrint unusable for a select group of people certainly will cause another release candidate to be put out after the problem has be dealt with.

Should I run any of the RCs?

As a general rule of thumb, only run any of the RCs released on the RC release channels if you feel comfortable, or better yet excited :slight_smile: , to help in ironing out small kinks and are not scared of potentially having to do the one or other manual step via SSH and the command line if push really comes to shove.

If you don't, no harm done, just stick to the "Stable" channel!


New release candidate: 1.3.7rc2
New release candidate: 1.3.7rc3
OctoPrint 1.3.7/1.3.8 is stuck in "Pausing" or "Cancelling"
Beta testing Octopi and Octoprint
New release candidate: 1.3.7rc1
New release candidate: 1.3.10rc2
New release candidate: 1.3.9rc1
New release candidate: 1.3.10rc4
New release candidate: 1.3.9rc2
New release candidate: 1.3.9rc3
New release candidate: 1.3.9rc4
New release candidate: 1.3.10rc1
New release candidate: 1.3.10rc3