forked from Rubante/moquette
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.txt
110 lines (99 loc) · 6.6 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
Version 0.10-wyj
修改消息队列长度为32,避免了原来消息队列超过最大条数之后,publish出错的情况
修改了storage的构造函数,使其更通用
修改了每次都对clientId的判定,针对client首次链接的情况
修改了离线消息签收时的空指针异常
弃用了一些不常用的模块
添加了redis存储实现
redis采用了现有conf配置机制
重新设计了session的存储结构,以便后续添加分片处理
修改工程的结构,独立了common模块,同时将redis,mapdb,broker建在common基础上
针对publish的内存泄漏,进行了修改(原本以为是netty泄露),经过两天的不眠不休的调试,发现是moquette未回收导致
Version 0.10:
Netty epoll system added
Separated in memory and MapDB storage implementations
Cleanly separated inflight part (inbound and outbound)
Version 0.9:
Moved canRead check to topic from publish phase to subscribe (#144)
Added javadoc and src jars creations for JCenter/Maven central
Added persisting of clean session flag for already existing client session (fix issue #145)
Moved the message logic management fo FSM, to better control the concurrency.
Changed default config to use in memory store and not default moquette.mapdb
Version 0.8:
Introduced authenticator and authorizator implementations.
Fixed bug, doesn't close the channel when connect doesn't contains a valid proto name, issue #65
Fixed bug, does not check for zero length topic (filters) in PUBLISH, SUBSCRIBE, and UNSUBSCRIBE, issue #67
Fixed issue #69
Fixed bug #68, UNSUBSCRIBE has to fail on bad topicFilter names
Fixed bug #81, on stop of moquette broker it doesn't shutdown due to no shutdown of ringbuffer used on the back of ProtocolProcessor
Moved config to be not only filesystem based, but also classpath and memory (fix issue #73)
Switched from commit persistence on every change to time based to fix delay in handling many msgs/sec (fix issue #79)
Changed willMessage and password in CONNECT message from String to byte[] (fix issue #94 and #95)
Fixed ugly empty session storage, avoid fake NullObject empty subscription subscription
Added check to avoid creation of LostConnectionEvents for not yet completed connects (fix issue #88)
Removed LMAX ringbuffer to use multi threading with persistent (copy on write) data structures
Fixed bug that on connection stolen dropped also the new connection (fix issue #108)
Refactored the storage part to be more rational and use ClientSession concept
Added config property 'autosave_interval' (issue #97)
Removed leaking ref to parent's node (issue #119 and #126)
Added internal publish once the broker is embedded (issue #113)
Removed client active/not active state from persistence (issue #118)
Avoid deletion of client descriptor in case of multiple clients with same clientID (issues #116 and #124)
Removed a queue per client of inFlightIds (never cleaned) in favor of single atomic generator
Version 0.7:
Fix issue #38, added aligned to MQTT 3.1.1
Refactored big event switch to @Annotation dispatcher
Switched from HawtDB to MapDB
Fixed bug that didn't update client subscription on persistent store so that on server restart there where ghost subscriptions.
Fixed Issue #11, multiple republish of persisted QoS1/2 messages on clients reconnections.
Refactored the publish logic for QoS 1 2 to try to be more readable
Added packetIdentifier storage and generation
Fixed issue #16, bad packetId for will messages with qos > 0
Added store path variable "persistent_store" to configuration file (picked from Steven Warwick fork)
Removed OSGi bundle, developer time burner
Fixed github issue #30, returning error on mapdb file not deleted that corrupt reiterated builds
Added handling of allow_anonymous clients (as in mosquitto issue #34)
Modified the password_file format to use password stored in sha256 and not plain text
Added ACL file for topic read|write operations.
Removed cause of leakage of Netty Sessions (fix issue #39)
Cleaned Netty's stuff reference from Events used in Disruptor (fix issue #40)
Bad assignment of PacketID during publish to subscribed QoS0 topics (fix issue #38)
Fixed duplicated subscription with different QoS same client and topic (fix issue #49)
Fixed UNSUBSCRIBE that missed to remove the subscription from the persistent store (fix issue #50)
Fixed issue on multiple publish for overlapping subscription by the same client (fix issue #52).
Moved the authorization check before dropping an already connected client with same clientID (fix issue #44).
Fixed subscription tree that was unable to update clean session flag on subs with same client, topic and qos (fix issue #55)
Fixed overwriting of published qos in forward publish loop (fix issue #56)
Version 0.6:
Fix issue #42, bad password file path composition
Fix issue #43, missed topic case (finance/+ does has to match finance)
Integrated WebSocket support (issue #37)
Integrated SSL support (issue #41)
Fixed issue #40, check Logging inside the Felix OSGi
Fixed issue #46, implement correct behaviour for Will stuff
Splitted stores to persist messages and sessions into different interfaces
Renamed some methods in sessions store
Moved logging conf and slf4j-log4j deps out of broker to let it use the container's log configuration
Version 0.5:
Fix issue 20 (no flush of message on PINGREQ)
Fix issue 21 (bad channel timeout handler)
Created a self contained distribution package (issue 22)
Fix issue 28, OSGi-fied the broker
Fixed issue #31 missed to insert the hawtdb jars
Added a separate mvn module to host the OSGi bundle declaration
Fixed issue #30
Added password file for identity management on connect (Fix #23)
Version 0.4:
Dropped support for MINA
Fix Issue 15 (bad re-activation of client's subscriptions after a recconection)
Fix Issue 16 (bad re-publish of stored messages after a client reconnection)
Fixed a bug in unsubscribe due to missed clientID check
Fixed Issue 18 (descriptor of a disconnected (not active) client)
Bug fix for override subscriptions to the same /topic but with different QoS (latest wins)
Added test to check the downgrading of QoS of messages sent to registered subscribers (fixed a bug of double delivery of QoS2 messages)
Version 0.3:
Added Netty IO connectors
Dropped tests based on Fuse source client lib moving to Paho java client
Version 0.2:
Fixed issues (10, 11, 12, 13)
Fixed interdependency bug in test