- Add MQTT connection lifecycle event logging (#463) (#8b4e441)
- Apply CBOR encoding to message envelope (#425) (#a5e2e0e)
- Use
ConnectTimeoutfor Unsubscribe operation to align with other operations (#b0e0ba9) - Remove redundant clearing of
criticalOperationsinWaitForCriticalOperations(#440) (#9041a53) - Ensure Unsubscribe operations wait fot completion using
getTokenError(#421) (#53a0ec2)
- Update goVersion to 1.25 and golangci-lint to 2.5.0 (#cd0b86c)
- Use the %w verb to wrap errors for clearer and more detailed error messages (c0c0e3cβ¦)
- Ensure proper encoding before message publication and validate size limit when marshalling message (#388) (072525fβ¦)
BREAKING CHANGE: Ensure proper encoding before message publication and validate size limit when marshalling message ([#388](https://github.com/edgexfoundry/go-mod-messaging/issues/388))
- Use normal JSON object in message envelope payload instead of base64 (6e7195dβ¦)
BREAKING CHANGE: Change MessageEnvelope payload from a byte array to a generic type
- Remove Redis Pub/Sub feature and dependency (5c95ef1β¦)
BREAKING CHANGE: Remove Redis Pub/Sub feature and dependency
- MessageClient can Pub/Sub binary data (91b7407β¦)
- Encode the topic path for MessageBus (0dd17d8β¦)
- Update go module to v4 (c98b13cβ¦)
BREAKING CHANGE: Update go module to v4
- Avoid marshaling nil payload when
EDGEX_MSG_BASE64_PAYLOADistrue(a4a626bβ¦)
- Upgrade to go-1.23, Linter1.61.0 (8353905β¦)
- Jetstream ExactlyOnce Configuration (3c55305β¦)
- Upgrade to go 1.21 and linter 1.54.2 (7b59a25β¦)
- Remove JetStream Integration Tests (1a5f5cfβ¦)
- Update API version to v3 (#dc1fa9)
BREAKING CHANGE: apiVersion in MessageEnvelope has changed to v3 - Remove deprecated ZeroMQ implementation (#1801bc4)
BREAKING CHANGE: ZeroMQ no longer an option for the EdgeX MessageBus. - Add Request and Unsubscribe capability. Refactor Command Client to use the new Request API (#2af8c61)
- Fix failing unit tests (#7bea0f0)
- Assure redis correctly subscribe to topic before receiving (#ff3b20a)
- Subscribe redis topic for empty suffix to match MQTT multi-level wildcard (#82827e6)
- Replace topics from config with new constants (#364627)
BREAKING CHANGE: Topics no longer in config. Client factory method has additional baseTopic parameter - Refactor Redis Pub/sub topic wild cards to match that of MQTT (#5426f9)
BREAKING CHANGE: implement the topic conversion between Redis Pub/sub wild card `*` and MQTT wild cards `+` for single level and `#` for multiple levels - Command Client: Use bool types for command parameters to be more consistent (#8751af3)
BREAKING CHANGE: ds-pushevent and ds-returnevent to use bool true/false instead of yes/no - Reduce MessageBus config to have a single host (#e8e57f3)
BREAKING CHANGE: Configuration now only needs single broker host info - Update module to v3 (#189c2d2)
BREAKING CHANGE: Import paths will need to change to v3 - Add JSON attributes to MessageEnvelope fields (#7366411)
- Remove new mock (#77f8ddb)
- Restore nats.go import and comment (#c20c641)
- Update Stale README (#a497a32)
- Update to Go 1.20 and linter v1.51.2 (#362e614)
- Implement Messaging-based CommandClient (#bcd50ac)
- Add new fields and factory functions for MessageEnvelope (#a4f6801)
- Allow user to bring their own CA in the client (#aa046c2)
- Add NATS Implementation (#9dc6314)
- Add no_zmq build flag (#51b75ef)
- Add retry of publish if error is EOF (#54dc8da)
- Don't send invalid message as normal message from MQTT (#7364efb)
- Handle repeated error better to not spam logs (#8658677)
- Upgrade to Go 1.18 (#55f9df1)
-
Disable use of ZMQ on native windows via conditional builds (#474eb1f)
BREAKING CHANGE: This disables use of ZMQ when running windows native builds.
- Disallow subscribing to same exact topic multiple times (#c1db79e)
- pass a copy of topic to redis subscriber (#fbf749f)
- fix race condition in redis client tests (#7d21ea0)
- redis subscriber with multiple topics (#6ddff74)
- Update README and GoDoc (#ee5679d)
- Add build flag to build w/o messging capability (#397650c)
- security: Enable gosec and default linter set (#0ec7e55)
- Enable use of CleanSession MQTT option (#ed2129b)
- Use Qos and Retained value from configuration for MQTT (#c395010)
- Add ReceivedTopic to MessageEnvelope & remove Checksum (#192d447)
BREAKING CHANGE: Checksum property has been removed from the MessageEnvelope
- Use Redis Pub/Sub which supports topic scheme with wild cards (#e3da10d)
BREAKING CHANGE: Redis Pub/Sub is not compatible with the previous Redis Streams implementation. All clients must be using the new implementation in order to properly send and receive messages. - Resolve race condition in ZMQ impl when binding to port (#8f0eb58)
- Rename type for Redis implementation to
redis(#3ab17e9)BREAKING CHANGE: Type for Redis implementation changed from `redisstreams` to `redis` - Add Done() method to MockToken for latest Paho module (#2f6b1ab)
- Add ability to re-subscribe to topics when reconnected (#e6a09cc)
- Change CorrelationID key constant to match recent change in edgex-go (#47c5376)
- redisstreams: Properly set Password via reflection when found in Options (#f0ba16a)
- race: Fixed races. (#b61e84a)