moquette

Java MQTT lightweight broker

APACHE-2.0 License

Stars
2.3K
Committers
61

Bot releases are visible (Hide)

moquette - Release 0.17 Latest Release

Published by andsel about 1 year ago

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 new onSessionLoopError 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 be h2 for old implementation based on H2 stoge or segmented 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 by buffer_flush_millis (#738).
  • persistent_store was separated into enablement of persistence with persistence_enabled and the path data_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).
moquette - Release 0.16

Published by andsel almost 2 years ago

  • [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)
moquette - Release 0.15

Published by andsel about 3 years ago

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
moquette - Release 0.14

Published by andsel over 3 years ago

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
moquette - Release v.012.1

Published by andsel over 5 years ago

Bugfix release for bad push of queue messages

moquette - Release v.012

Published by andsel almost 6 years ago

  • 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
moquette - Release v0.11

Published by andsel over 6 years ago

moquette - Release v0.10

Published by andsel over 7 years ago

moquette - 0.9

Published by andsel almost 8 years ago

  • Move the protocol processing to concurrent FSM.
  • Fixes for tests