Pre-releases
Pre-releases
A release marked as a pre-release on GitHub is treated differently, and this page says exactly how.
They are off by default
A new rule does not announce pre-releases. Switch Include pre-releases on if you want them.
The reason for the default is that a pre-release is usually addressed to a smaller audience than the
channel a rule posts into. Somebody cutting v2.0.0-rc1 is talking to the people testing it, not to
everybody watching for the next version.
When they are on, they say so
A pre-release announcement is marked as one. It is not a matter of taste: an announcement that looks like a finished version is the kind of message somebody acts on — updates a dependency, tells a customer — and finds out afterwards.
The marking appears in the message itself, so it survives being forwarded or quoted somewhere the original formatting does not follow.
Which GitHub events are involved
GitHub reports a release through several events, and they overlap:
published— a release was made visible. Fires for a normal release and for a pre-release.released— fires only when a release is published that is not a pre-release.prereleased— fires only for a pre-release.
chronik listens on published, which is the one that covers both, and reads the pre-release flag
from the release itself. That is why a release announced once stays announced once: published and
released arrive as two separate events for the same release, and a system that acted on both would
post twice.
Turning a pre-release into a release
If you publish v2.0.0-rc1 as a pre-release and later un-tick the pre-release box, GitHub sends an
edit rather than a new release. chronik updates the message that is already in the channel instead
of posting a second one — the marking disappears from the existing post.
If your rule had pre-releases switched off, nothing was posted the first time, and the release is announced normally when it stops being a pre-release.
The badge
The public changelog badge for a repository names a pre-release only if the changelog shows pre-releases, and colors it differently when it does. A badge reading a release candidate in the same color as a finished version is read as a finished version.