Releases: eclipse-paho/paho.mqtt.golang
v1.3.0
This release comes 20 months after 1.2.0 and incorporates a wide range of fixes and significant refactoring. Thanks to everyone who submitted issues and contributed code (list of merged pull requests below); special thanks to @alsm for his ongoing stewardship.
Note that this commit changes internal message channels from buffered to unbuffered and may impact users who publish from within a message handler (the documentation has been updated to highlight the issue; running potentially blocking operations within a message handle has always been problematic).
- Add callback prior to reconnection attempt - @ajhattozxcorp
- support: $queue/ for sharing subscribe - @elvizlai
- typo - @temoto
- AddBroker: Escape % in Addresses - @Mattemagikern
- Adding support for http/https proxy when using MQTT over websockets - @reubenmiller
- Publishing freeze on connection lost was fixed - @panter-dsd
- Accept cancel at publish on resume - @kamijin-fanta
- Persistence whilst awaiting initial connection - @MattBrittan
- Correcting behavior when WriteTimout is 0 - @panter-dsd
- Allow using bytes.Buffer as payload - @ctron
- Don't panic when Dial() fails with error - @alsm
- Remove use of the MessageChannelDepth value - @alsm
- check conn before closing - @alsm
- Don't send PUBLISH messages when resuming - @dusanb94
- Persist outbound subscribe packets - @robbawebba
- Resolve potential race in resume/reconnect - @MattBrittan
- Provide sample Docker setup for Mosquitto (simplify running tests) -@MattBrittan
- Try and handle awkardness with sub/unsub - @alsm
- Fixing linting issues - @alsm
- Refactor of net (and related client) functions - @MattBrittan
- Remove mu Lock from WaitTimeOut - @MattBrittan
- client: verify payload of SubscribeMultiple is not empty - @robbawebba
- Fix callbacks being replaced on topics with wildcards - @by v-zhuravlev
- fix: Fix typos - @howjmay
- Add module support - @thomas-tacquet
- Code consitency fixes - @thomas-tacquet
- On failed connection incorrectly checked conn stat - @MattBrittan
- Add websocket options - @smitt04
- corrects panic on 'CONNACK was not CONN_ACCEPTED' - @MattBrittan
- fix getID will cause endless loop when noFreeID - @zerolocusta
- Log when message not acknowledged and comments - @MattBrittan
- Add note about blocking behavior in docs of Subscribe() - @sahib
- Resolve potential deadlocks on Resume/Error - @MattBrittan
- Avoid reusing packet IDs immediately - @MattBrittan
- Add Done() method to Token for use with select - @rittneje
- Fix panic on reconnect - @johanstokking
- Propagate MQTT connect error (fixes #356) - @akokhanovskyi
- Update README and add docker example (mainly as a base for reproducing issues) - @MattBrittan
- Update godoc references to pkg.go.dev - @MattBrittan
v1.2.0
Thanks to everyone that contributed by raising issues and doing pull requests
- Check that packets still exist when we resume - @alsm
- Use monotonic time for keep alive - @johnhydroware
- Don't clean up if Autoreconnect is true - @dambrisco
- Fix race condition found by race detector - @take-cheeze
- Remove the ready field from token which means less locking - undefined
- Don't short circuit Disconnect() just because of internal state - @alsm
- Protect the router channel from double closing - @alsm
- Handle errors when reading packets - @akokhanovskyi
- Correctly strip off $share/ from shared subscription topics - @alsm
- Fix according to Juho Ha findings: the channel of time.Timer should be drained only when the program is not received from the channel. - @an2deg
- Copy the callback handler before we invoke it in the go routine - @alsm
- Only cleanup messageids if cleansession is set - @alsm
- Order the filestore files when resuming by modified time - @alsm
- Support ConnectTimeout on websocket connections - @alsm
- Fixed timer leakages in Token.WaitTimeout() - @an2deg
- Ack Qos1/2 messages after the handler has returned - @alsm
- Fixed "close of nil channel" when calling Stop() on a not connected client - @an2deg
- Don't call the internal disconnect() if not connected - @alsm
- Include http.Header in normal ws connection - @alsm
- Add SessionPresent() to ConnectToken - @alsm
- Only consider connected after connecting - @alsm
- Fix data race in reconnect - @alsm
- Adding a nil check to net.go. - @ricardoatsouza
- Add ability to use per broker credentials - @amenzhinsky
- Add support for setting the Mosquitto bridge-connection option - @dmiller-tibco
- slight adjust to make Token interface mockable - @estutzenberger
- Add is connection open method to interface - @odedva
- Add option for setting additional HTTP headers in WebSocket handshake
- Improve broker address parsing - @amenzhinsky
v1.1.1
- [closed] depfile: release directory not found in tarball #189
- [closed] Client.OptionsReader method not declared in interface Client #188
- [closed] Client arbitrarily stops listening with "logic stopped" #187
- [closed] Client.Disconnect: Have the quiesce argument be a time.Duration #186
- [closed] Deadlock waiting for token if error occurs while writing message and QoS == 0 #185
- [closed] whether it can send the message of point to point #182
- [closed] No data after reconnect #173
- [closed] Data race in mqtt client #170
- [closed] Disconnect() needs to cause messageid cleanUp() #169
- [closed] connect lost fast on success #166
- [closed] FAIL: Test_MemoryStore_Del #164
- [closed] Keep getting pingresp not received, disconnecting #163
- [closed] Connection lost before Subscribe completed #162
- [closed] Change of KeepAlive to int64 breaks examples #158
- [closed] superfluous var #157
- [closed] Is the SubscribeToken still available after the mqtt server restarted? #156
- [closed] description about baseToken.WaitTimeout may be wrong #155
- [closed] A memory leak (QOS > 0) #153
- [closed] Docs for SetKeepAlive on connection options are incorrect #152
- [closed] publish panic:close of closed channel #145
- [closed] block at receiving a connack #143
- [closed] Subscribing in a message handler causes the client to block #142
- [closed] Connection lost immediately after manually call Connect() #140
- [closed] keepalive stopped and not enter reconnect #137
- [closed] Latest commit breaks functionality on 32 bit raspberrypi #136
- [closed] Connection with invalid credentials can sometimes hang #135
- [closed] Data race on ping #134
- [closed] Client.Publish blocks indefinitely #133
- [closed] Sample description #132
- [closed] IsConnected() is aways true when I stoped mqtt server #131
- [closed] Paho do not works after error pingresp not received, disconnecting #129
- [closed] Possible memory leak #128
- [closed] Deadlock at disconnect #126
- [closed] fatal error: runtime: out of memory #124
- [closed] client can hang due to a blocking push while goroutines are stopping #122
- [closed] panic: runtime error: invalid memory address or nil pointer dereference #115
- [closed] Please add a new version tag if stable #111
- [closed] Client interface missing definition of OptionsReader #108
- [closed] Trouble Creating Mocks For Testing #107
- [closed] missing PUBACK not recognized ?! #76
Eclipse Paho 1.3
This is a synced release with the rest of the Eclipse Paho components
v1.0.0 woot!
This is a 1.0.0 release indicating that the API is stable.