cloudevents / sdk-go

Go SDK for CloudEvents
https://cloudevents.github.io/sdk-go/
Apache License 2.0
827 stars 218 forks source link

Next release version of sdk-go will require kafka_sarama users to update their module path #938

Open dnwe opened 1 year ago

dnwe commented 1 year ago

👋🏻 hi, Sarama maintainer here

PR https://github.com/cloudevents/sdk-go/pull/930 updated the module path of Sarama from github.com/Shopify/sarama to github.com/IBM/sarama — which long term is the correct thing to do as Shopify asked us to take over ownership of the library going forward and we've already made several releases

However, the PR was done under the existing v2 module path of github.com/cloudevents/sdk-go/protocol/kafka_sarama/v2, yet it is a breaking change in terms of callers of the library who will need to update their import path of Sarama before bumping their cloudevents/sdk-go module. It's not yet a problem, as a new release tag hasn't been published, but it would be worth thinking about what you plan to do here as it would really need to be done either under a major semver v3 release or under a new protocol submodule, leaving the old kafka_sarama one in-place

embano1 commented 1 year ago

Thx for flagging this @dnwe ! And you're right, we should have used a new protocol submodule to avoid the breaking change. IMHO this change doesn't justify a v3 of the SDK (besides the fact that semver rules require it). So IMHO we have to options:

1) fix the current behavior, i.e., revert and reapply the change to a new v3 submodule 2) Announce this change as a breaking change in our release notes (which doesn't prevent users from running into the issue, but would be documented).

My understanding is that only users importing kafka_sarama would be affected by (2)?

cc/ @lionelvillard @duglin for further input/thoughts

dnwe commented 1 year ago

Correct yes, it would only effect people importing and calling into kafka_sarama itself. I agree that a breaking change release note is probably sufficient. Ultimately there won't be any more releases on the github.com/Shopify/sarama import path so the consumers will have to update their module path at some point.

If you can tag a new point release of v2 then I can always submit a few PRs to the immediate importers to sync them up

embano1 commented 1 year ago

SGTM

duglin commented 1 year ago

To be clear.... you guys are suggesting option 2, right? If so, I'm ok with that.