-
Notifications
You must be signed in to change notification settings - Fork 75
v2.0 release checklist #383
Comments
On the topic of ecosystem compatibility, the thing I'd like to stress it that it's an accident of history that "How do we do a semver major release of @glimmer/component?" should have the exact same answer as how we do a semver major release of We don't support having two semver-incompatible imlementations of We want addons to be able to have a single-dimensional test matrix: what ember versions do you support? Not, what factorial combination of ember packages do you support. |
While I broadly agree with that goal, I think there are three key bits here from my POV:
Either we need to make v1 work with all the pieces identified above with no breaking changes, or we need to support having both v1 and v2 in the ecosystem in some way. If we can do the former, that’s excellent but it’s also news to me based on previous conversations! (Technically, continuing to ship the v1 here is a pretty significant smell to me from the TS angle, since it provides types to Ember consumers which are wrong, and in a way that we more or less cannot fix, because the Glimmer.js |
But I think that's already true. The API changes in @glimmer/component 2 only apply to users of glimmerX, they're non-breaking for Ember users. And if we make |
That's good! We may be talking about different angles here; I'm not sure. 🤔 The thing I'm pointing at is the question of whether we have to go walk the entire addon ecosystem leaves-in to update each addon to use the v2 of this before anything which consumes it to in turn do the same, or whether we can have a situation where addon A can be using Glimmer Component v1 itself, while also consuming addon B which is using Glimmer Component v2. If that's what we end up deciding we need to do, it's just going to be an enormous lift which gates any large app on doing the work for all of its dependencies, vs. being able to have a more progressive migration with both living side-by-side for some time. |
To my knowledge, this is the list of things we need to do before cutting the v2 release (with folks named as being the closest/most knowledgeable on the questions, not assigning them).
Hard blockers
As long as we solve these, I believe all the others listed as Soft Blockers could actually be punted by shipping what we have as v2 with a not-that-long-from-now v3 to follow.
Soft blockers
Signature
type emberjs/rfcs#748 should be blocking for v2 (likely we need to support the new API in both the v1 and v2 branches, but it'd be nice to not have to support the old API in the v1 branch so that at some point we can drop support for the old signature as the ecosystem moves to v2 (@chriskrycho)willDestroy
etc.) (???)<template>
as the authoring format, assuming First-Class Component Templates emberjs/rfcs#779 is merged ~a week from now (@chriskrycho)hbs
design: do we deprecate it in the next beta and then switch over in the release? do we deprecate it but support both for v2? etc. (@chadhietala, @chiragpat)There may be others I've missed; please list them below and I'll add them.
The text was updated successfully, but these errors were encountered: