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
Extensions are inherently somewhat-unstable, as we've seen with distributed tracing and sequence. That makes it hard to provide a stable API.
Proposal:
Make the existing extensions obsolete (with useful messages)
Publish separate packages of extensions, where each extension has its own package and independent version number
Modify build processes appropriately to not release extensions with the main library, and allow independent releases
Modify documentation accordingly
That way we can create a new major version for each extension when it takes a breaking change. (Hopefully rarely on a per-extension basis...)
Wrinkle: if we have a new major version of the main libraries, what do we do for extensions? If someone wants to use "main library v2" but an extension which takes a breaking change after "main library v3" has been released, how do we handle that? Should we put the main library version within the extension package name, so we can have multiple versions? It's all a bit hairy.
Extensions are inherently somewhat-unstable, as we've seen with distributed tracing and sequence. That makes it hard to provide a stable API.
Proposal:
That way we can create a new major version for each extension when it takes a breaking change. (Hopefully rarely on a per-extension basis...)
Wrinkle: if we have a new major version of the main libraries, what do we do for extensions? If someone wants to use "main library v2" but an extension which takes a breaking change after "main library v3" has been released, how do we handle that? Should we put the main library version within the extension package name, so we can have multiple versions? It's all a bit hairy.
cc @JoshLove-msft, @iampluque for comment.
The text was updated successfully, but these errors were encountered: