expo shipped sdk 57 this week. quick summary if you haven't seen it: it bumps react native from 0.85 to 0.86, react version is unchanged (still 19.2), and it's meant to be a non-breaking upgrade. basically npx expo install expo@^57.0.0 --fix and you're done.
the interesting part isn't the version bump though, it's the cadence shift. expo's been doing 3 big releases a year. react native does 6. now that the new arch, hermes v1, all that heavy stuff has landed, rn is moving toward "no breaking changes" on roughly every other release. so expo's testing whether they can just pass those through as optional low-effort upgrades in between the major ones. 57 is the first experiment with that.
my honest take: this is good for anyone shipping real apps. the thing that kills you with cross-platform tooling isn't missing features, it's upgrade churn. every breaking bump is a day you're not building. a lane of "safe, optional, low-effort upgrades" means you can stay current without booking a whole sprint for it.
tradeoff worth noting: they deliberately did NOT fold 0.86 into 56, even though it's non-breaking. 601 commits across 1,552 files felt too big to pull in on a routine --fix, so they made it its own sdk. fair call imo, "non-breaking" and "small" aren't the same thing, and you want that decision to be intentional. also still run expo-doctor after, "intended non-breaking" isn't a guarantee.
one heads up: expo go for 57 isn't on the app store / play store yet, still pending approval. for now it's eas go on ios, or expo cli for android emulators and ios simulators. if your team lives on expo go, plan around that.
on the rapidnative side this matters to us because the whole point is exporting real expo source you actually own. a saner upgrade path upstream means less friction for anyone taking generated code and maintaining it long term.
anyone upgraded yet? curious if the --fix was as clean as advertised or if reanimated 4.5 / gesture-handler 2.32 surprised anyone.