forked from moquette-io/moquette
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.txt
97 lines (88 loc) · 5.88 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
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