Skip to content

Releases: rmqtt/rmqtt

0.4.0

13 Apr 15:01
Compare
Choose a tag to compare
  1. Optimize plugins.
    • Simplify plug-in implementation. a0bd46d 2fca0fe
    • Add Plugin:: authors (&self), Plugin:: homepage (&self), Plugin:: license (&self), and Plugin:: repository (&self). a0bd46d
  2. Optimize Retainer Plugin.
    • Remove Retainer from "rmqtt-cluster-raft". 635d748
    • Remove Retainer from "rmqtt-cluster-broadcast" 82f33b8
    • Modify the configuration and turn off "retain_available" configuration and "rmqtt-retainer" plug-in. a0703b3
    • "Retain Message" is only supported through the "rmqtt-retainer" plugin. c3418eb
    • Retain messages support 'ram', 'sled' or 'redis' storage. 3ef6e6f 2e8263e 59e2bb9
    • Add Document: retainer.md.
    • Add statistical mode, which can be specified by specific statistical items. 4b71993
    • Optimize the codes. 3b8e3ff da08d5e 2a9bb6a d765c91 330fed9 5439cc6
  3. Create workflows/CI.yaml. https://github.com/rmqtt/rmqtt/actions/workflows/CI.yaml
  4. Bump up deps, tokio-tungstenite = "0.21", toml = '0.8'
  5. Fixed: "Max QOS in Connect ACK Protocol Question" f0ba628 #54

New Contributors

@gongzhengyang made their first contribution in @see

0.3.0

27 Jan 04:59
Compare
Choose a tag to compare

1.Implement the 'rmqtt-session-storage' plugin. Connection information, subscription relationships, offline messages, and in-flight messages will be stored. Upon node restart, session states that haven't expired will be restored, including subscription relationships, offline messages, and in-flight messages. more

2.Implement the 'rmqtt-message-storage' plugin. Published messages will be stored until they expire. Subscriptions to this message topic will be forwarded before the message expires. Messages will be automatically cleared after expiration. more

0.2.20

04 Nov 02:46
Compare
Choose a tag to compare
  1. Limit the number of concurrent Kick operations. 0d3a3d3
  2. Upgrade deps to leaky-bucket = "1.0"
  3. Upgrade deps to ntex = "0.3.21", ntex-mqtt = "0.6.21"

0.2.19

23 Oct 12:19
Compare
Choose a tag to compare
  1. Fixed the issue where, when restarting a node with a specified LeaderId, it erroneously attempted to forcibly establish itself as the Leader, even though a Leader already existed in the cluster. Now, it correctly obtains Leader information from other nodes. 443bc16
  2. Fixed the problem in the HTTP API: /api/v1/subscriptions, where the format of the 'opts' field in the response was incorrect. c9759c7
  3. Fixed the issue in the HTTP API: /api/v1/subscriptions/{client_id} where the 'client_addr' in the response is null. e000efe

0.2.18

16 Oct 12:20
Compare
Choose a tag to compare
  1. When the system is busy, limit the message receiving rate. 159b137
  2. Operating system busy check, MQTT high-concurrency connection handshake check. 54dbc94 79019fa 38a21b7 151fa8d
  3. rmqtt-cluster-raft
    • Add plugin verify_addr, control whether to pre verify addresses through configuration. 49fad0d
    • Upgrade deps to rmqtt-raft = "0.3.4", a6d5c8b
    • Add and apply the config 'worker_threads. 732e8d3
  4. Optimize MQTT connection handshake, fix the issue of new connection requests being rejected after ntex-mqtt handshake timeouts in high-concurrency scenarios. 8a580bc
  5. Remove unneeded async trait and upgrade deps versions. #44
  6. Others

0.2.17

25 Sep 15:21
Compare
Choose a tag to compare
  1. Support environment parameter configuration. 23733a1 c58b0b0
  2. Add the 'raft_leader_id' item to the command line arguments. 4eb3080
  3. plugin rmqtt-web-hook, if the group doesn't exist, it doesn't output: null . 631858b
  4. If the configuration does not specify writing file logs, then it is not necessary to create a log directory. a2ee71e
  5. plugin rmqtt-cluster-raft, Allow specifying a Leader. 0f6f169
  6. Optimize code to reduce session memory usage. 6fff379
  7. Add data statistics for in-flight input. d73d101
  8. Upgrade to rust-box = "0.8", and use a global executor to forward messages to other nodes. 4bb3ba2
  9. Add config task.exec_workers and task.exec_queue_max. e4cbea3 61f6ac1
  10. Other
    • Replace 'chrono::Local.datetime_from_str' with 'chrono::NaiveDateTime::parse_from_str'. 55e6ea5
    • Upgrade deps to config = "0.13". 3b6c26d
    • Count the number of subscriptions through containers. 5854651
    • Change to bounded channel (gRPC client). 19beb35
    • Add debug_session_channels. 1ad046d
    • Add 'debug_runtime_exec_stats' and 'forwards' member fields. 2ec13e9

