Releases: mochi-mqtt/server
v2.1.3
What's Changed
- Make hooks safe for concurrency by @thedevop and @mochi-co as per discussion in #139
- Due to unexpected usage, the slice containing hooks was not safe for concurrent reading and writing. This has been fixed.
- Export Client.Net.Conn for easier developer access by @mochi-co
- To assist those trying to gain more control over the client connection, the client conn is now exposed as Net.Conn, as per #87 (comment)
- Fixed the quickstart code on the README to add necessary import statements and port example, by @BarriBarri20, as per #137
- Small code cleanups by @mochi-co
Full Changelog: v2.1.2...v2.1.3
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing
v2.1.2
What's Changed
- Change the order of inline client check by @thedevop in #133
- As per #132, optimizes the sequence of logic statements to ensure inline client is checked first, preventing unnecessary calls to other logic such as ACL or getting inflight messages by key.
Full Changelog: v2.1.1...v2.1.2
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing
v2.1.1
What's Changed
- Add Client Closed method by @thedevop in #130
client.Closed() bool
returns true if client connection is closed.
- Save subscription properties for mqttv5 by @wind-c in #131
- Fixes an issue where MQTT v5 properties were not correctly stored when using bolt, badger, and redis persistence hooks.
New Contributors
Full Changelog: v2.1.0...v2.1.1
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing
v2.1.0
What's Changed
- Adds a new unix socket listener (
listeners.NewUnixSock
) to allow more efficient local processing, by @zgwit in #124 - Fixes an issue where processSubscribe was not correctly determining if a subscription existed, if multiple topics were passed for subscription, by @wind-c in #123
- Removes inefficient implementation of hook
OnExpireInflights
and uses more appropriateOnQosDropped
hook instead, by @mochi-co in #127 per #125 - Fixes an issue where Connect property RequestResponseInfo was being applied to all packets instead of just Connack packet, by @mochi-co in #128 per #128
New Contributors
Full Changelog: v2.0.7...v2.1.0
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing
v2.0.7
What's Changed
- Add the OnUnsubscribed hook to the unsubscribeClient method by @wind-c in #122 - UnsubscribeClient is now an exported method.
Many thanks to @wind-c!
Full Changelog: v2.0.6...v2.0.7
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing
v2.0.6
What's Changed
- Enforce server max packet size as per #120 by @mochi-co in #121
- Minor test changes.
- Adjustment to ClientDisconnect to adhere to PassiveClientDisconnect compatibility mode.
Full Changelog: v2.0.5...v2.0.6
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing - V3, V5
v2.0.5
What's Changed
- Fix mis-typed onpublished hook, update version, fanpool defaults by @mochi-co in #119
- Fix websocket malformed packet bug by @tommyminds and @svanharmelen in #116
New Contributors
- @tommyminds and @svanharmelenmade their first contribution in #116 🎉
Full Changelog: v2.0.4...v2.0.5
v2.0.4
- Restores the
server.Publish(topic string, payload []byte, retain bool, qos byte) error
method from v1.3.2 as a convenience function which utilizes server.InjectPacket, by @mochi-co for #113 - Refactors Client creation to allow developers to more easily create and use Clients and InlineClients as passing server.ops was difficult and NewClient, NewInlineClient, and newClientStub presented unnecessary code duplication. Use
server.NewClient
instead ofmqtt.NewClient
, by @mochi-co. Many thanks to @chenji1990 for their supportive PR regarding this matter!
Full Changelog: v2.0.3...v2.0.4
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing - V3, V5
v2.0.3
v2.0.1
What's Changed
- Everything. Thank you for your patience - by @mochi-co
- Provides full compliance with MQTT v5 specification
- Fixes all outstanding v1 related issues.
Full Changelog: v1.3.2...v2.0.1
This much-awaited release represents a total ground-up rewrite of the entire project in order to primarily support all of the features and compliance requirements detailed in the MQTT v5 specification. As such, it represents an absolute breaking change from the v1 series of the broker.
In particular, the following have changed which may interrupt your existing implementations:
- Auth interfaces, persistence interfaces, and the events callback system have been replaced with the new universal Hooks system.
- Inline Publish has been replaced by Inject Packet.
- The way the server is initiated and configured has changed.
Please refer to the new readme for full information on all changes, and open an issue if you have any questions or feedback! 🙂
Tests
- Builds
- Unit Tests Passing
- Paho Interoperability Passing - V3, V5