Releases: moquette-io/moquette
Releases · moquette-io/moquette
Release 0.18
Features
MQTT5 protocol version support. Almost all features are supported except:
- enhanced authentication
- maximum packet size limitation
- server reference
- server assigned client ID
Refer to #695 for the details.
Breaking changes
Support for BugSnag and Librato metrics were dropped, so the settings: use_metrics
, metrics.librato.*
, use_bugsnag
, bugsnag.token
are NOT anymore recognized. Please clean your moquette.conf
if you used. In a future version will be developed some form of observability.
Deprecations
Default persistence for session queues (selected by persistent_queue_type
) switched from H2
to segmented
, leveraging memory mapped pages instead of the BTree offered by H2. Persisting queue in H2 is planned for complete removal.
Dependencies
Release 0.17
Features
- Introduced new fluent configuration API to avoid direct usage of constants to configure broker's properties (#761).
- Introduced new
persistent_client_expiration
settings to limit the time of persistent sessions life (#739). - Added new method
disconnectClient
to Server's API to programmatively disconnect a client (#744). - Updated the
InterceptHandler
SPI interface with the addition of newonSessionLoopError
callback method to receive the error notifications that happens in session event loops (#736). - Added new
moquette.session_loop.debug
JVM property to enable the checking of sessions event loops to proper sessions (#714). - New persistent queue implementation that use segments in memory mapped files. Can be selected by the new
persistent_queue_type
setting. The values can beh2
for old implementation based on H2 stoge orsegmented
for the new implementation (disabled by default) (#691, #704). - Introduced the ability to specify the flush interval for IO write operations, changing the default, to an immediate flush. New settings
buffer_flush_millis
can specify the interval in milliseconds, 0 for immediated flush or -1 to let the networking doing flush on write buffer full (#738).
Deprecations
immediate_buffer_flush
replaced bybuffer_flush_millis
(#738).persistent_store
was separated into enablement of persistence withpersistence_enabled
and the pathdata_path
(#706).
Fixes
- Resolved bad perfomance issue (#633) when adding many subscriptions to few topics (#758).
- Resolved performance issue(#629) on subscription trees wide and flat (#630).
Dependencies
- Updated Netty to 4.1.93 and tcnative to 2.0.61 (#755).
Release 0.16
- [build] drop generation of broker-test, removed distribution and embedding_moquette modules from deploy phase (#466)
- [fix] introduces sessions event processors to segregate changes to a session in one single thread, simplifying concurrency and code (#631)
- [util] add collection of telemetry data (#700)
Release 0.15
Notable Changes
- When the inflight window is emptied now is forced a flush to be sure the clients sees the messages immediately #603
- switched from JCentral from JFrog to Maven Central as deployment repository #606
- introduced rules to free reference counted buffers to avoid memory leaks #600
- explicit check MessageId doesn't overflow #586
- changed the flow of PUBREC managment giving precedence to PUBREC flow over queueed messages to send #588
Bugfixes
- Various fixes to inflight zone management related to counters and missed timeouts restarts for resends #604, #601, #582, #584
- Re-enabled not running tests #580
- Fixed serialization of messages to H2 introducing custom ValueTypes #592
- Stop interceptor's thread on broker shutdown #575
- Fixed potential NPE when draining messages from Session #570
Dependencies updates
- Netty 4.1.59 #574
- Moved netty-tcnative to boringssl static because distributions doesn't have anymore OpenSSL 1.0.0 and can't be dynamically linked
Release 0.14
Notable changes
- switched back to Maven from Gradle and use maven wrapper
- moved all connect process flow into connection class, to avoid spread the connection logic in subsystems like SessionRegistry. (#548)
- switched temp files in unit test to temp folder managed (#549)
- switched to JUnit 5
- added connection and client Id to each log line
Bugfixes
- fix bug in race condition between the shutdown of a client and the connect of another with same clientId (#561)
- fix recreate sessions when server restarts (#563)
- fixed NPE due to TNode processing before CNode (#564)
Dependencies updates
- paho 1.2.5
- netty 4.1.53
- junit 5.7.0
Release v.012.1
Bugfix release for bad push of queue messages
Release v.012
- Dropped Hazelcast because at the moment Moquette is not designed to be clusterizable
- Rewritten completly the broker to introduce the concept of MqttConnection
- Dropped suppoert for MapDB and keeped only H2 MvStore for persistence
Release v0.11
Updated readme for version 0.11
Release v0.10
Release 0.10