Skip to content

Releases: mochi-mqtt/server

v2.2.11

18 May 19:32
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.2.10...v2.2.11

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.10

08 May 10:45
Compare
Choose a tag to compare

What's Changed

  • Use context to exit WriteLoop by @thedevop in #222
    • Optimizes handling of write loop concurrency.

Full Changelog: v2.2.9...v2.2.10

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.9

06 May 13:30
5225a35
Compare
Choose a tag to compare

What's Changed

  • Update codes.go by @helderjnpinto in #214 and #215
  • Expire session if SessionExpiryInterval is 0 by @thedevop in #216
    • Corrects an issue where SessionExpiryInterval was not correctly honoured if the value is absent.
  • Add packet ID exhausted hook by @mochi-co in #217
    • Corrects an issue where the hook had not been added to the code 😊
  • Use context to signal client open state by @mochi-co in #218
    • Replaces the client.State.done atomic int with a context which can be cancelled, for better concurrency in #202
  • Refactor server keepalive for hook access by @mochi-co in #220
    • Refactors the implementation of Server Keep Alive. Previously, the server keep alive value was used if the client keepalive value was 0, however this was incorrect. The server keep alive value override has been removed, and is now set if necessary using the OnConnect hook. See examples/paho.testing/main.go for an example.

New Contributors

Full Changelog: v2.2.8...v2.2.9

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.8

04 May 23:51
Compare
Choose a tag to compare

What's Changed

  • Using the latest version of GitHub Actions and incorporates goveralls, by @werbenhu in #203
  • Correctly validate WillProperties by @mochi-co and @sukvojte in #210
    • Fixes an issue in which the validation of encoding and decoding Will Properties relied on the encompassing packet type (Connect) instead of being unique per the v5 spec.
  • Add OnPacketIDExhausted hook by @mochi-co in #211 per #201
  • Add lock to client writes by @mochi-co in #212
    • Fixes an issue in which writes could be written in a concurrency unsafe manner (#196)
  • Lock on close outbound by @mochi-co in #213
    • Fixes an issue in which writes could continue to be written to the outbound channel after the channel was closed (#202)

Full Changelog: v2.2.7...v2.2.8

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.7

21 Apr 21:13
Compare
Choose a tag to compare

What's Changed

  • Ensure to close client WriteLoop by @thedevop in #193
    • Fixes a bug #193 in which memory could be leaked if cl.State.outbound was not correctly closed.
  • Simplified code by @wind-c in #195
    • Adds a convenient ToPacket method on storage.Message
  • #78 storage hook should not execute the relevant code if the client has been reconnected by @werbenhu in #198

New Contributors

Full Changelog: v2.2.6...v2.2.7

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.6

11 Mar 23:18
7bd7bd5
Compare
Choose a tag to compare

What's Changed

  • Common subscriptions issued by different clients at the same time may be lost by @ffa500 in #186
    • Uses additional locks within topics to resolves an issue in which subscriptions could be lost due to concurrent writes.
  • Configurable client bufio reader/writer sizes by @mochi-co in #190

Addresses #189 by making the client bufio.Reader and bufio.Writer sizes configurable as server options. The new default value for the reader and writer buffers is 2048. Different values can be configured as such:

server := mqtt.New(&mqtt.Options{
    ClientNetWriteBufferSize: 1024,
    ClientNetReadBufferSize: 1024,
})

Full Changelog: v2.2.5...v2.2.6

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.5

28 Feb 21:01
Compare
Choose a tag to compare

What's Changed

  • Skip expire cleanup for isTakenOver session by @thedevop in #183 following #173
  • Bump golang.org/x/net from 0.0.0-20220927171203-f486391704dc to 0.7.0 by @dependabot in #182

New Contributors

Full Changelog: v2.2.4...v2.2.5

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.4

25 Feb 01:50
46babc8
Compare
Choose a tag to compare

What's Changed

  • Correctly identify and clean taken-over sessions by @mochi-co in #180
    • Resolves issue #173 in which the state of a newly inheriting client could be affected by the shutdown of an expiring, taken-over client.
  • Allow 0 byte usernames if correctly formed by @mochi-co in #181
    • Per #178, Re-interprets MQTT-3.1.2-17 (v5) to match industry implementation by accepting zero-byte usernames as long as the LSB+MSB bytes are valid.

Full Changelog: v2.2.3...v2.2.4

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.3

22 Feb 23:39
Compare
Choose a tag to compare

What's Changed

  • Use *packets.Packet for outbound chan by @thedevop in #176
    • Fixes an issue introduced in #165 in which packets were being issued to channels by value instead of reference, causing an unexpected bloom in memory usage.

Full Changelog: v2.2.2...v2.2.3

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing

v2.2.2

20 Feb 18:16
Compare
Choose a tag to compare

What's Changed

  • Fixes #171 by @ffa500 in #172
    • Fixes an issue where packets with Properties exceeding 127 bytes in length were not decoded correctly.

New Contributors

Full Changelog: v2.2.1...v2.2.2

Tests

  • Builds
  • Unit Tests Passing
  • Paho Interoperability Passing