Skip to content

v1.4.0

Compare
Choose a tag to compare
@MattBrittan MattBrittan released this 05 Jun 21:48
· 47 commits to master since this release
8717376

In the year since the release of v1.3.5 the majority of changes have been small incremental improvements/fixes. It is worth noting that the library has moved to the EPL v2.0 license (faq).

A few new features have been added:

  • Managing the connection to the broker can become involved (e.g. setting unusual TCP/TLS options, need for a non-standard TLS library, require a specific web-socket library etc) and the library already has too many options! To address this a new option, SetCustomOpenConectionFn, has been added that enables users to provide a function (func(uri *url.URL, options ClientOptions) (net.Conn, error)) that will be called to establish a connection (replacing the inbuilt code). This should enable edge cases to be addressed without the need for further changes to this library.
  • When connecting/reconnecting it is possible that there will be a lot of packets queued; in the past the library sent all of these packets as rapidly as possible when the connection came up. However this could saturate some network links causing the connection to drop (a vicious circle). The new option SetMaxResumePubInFlight allows a limit to be imposed; the library will send out the requested number of packets and then wait for acknowledgements before sending more (only applicable at QOS1+).

Thanks to everyone who submitted issues and contributed code (list of the main merged pull requests below):

What's Changed

New Contributors

Full Changelog: v1.3.5...v1.4.0