so is next.js stable already shipping with experimental react 20 or what’s the deal there
Zach Leatherman 1111 replies 2424 likes11 repost Original on Bluesky11 replies
It’s not 20, it’s canary and they’re doing what we recommend all frameworks to do. Without this we would just yeet things into the stable channel and break everyone all the time
Not for nothing, but they’re pinned behind the 19 stable version right now and still on the RC, not in front of it.
Maybe we should just do what everyone thinks they want and yeet to stable for a couple years and see how that works out
good to see next stable using react stable! it’s wild that next stable sometimes uses canary (which isn’t semver!) though—the complaint has merit!
Respectfully, no, it doesn’t.
It’s okay if we disagree.
I’ll even concede that Next.js has managed this line fairly well, looking at the code. Not too many release tags with a canary in awhile!
But using a canary in a stable release is *wild* and would make me very nervous if I were using a dep that did this
I empathize that it feels weird. But it’s been this way for a couple years with millions of apps in prod so can we talk about the real issues happening, beyond the icky feeling?
This is how languages are developed. It’s like tc39 stage 3. Maybe the name would be better as “Prod Ready” or “Preview” instead of “Canary” but it’s not experimental, we have a separate channel for that.
I don’t think the issue is with the name? If a Next.js stable release (or Astro/11ty/Remix) uses any dep that explicitly says “this does not follow semver” (no matter what that dep calls the dist tag) and then updates the dep in a minor release: 🚩🚩🚩
You’re saying this hasn’t caused problems?
The only problems I’ve heard about is the lack of docs for canary features when we first rolled it out, but that’s fixed now. We put a ton of work into making the changes between canaries as minimal as possible, it’s not like anything goes in the canary channel.
React 19-alt?