CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 229
Releases: cloudevents/sdk-go
Release v2.16.1
65b45e4
Compare
CloudEvents SDK Go v2.16.1
🐛 Bug Fixes and Improvements
-
⚡ NATS JetStream Enhancement: Made send subject optional via context by @kmpm in #1143
- Added WithSubject function to override the default subject when sending messages
- Added comprehensive tests and updated samples
- Non-breaking enhancement that adds flexibility for NATS users
-
📝 CloudEvents JSON Handling Fixes by @alank-ps:
- WriteJson Fix in #1162: Fixed WriteJson to properly handle data as JSON when dataContentType is
application/cloudevents+json
or batch - ConsumeData Fix in #1164: Fixed consumeData functions to properly recognize structured mode JSON content types
- Improves compatibility with the CloudEvents specification
- WriteJson Fix in #1162: Fixed WriteJson to properly handle data as JSON when dataContentType is
-
🔧 CI/Test Improvements: Fix failing CI tests by @embano1 in #1156
🔄 Maintenance and Dependency Updates
- 🛠️ Dependency Management Overhaul by @embano1 in #1145
- Added script (
hack/update-deps.sh
) to update Go dependencies across all modules - Replaced Dependabot with custom script for better dependency management
- Removed stale and broken OpenTelemetry samples
- Added script (
📦 Key Dependency Updates:
- github.com/google/go-cmp: v0.6.0 → v0.7.0
- golang.org/x/sync: v0.12.0 → v0.13.0
- github.com/nats-io/nats.go: v1.37.0 → v1.41.2
- github.com/IBM/sarama: v1.40.1 → v1.45.1
- github.com/docker/docker: v20.10.17 → v27.1.1
- go.opentelemetry.io/otel: v1.18.0 → v1.35.0
- 🐹 Go version: Updated from 1.22 to 1.23.0 (toolchain 1.23.8)
🚨 Breaking Changes
None. All updates are either backward-compatible improvements, bug fixes, or internal refactors.
👥 New Contributors
- @github-actions made their first contribution in #1147
- @kmpm made their first contribution in #1143
- @alank-ps made their first contribution in #1162
📋 What's Changed
- Dependency Management Improvements by @embano1 in #1145
- chore(deps): Bump the go_modules group across 2 directories with 2 updates by @dependabot in #1146
- chore: update dependencies by @github-actions in #1147
- chore: update dependencies by @github-actions in #1148
- chore: update dependencies by @github-actions in #1149
- chore(deps-dev): Bump nokogiri from 1.18.4 to 1.18.8 in /docs in the bundler group across 1 directory by @dependabot in #1150
- chore: update dependencies by @github-actions in #1151
- chore: update dependencies by @github-actions in #1152
- fix: make send subject optional via context by @kmpm in #1143
- chore(deps): Bump actions/setup-go from 5.4.0 to 5.5.0 by @dependabot in #1157
- Fix failing CI tests by @embano1 in #1156
- chore: update dependencies by @github-actions in #1158
- chore: update dependencies by @github-actions in #1159
- chore: update dependencies by @github-actions in #1160
- chore: update dependencies by @github-actions in #1163
- fix: WriteJson should write data as a JSON value when dataContentType… by @alank-ps in #1162
- chore: update dependencies by @github-actions in #1165
- fix: consumeData(and consumeDataAsBytes) should consider structued mode JSON … by @alank-ps in #1164
Full Changelog: v2.16.0...v2.16.1
Assets 2
Release v2.16.0
6de37de
Compare
✨ Features & Enhancements
-
Confluent Kafka binding [#988] by @yanmxa
Added a new Confluent Kafka protocol binding for CloudEvents, supporting modern Kafka client features. -
Producer report channel for Confluent Kafka [#1031] by @yanmxa
Exposed a producer report channel viaEvents()
to allow users to track delivery status of Kafka messages. -
Support structured content type suffixes [#1007] by @dan-j
Improved content type handling by recognizing structured syntax suffixes like+json
, increasing compatibility with various encodings. -
Default timeout via context [#992] by @nkreiger
Introduced support for configuring protocol default timeouts usingcontext.Context
. -
Benchmarks for CESQL [#1050] by @Cali0707
Added benchmark tests to measure CESQL query performance. -
Optimized CESQL
LIKE
matching [#1049] by @Cali0707
Improved the performance of CESQL'sLIKE
pattern matching logic. -
Expose AddFunction API for CESQL Parser [#1047 / #1051] by @dgeorgievski
Enabled users to register custom functions in CESQL via the newly exposedAddFunction
API. -
Flexible subject matching for NATS JetStream [#1084] by @evankanderson
Added support for flexible subject pattern matching in NATS JetStream subscriptions. -
Add v3 version of NATS JetStream protocol [#1095] by @stephen-totty-hpe
Introduced a new version of the NATS JetStream protocol (v3) with enhanced features and forward compatibility. -
Expose
WithHost
option [#1070] by @jaxtonw
Added a configurableWithHost
option for improved protocol initialization flexibility. -
Support
dataref
cloud event extension [Dataref Extension #1018] by @matzew
Implements the Dataref (Claim Check Pattern) as specified by the CloudEvent Extension Attributes spec.
🛠 Fixes
-
Handle multiple AMQP data fields correctly [#1034] by @embano1
Fixed parsing of AMQP messages containing multiple data fields to conform with spec expectations. -
Fix invalid
ce-
prefix in Confluent binding [#1059] by @embano1
Corrected an issue where CloudEvents extensions were incorrectly prefixed in the Confluent Kafka binding. -
Fix LIKE expression error handling [#1046] by @Cali0707
Prevented panics on malformedLIKE
expressions in CESQL; now returns a parse error instead. -
Fix MQTT content-type issue [#1063] by @yanmxa
Corrected how content types are applied in the MQTT protocol to improve interoperability. -
Fix race condition in MQTT protocol [#1094] by @yanmxa
Resolved a concurrency issue that could occur when sending messages over MQTT. -
Fix pubsub ack logic [#1064] by @chapurlatn
Updated acknowledgment logic to correctly rely onprotocol.IsAck
, fixing false negatives in pubsub delivery handling. -
NATS Ack/Nak support in JetStream v3 [#1104] by @stephen-totty-hpe
Added explicit acknowledgment and negative-ack support in the v3 NATS JetStream protocol. -
Fix
data_base64
decoding [#1129] by @duglin
[Breaking Change] Modified base64 handling to require JSON string-wrapped base64 data; see release notes for migration details.
🧹 Maintenance
-
Sort extensions during JSON serialization [#1117] by @sargas
Ensured deterministic serialization of extensions for improved consistency. -
Add CODEOWNERS file [#1038] by @embano1
Established code ownership rules to streamline PR review workflows. -
Update GitHub workflows & Go dependencies [#1105] by @embano1
Routine maintenance of CI workflows and dependency versions. -
Bump MQTT SDK from v0.12.0 to v0.21.0 [#1096] by @yanmxa
Updated the MQTT SDK for access to newer features and fixes. -
Pin dependency versions [#1089] by @harshitasao
Locked down dependencies to improve reproducibility and stability. -
Fix token-permission issue [#1088] by @harshitasao
Resolved permission issues affecting token-based authentication flows. -
Bump
testify
to v1.10.0 [#1114] by @aalekseevx
Updatedstretchr/testify
for testing improvements and bug fixes. -
CESQL v1 Fixes [#1066] by @Cali0707
Applied several small fixes and improvements to the CESQL v1 engine.
Assets 2
Release v2.15.2
de2f283
Compare
What's Changed
- Patch for a potential security issue. See CVE-2024-28110.
- Note: this could be a breaking change for people if they purposely change golang's HTTP
DefaultClient
, or change the CloudEventsClient
returned fromNewClient
, and expect those changes to be visible on other HTTP flows using those Clients. E.g. auth
Full Changelog: v2.15.1...v2.15.2
Assets 2
Release v2.15.1
67e3899
Compare
What's Changed
- Bump andstor/file-existence-action from 2 to 3 by @dependabot in #1009
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /test/conformance by @dependabot in #993
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /test/benchmark by @dependabot in #994
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /samples/kafka by @dependabot in #995
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /test/integration by @dependabot in #996
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /protocol/kafka_sarama/v2 by @dependabot in #997
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /samples/http by @dependabot in #998
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /samples/nats by @dependabot in #999
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /samples/stan by @dependabot in #1004
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /samples/nats_jetstream by @dependabot in #1003
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /protocol/nats/v2 by @dependabot in #1002
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /protocol/nats_jetstream/v2 by @dependabot in #1001
- Bump golang.org/x/crypto from 0.14.0 to 0.17.0 in /protocol/stan/v2 by @dependabot in #1000
- Propose the
confluent-kafka-go
binding for Kafka by @yanmxa in #1008 - Sync CESQL tck tests by @Cali0707 in #1010
- Fix docstring typos in nats and jetstream protocol by @jafossum in #1013
- Bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #1016
- Bump the bundler group across 1 directories with 1 update by @dependabot in #1011
- Remove vi swp file by @duglin in #1020
New Contributors
Full Changelog: v2.15.0...v2.15.1
Assets 2
Release v2.15.0
998919d
Compare
Highlights 💫
This release includes various updates and improvements such as README enhancements, dependency bumps, bug fixes, race condition resolutions, and protocol-related adjustments. Notable changes involve upgrading dependencies like grpc and go.opentelemetry, addressing race conditions, fixing Kafka test issues, and introducing new features like binary content mode for NATS and JetStream protocols. Additionally, there are governance documentation updates, link corrections, and improvements in error handling and documentation across different modules.
Breaking 🚨
The Kafka Sarama protocol now uses the "github.com/IBM/sarama"
Go module import path.
Commits 📄
896e1d0 Update README.md
75ec0f2 Bump actions/setup-go from 4 to 5
41e80f7 fixed couple issues
9ccd339 bugfix_value_type_of_dataschema
c8cbca9 adds unique package name for import
f1bca09 relative .pb.go generation, go_package set to package name
c20eef2 bump the pahao mqtt to v0.12
ed7be6b Add WithCustomAttributes for PubSub
be31358 returning the error when doing a nack in the message
ecead5c Make a few comments a bit clearer
57be3cd Try to make sure the Receiver starts before we send events
f5c7061 Try to fix race again - don't reuse clients for sender/receiver
8bea925 Bump google.golang.org/grpc from 1.56.1 to 1.56.3 in /samples/http
fa6be00 Bump google.golang.org/grpc from 1.56.1 to 1.56.3 in /protocol/pubsub/v2
7e05ecd Bump google.golang.org/grpc from 1.56.1 to 1.56.3 in /samples/pubsub
13825ba Sleep less to avoid timeouts
3162d69 Bump github.com/nats-io/nats-server/v2 in /protocol/stan/v2
ec8b0f9 deps: update nats dependencies
dae9f6c Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
1d6360b Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
06658a2 Bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
7c1a3b1 fix race
6f5984b Move to go 1.18 Had to run gofmt and fix some weird typos due to tabs in the comments
0a006bb Fix race condition in kafka tests
510b002 issue 814 - Add binary content mode for NATS and JetStream protocols
ac3d30c add link to our security mailing list
9405398 Bump golang.org/x/net in /observability/opencensus/v2
3cbfae0 Bump golang.org/x/net from 0.9.0 to 0.17.0 in /protocol/pubsub/v2
65eb52e Bump golang.org/x/net from 0.12.0 to 0.17.0 in /protocol/kafka_sarama/v2
d25d6e4 Bump golang.org/x/net from 0.9.0 to 0.17.0 in /samples/pubsub
e4653a8 Bump golang.org/x/net from 0.12.0 to 0.17.0 in /test/conformance
6ed9f79 Bump golang.org/x/net from 0.9.0 to 0.17.0 in /samples/http
6a3393c Bump golang.org/x/net from 0.7.0 to 0.17.0 in /test/benchmark
806ef35 Bump golang.org/x/net from 0.12.0 to 0.17.0 in /samples/kafka
de13f1b Bump golang.org/x/net from 0.12.0 to 0.17.0 in /test/integration
3eefeb1 Governance docs per CE PR 1226
1bcaa28 Update links to cloudevents spec
6aa2742 context.Done() may never reach if waiting on r.incoming <- msgErr
4bcddda move it to write message
d06aea7 clean the the previous properties
0cc4fba Bump actions/checkout from 3 to 4
f1c0d0a change denpendency sarama from Shopify to IBM
f84be73 Updated based on feedback
310da90 Support ACK when receiving malformed events
808bf38 provide the qos and retain configuration for mqtt protocol
e085f1a correct the doc links
766b88e remove the usage of deprecated io/ioutil package
e15d03d add assertion helper for extension keys (#920)
c1482af append mqtt to the doc of protocol binding (#919)
ff22db5 Bump andstor/file-existence-action from 1 to 2 (#917)
bf156f1 call finish on unused messages; tidy retry logic
fdcb2d2 mqtt protocol binding (#910)
f681ac6 Bump grpc dependencies and workflow versions (#914)
c684ae9 vote to add embano1 as a maintainer
50b18a0 Bump golang.org/x/crypto in /samples/http (#902)
5232986 http: Fixes for Gin http receiver sample (#905)
9970acc Added a Gin http receiver sample (#842)
b7a65db add kafka topic/partition/offset to the extension of event (#896)
bc9170f Short-circuit AND expressions (#899)
eae656f Bump nokogiri from 1.14.2 to 1.14.3 in /docs (#891)
ff0a142 fix: Fixing syntax errors and add some test feedback (#892)
55e5dba Update RELEASING to be more explicit
Assets 2
Release v2.14.0
4fb49a3
Compare
What's Changed
- http: Batch Events from HTTP Request and Response by @markmandel in #829
- Bump activesupport from 6.0.6 to 6.0.6.1 in /docs by @dependabot in #832
- Correct the location by @clyang82 in #844
- Refine error message when validating extension name by @jackedelic in #845
- Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in /samples/stan by @dependabot in #837
- claim.Messages() seems returning nil sometime, avoid nil pointer by @nbajaj90 in #865
- Bump to newer yaml lib versions by @matzew in #868
- Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in /test/conformance by @dependabot in #838
- Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in /test/integration by @dependabot in #839
- Bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 in /protocol/stan/v2 by @dependabot in #840
- Bump golang.org/x/text from 0.3.7 to 0.3.8 in /samples/pubsub by @dependabot in #847
- Bump github.com/prometheus/client_golang from 0.9.2 to 1.11.1 in /samples/http by @dependabot in #843
- Bump golang.org/x/text from 0.3.7 to 0.3.8 in /protocol/pubsub/v2 by @dependabot in #848
- Bump golang.org/x/text from 0.3.3 to 0.3.8 in /samples/http by @dependabot in #849
- Bump golang.org/x/net from 0.0.0-20190404232315-eb5bcb51f2a3 to 0.7.0 in /samples/kafka by @dependabot in #850
- Bump nokogiri from 1.13.9 to 1.14.2 in /docs by @dependabot in #872
- Bump golang.org/x/crypto from 0.0.0-20190404164418-38d8ce5564a5 to 0.1.0 in /samples/kafka by @dependabot in #852
- Bump golang.org/x/sys from 0.0.0-20210423185535-09eb48e85fd7 to 0.1.0 in /test/observability by @dependabot in #862
- Bump golang.org/x/net from 0.0.0-20220607020251-c690dde0001d to 0.7.0 in /samples/pubsub by @dependabot in #855
- Bump golang.org/x/net from 0.0.0-20220607020251-c690dde0001d to 0.7.0 in /test/benchmark by @dependabot in #857
- Bump golang.org/x/net from 0.0.0-20220607020251-c690dde0001d to 0.7.0 in /protocol/pubsub/v2 by @dependabot in #856
- Bump golang.org/x/crypto from 0.0.0-20200323165209-0ec3e9974c59 to 0.1.0 in /test/conformance by @dependabot in #858
- Bump golang.org/x/net from 0.0.0-20201202161906-c7110b5ffcbb to 0.7.0 in /observability/opencensus/v2 by @dependabot in #859
- Bump golang.org/x/net from 0.0.0-20200324143707-d3edc9973b7e to 0.7.0 in /test/conformance by @dependabot in #854
- fix some go mod stuff by @duglin in #873
- more go mod tidy stuff by @duglin in #874
- more go mod tidy stuff by @duglin in #875
- Modify doc NewCloudEventFromHTTPRequest -> NewEventFromHTTPRequest by @rnotorni in #836
- upgrade sarama to 1.38.1 by @duglin in #878
- more upgrades by @duglin in #882
- more upgrades by @duglin in #887
- use
go mod
w/o-go
and-compat
flags by @duglin in #888 - Trying to fix a race warning by @duglin in #889
New Contributors
- @markmandel made their first contribution in #829
- @clyang82 made their first contribution in #844
- @jackedelic made their first contribution in #845
- @rnotorni made their first contribution in #836
Full Changelog: v2.13.0...v2.14.0
Assets 2
Release v2.13.0
1f844ba
Compare
What's Changed
- Change options from type redefine to type alias by @n3wscott in #805
- Update antlr4 to 4.10.1 to match the one use in k8s 1.25 by @lionelvillard in #806
- Patch sarama_kafka rebalance fix by @nbajaj90 in #818
- Avoid int parsing overflow issues by @duglin in #824
- Add ReadHeaderTimeout for security by @duglin in #826
New Contributors
Full Changelog: v2.12.0...v2.13.0
Assets 2
Release v2.12.0
a718752
Compare
Assets 2
Release 2.11.0
76cfa1c
Compare
What's Changed
- Reset request body on retry by @embano1 in #774
- fix golangci-lint-action by @inigohu in #779
- Unblock connection receive when context is done by @igolaizola in #781
- bump golang to 1.17 by @inigohu in #778
- protocol/pubsub: bump cloud.google.com/go/pubsub to latest by @inigohu in #777
- add proto test to confirm it is correct by @n3wscott in #784
- fix: missing error message when return HTTPResult by @wenfengwang in #785
- add unordered, unknown datacontenttype test and errors to v2/event by @n3wscott in #787
- Upgrade testify to 1.8.0 by @n3wscott in #790
New Contributors
- @igolaizola made their first contribution in #781
- @wenfengwang made their first contribution in #785
Full Changelog: v2.10.0...v2.11.0
Assets 2
Release v2.10.1
11daec8
Compare
What's Changed
Full Changelog: v2.10.0...v2.10.1