✨ 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.