Skip to content

Latest commit

 

History

History
181 lines (131 loc) · 8.65 KB

CHANGELOG.md

File metadata and controls

181 lines (131 loc) · 8.65 KB

Messaging Module (in Go)

Github repository

Change Logs for EdgeX Dependencies

[v3.1.0] - 2023-11-15

✨ Features

  • Jetstream ExactlyOnce Configuration (3c55305…)

👷 Build

  • Upgrade to go 1.21 and linter 1.54.2 (7b59a25…)

🧪 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