You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello! I've been hopeful that Zodios might offer a solution to sharing types between a service and its consumers, specifically through large ecosystems. A large hurdle for us has been that Zod likes to introduce breaking changes in minor version bumps, which means that if different consumers are running different minor versions of zod, there could be incompatibility. After playing around with some of the examples, it looks as though this is not solved through Zodios. A consumer installing a published Zodios API would by proxy receive a version of Zod. Is this true? Or have I missed something?
The downside is that there is virtually no change I can make that won't be "breaking" if someone relies on a particular type alias.
...
3.20 is a very major release for Zod. I think it's likely that Zod will never move past v3, since it's been a year and a half, and I haven't encountered any reason to do a big rewrite or (public) API breakage. Despite that fact that its "minor", 3.20 is a really big release. I think the best move for ecosystem authors is to treat this as a major release, update to Zod 3.20, and specify zod@^3.20.0 in their peerDeps.
@colinhacks Why not release it as a 4, if you yourself consider it a big release? Not like you are running out of numbers any time soon.
It's not worth the disruption to users in my opinion. 98% of users don't know enough about Zod internals to understand the "breakages" even if I explained them, even with a big release like this one. Upgrading to a new major is stressful. colinhacks/zod#1669 (comment)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello! I've been hopeful that Zodios might offer a solution to sharing types between a service and its consumers, specifically through large ecosystems. A large hurdle for us has been that Zod likes to introduce breaking changes in minor version bumps, which means that if different consumers are running different minor versions of zod, there could be incompatibility. After playing around with some of the examples, it looks as though this is not solved through Zodios. A consumer installing a published Zodios API would by proxy receive a version of Zod. Is this true? Or have I missed something?
Beta Was this translation helpful? Give feedback.
All reactions