cloudevents / cloudevents/sdk-csharp

Potentially create separate extension packages

Open
#232 0 comments 0 reactions 1 assignee View on GitHub

@jskeet is already working on this.

Since Aug 17, 2022.

enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.