Skip to content

Latest commit

Β 

History

History
242 lines (167 loc) Β· 11.9 KB

File metadata and controls

242 lines (167 loc) Β· 11.9 KB

Messaging Module (in Go)

Github repository

Change Logs for EdgeX Dependencies

[v4.0.2] - 2026-05-31

✨ Features

  • Add MQTT connection lifecycle event logging (#463) (#8b4e441)
  • Apply CBOR encoding to message envelope (#425) (#a5e2e0e)

πŸ› Bug Fixes

  • Use ConnectTimeout for Unsubscribe operation to align with other operations (#b0e0ba9)
  • Remove redundant clearing of criticalOperations in WaitForCriticalOperations (#440) (#9041a53)
  • Ensure Unsubscribe operations wait fot completion using getTokenError (#421) (#53a0ec2)

πŸ‘· Build

  • Update goVersion to 1.25 and golangci-lint to 2.5.0 (#cd0b86c)

[v4.0.0] - 2025-03-12

✨ Features

  • 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


BREAKING CHANGE: Remove Redis Pub/Sub feature and dependency

β™» Code Refactoring


BREAKING CHANGE: Update go module to v4

πŸ› Bug Fixes

  • Avoid marshaling nil payload when EDGEX_MSG_BASE64_PAYLOAD is true (a4a626b…)

πŸ‘· Build

[v3.1.0] - 2023-11-15

✨ Features

πŸ‘· Build

πŸ§ͺ Testing

[v3.0.0] - 2023-05-31

Features ✨

  • 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)

Bug Fixes πŸ›

  • 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)

Code Refactoring β™»

  • 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)

Documentation πŸ“–

Build πŸ‘·

  • Update to Go 1.20 and linter v1.51.2 (#362e614)

[v2.3.0] - 2022-11-09

Features ✨

  • 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)

Bug Fixes πŸ›

  • 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)

Build πŸ‘·

[v2.2.0] - 2022-05-11

Features ✨

  • Disable use of ZMQ on native windows via conditional builds (#474eb1f)

    BREAKING CHANGE:
    This disables use of ZMQ when running windows native
    builds.
    

Test

  • enable go's race detector (#9e77d98)
  • Add mock for MessageClient interface (#c9ac0b8)

Bug Fixes πŸ›

  • 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)

Documentation πŸ“–

Build πŸ‘·

  • Add build flag to build w/o messging capability (#397650c)
  • security: Enable gosec and default linter set (#0ec7e55)

[v2.1.0] - 2021-11-17

Features ✨

  • Enable use of CleanSession MQTT option (#ed2129b)

Bug Fixes πŸ›

  • Use Qos and Retained value from configuration for MQTT (#c395010)

[v2.0.0] - 2021-06-30

Features ✨

  • Add ReceivedTopic to MessageEnvelope & remove Checksum (#192d447)
    BREAKING CHANGE:
    Checksum property has been removed from the MessageEnvelope
    

Bug Fixes πŸ›

  • 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)

Code Refactoring β™»

  • 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)

[v0.1.29] - 2020-12-29

Bug Fixes πŸ›

  • Add ability to re-subscribe to topics when reconnected (#e6a09cc)

[v0.1.27] - 2020-10-19

Bug Fixes πŸ›

  • Change CorrelationID key constant to match recent change in edgex-go (#47c5376)

[v0.1.26] - 2020-10-09

Bug Fixes πŸ›

  • redisstreams: Properly set Password via reflection when found in Options (#f0ba16a)

[v0.1.17] - 2020-04-03

Bug