github cloudevents/sdk-go v2.0.0
Release v2.0.0 🎉🎉🎉

latest releases: sql/v2.15.2, protocol/ws/v2.15.2, protocol/stan/v2.15.2...
3 years ago

We are happy to announce the release of the CloudEvents SDK for Golang is now at v2.0.0!

There are many many features to be listed, the highlights are:

  • Client Interface now supports a clearer Sender/Requester and Receiver/Responder interface for expectations of inbound outbound events and responses.
  • SDK is split into three main usages: event consumers (client), middleware message passing (protocol/bindings), and direct event model (CloudEvent, ie: json).
  • Lots of samples have been added in the root samples directory.
  • Submodules based on go modules for protocols outside of http. Submodules are released independently (we will keep these versions in-sync) to allow for vendering exactly the protocol required, and nothing else.
  • This release includes support for the following protocol options:
    • http
    • gochan
    • pubsub
    • nats
    • stan
    • amqp
    • kafka
  • Added HTTP retries.
  • Added initial HTTP webhook abuse protection support (feature not complete).
  • Reworked the CloudEventReader/Writer interfaces.
  • Removed the transport interfaces, (replaced with a combination of bindings and protocol).
  • Introduced protocol.Result, a wrapper on error that allows for more information to be bubbled up to integrators.
  • Many many many bug fixes.
  • So many perf improvements.

And additional details can be found on our docs site: https://cloudevents.github.io/sdk-go/

A BIG thank you to anyone and everyone who has submitted a feature, bug fix, PR, issue, or left a comment in Slack. We are trying to provide a rock solid SDK that works for everyone with minimal dependencies. If you find an issue, please reach out or file an issue and we will work to resolve it. v2 comes with many API breaking changes from v1, and we are sorry for that, but the API is in a much better state than it was 6 months ago. It was a ton of fun and a ton of work.

We will be following strict semver with this major milestone.


The long path to v2.0.0:

https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-RC5
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-RC4
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-RC3
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-RC2
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-RC1
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-preview8
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-preview7
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-preview6
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-preview5
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-preview4
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-preview3
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-preview2
https://github.com/cloudevents/sdk-go/releases/tag/v2.0.0-preview1

Don't miss a new sdk-go release

NewReleases is sending notifications on new releases.