Difference between beta, canary, and preview releases
Unanswered
Polar bear posted this in #help-forum
Polar bearOP
Hi! On npm, there are a few different tags for releases: "beta", "canary", "latest", "preview," and "rc." What are they each used for? How does a release progress through them? I understand that "latest" is stable and all the others are some level of unstable, I'm just confused as to the differences between them.
I'm asking because a bugfix I need has been merged, but isn't included in 16.2. So I'm trying to find the most stable version while I wait for 16.3.
(As a side note, does anyone know if there is an eta for 16.3? Or how frequently releases usually are? No worries at all if not!!)
I'm asking because a bugfix I need has been merged, but isn't included in 16.2. So I'm trying to find the most stable version while I wait for 16.3.
(As a side note, does anyone know if there is an eta for 16.3? Or how frequently releases usually are? No worries at all if not!!)
2 Replies
Polar bearOP
&752637460550385834 looks like a bot
Elf Owl
Hey! Here is a quick breakdown of how those release tags work in the ecosystem. The progression usually goes like this: Canary ➡️ Preview/Beta ➡️ RC ➡️ Latest.
canary: The bleeding edge. This is usually auto-published by a CI/CD pipeline on every single commit merged to the main branch. It has the newest code, but it's the most unstable.
preview / beta: The upcoming minor/major release (like your 16.3) is taking shape. Core features are added, but they are still hunting for bugs.
rc (Release Candidate): This is essentially the final version of 16.3. The team believes it's stable and they are just letting the community test it for a few days to ensure there are no critical, game-breaking bugs before making it official.
latest: The stable, production-ready release (currently 16.2).
How to get your bugfix:
If the PR with your bugfix was just merged, it's almost certainly only in the canary tag right now. You can get it by running npm install [package-name]@canary.
If you want to play it a bit safer, keep an eye on their GitHub releases and wait until they cut a 16.3.0-beta or 16.3.0-rc tag. Most maintainers push canaries daily, but RC/Latest drops depend entirely on their sprint cycles. Hope this helps!
canary: The bleeding edge. This is usually auto-published by a CI/CD pipeline on every single commit merged to the main branch. It has the newest code, but it's the most unstable.
preview / beta: The upcoming minor/major release (like your 16.3) is taking shape. Core features are added, but they are still hunting for bugs.
rc (Release Candidate): This is essentially the final version of 16.3. The team believes it's stable and they are just letting the community test it for a few days to ensure there are no critical, game-breaking bugs before making it official.
latest: The stable, production-ready release (currently 16.2).
How to get your bugfix:
If the PR with your bugfix was just merged, it's almost certainly only in the canary tag right now. You can get it by running npm install [package-name]@canary.
If you want to play it a bit safer, keep an eye on their GitHub releases and wait until they cut a 16.3.0-beta or 16.3.0-rc tag. Most maintainers push canaries daily, but RC/Latest drops depend entirely on their sprint cycles. Hope this helps!