cloudevents / cloudevents/sdk-csharp
Potentially create separate extension packages
@jskeet is already working on this.
Since Aug 17, 2022.
- Dominant language
- C#
- Stars
- 334
- Forks
- 88
- Avg merge
- 7m
- Merged PRs (30d)
- 2
Description
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.
cc @JoshLove-msft, @iampluque for comment.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.