Eclipse Paho 0.20.0 (Go v5 client)

https://github.com/eclipse/paho.golang/releases/tag/v0.20.0

The is a major release which adds:

  • Full QOS1/2 support including persistent sessions (both memory and disk storage supported).
  • Significant changes (mostly backwards compatible for now) to the handling of inbound messages (see this issue).
  • A new pinger.
  • Major improvements to the test suite.

The largest changes were introduced into @master in October (immediately after the release of v0.12) and we have delayed the release until now to allow for testing (the core code has been running on a number of production systems for over two months). However, due to the extent of the changes, we do recommend that you thoroughly test after upgrading.

What's Changed (excluding a lot of minor changes)

  • Implement session state (full QOS1/2 support) and publish queue by @MattBrittan in #172
  • Consistent config structure in autopaho and rename "broker" to "server" by @MattBrittan in #188
  • Remove SingleHandlerRouter by @MattBrittan in #186
  • Pass *url.URL to ConnectPacketBuilder by @XANi in #206
  • Replace Router with OnPublishReceived Callback by @MattBrittan in #211
  • Remove router from most tests and examples. by @MattBrittan in #215
  • Update CONTRIBUTING.md by @minyukim in #218
  • Re-authentication with MQTT5 Enhanced Authentication (AUTH packet exchange) in autopaho by @minyukim in #219
  • paho Client.ClientConfig is now private by @MattBrittan in #221
  • license - clarify licensing in line with Eclipse Paho standard by @MattBrittan in #224
  • New pinger implementation by @vishnureddy17 in #222
  • Tidy up Mu, termination process and keep alive by @MattBrittan in #229
  • Address issues with queue error handling in autopaho, return ErrInvalidArguments for invalid publish QoS in paho by @vishnureddy17 in #235
  • New Contributors
  • @XANi made their first contribution in #206
  • @minyukim made their first contribution in #218

Full Changelog: https://github.com/eclipse/paho.golang/compare/v0.12.0...v0.20.0

Release Date
Release Type
Minor release