Skip to content
Warning:Contents are available for feedback and preview; practices and lexicons can still change. Implement at your own risk!

Channels are mutable release references. They are updated over time, giving versions a friendly name like latest, beta, or next.

rkey structure

Like versions, channels are intended to be easily accessible. They both adopt the same syntax. The channel name must be included in the record at software.release.channel#name

The first part of the rkey is the project name, with the channel name present after a colon. As with project names, colons cannot be used in the channel name itself.

# If the rkey of the project looks like this...
dist-town

# ...Then channel rkeys should look like this:
dist-town:stable
dist-town:latest
dist-town:next

Why channels?

Why does release.software need channels? Aren't versions enough, if they use a similar key format? Although they might look similar, versions and channels solve two different consumer problems.

Versions answer the question, "what releases are available?" This is important for visualizing and preserving the history of a project. On the other hand, channels answer the question "what release is current?" While the version history is important, most clients are likely to use channels to immediately understand 1) that there is a new release available, and 2) what the version of that release is.