0.2.16

07 Sep 12:55
Compare
Choose a tag to compare
  1. Add benchmark-testing.md. 8105220 a2774d8 0815e85
  2. Remove dependency library 'lazy_static' and 'parking_lot::RwLock'. 6262294 8a95437
  3. Upgrade deps to rmqtt-raft = "0.3.3", replace protobuf-codec with prost-codec. 23cd0ef
  4. Fixed the issue of losing hook messages after reloading the configuration and rebuilding the channel. 3ab5a38
  5. Support x509 cross certificate. b568db6 30e030e 215bfb2
  6. Add statistics for message_queues and inflights. 086c57c 13766a5
  7. Other
    • Disable reqwest default feature. abc288e
    • Update dependencies, add feature 'fs'. 6cd7803
    • Optimize the codes. 83c17f9
    • Upgrade dependencies. ca8e482
    • Adjust dependencies. 3bd93be
    • Minimum requirement: rust-version = "1.67". 63b9f9b

0.2.15

25 Aug 12:54
Compare
Choose a tag to compare
  1. Implement max_topic_levels configuration. 69ac9a9
  2. Supports maximum keepalive limit. 0c636ce
  3. Handling the case of clientid being 0. 4822e23
  4. Improve MQTT V5 protocol:
  5. Upgrade deps to ntex-mqtt = "0.6.18"

0.2.14

18 Aug 15:57
Compare
Choose a tag to compare
  1. Add config item 'allow_zero_keepalive', a value of zero indicates disabling the keep-alive feature, where the server doesn't need to disconnect due to client inactivity. e253f4c
  2. Add load_config_default(), support using default values when plugin configuration doesn't exist. 8801cc4
  3. Remove the default value of ListenerInner::addr. e95f941
  4. When publishing a message, if no subscription relationship is found, send a hook message and add 'nonsubscribed' statistical information. 719f881
  5. Adding statistics for publish, delivered, and acked from different sources. 0dd6193
  6. Send message_publish hook for 'admin', 'system' and 'lastwill'. 8a09d37
  7. Add From to MessagePublish hook. 4b7f1ed
  8. System message statistics are not collected. 0caf0e6
  9. Add plugin: rmqtt-sys-topic . dd0015d e3650ca 7102f81
    • Add Document: sys-topic.md. 53cbcda
    • Use default values when plugin configuration doesn't exist. df8a810
  10. Add From and FromType types, Types contain:'custom', 'admin', 'system', 'lastwill'. f9b6339 de06a2a
  11. Supports reuseaddr, reuseport, and configuration. db895e5 1297c30 69f4cb5
  12. Upgrade deps to rmqtt-raft = "0.3.2". 5caacb0
  13. Upgrade deps to ntex = "0.3.19", ntex-mqtt = "0.6.16". 7d174b9
  14. Optimize the codes. 847d26a

0.2.13

28 Jul 14:37
Compare
Choose a tag to compare
  1. rmqtt-cluster-raft
    • Verify the listening address before starting the Raft service. 10c8d95
    • Verify the peer address. db96b11
    • Upgrade to rmqtt-raft = "0.3" c23d568
    • Optimize the codes. 29b3be1
    • Synchronize Message::Disconnected message to the cluster when the administrator kicks off the connection. 7536a2f
  2. Change tokio channel to futures channel. 16a9d7a
  3. Optimize the MQTT client connection handshake process. a629b9a
  4. Optimize error message when plugin startup fails. f1e2865
  5. PartialEq and Hash add create_time. aba875f
  6. Administrators kick off connections and terminate sessions through APIs. b611a63
  7. Use enumeration types to define reasons for disconnection and message drop. d08ebe7
  8. MessageDropped hook when sending LastWill message failed. c8c1486
  9. Session transfer does not send LastWill messages. 02828fb
  10. rmqtt-http-api
    • Add the 'last_will' field in ClientSearchResult. 49fde1e
    • Add HTTP API request logs, through http_request_log=true configuration item control. 36f575f
    • Fix session expiration time anomalies. e685253
  11. rmqtt-web-hook
    • Local hook logs are supported. 44d547b
    • Add the "time" field to the hook message body. 6e83d56
  12. Update plugin configs. e0fd6d8 fcfbbd3 4704b11
  13. Optimize the codes. 662ed4a 4b0c8e5 ff5cb62
    • Replace ZERO with Duration::ZERO 2def0dc
    • Fix username value. 1eea2fe