Skip to content

v2.2.0

Compare
Choose a tag to compare
@mochi-co mochi-co released this 10 Feb 00:05
aac2454

What's Changed

  • Add Clone to system.Info by @thedevop in #163
    • Adds a new Clone method to system.Info to make a copy of the system info values.
  • Client write buffers by @mochi-co in #165
    • Removes the fixed fanpool worker pool in exchange for writing directly to the clients via client-specific buffered write channels. In the event that a client's write buffer is full, in such an event as a slow reading client, the message is dropped and the new OnPublishDropped hook is called. If the message was QoS 1 or 2, the inflight is rolled back and the message is treated as unattempted.
    • Adds a new OnPublishDropped hook which is called when message delivery was not attempted or rolled back due to irregular client behaviour (such as slow reads on the client side).
    • Improves performance for mid-level throughput.
  • Removes refreshDeadline call from client write, which caused some disconnected clients to remain online indefinitely, by @mochi-co per #156
  • No longer issue retained messages on session takeover by @mochi-co in #166
    • After an investigation into the issues seen in #153, the cause is determined to be a misreading of the specification regarding the issuance of retained messages on session takeover, confirmed in this comment by Andy Stanford-Clark As such, we will no longer issue retained messages when a session takeover occurs. QoS Inflight queueing continues to behave as expected.

Full Changelog: v2.1.8...v2.2.0

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing