Changelog History
Page 1
-
v0.8.0.0 Changes
The
Topic
andFilter
types are nownewtype
wrappers around Text instead of being aliases for text. This is a breaking change, but ๐ makes a lot of bugs harder to express. There's asplit
function available that will split aTopic
orFilter
into components, and both types areSemigroup
s joining on/
.Because these are
newtype
s, we theArbitrary
instances don't need special wrappers, soATopic
is gone in favor of justTopic
'sArbitrary
instance. -
v0.7.1.0 Changes
More Arbitrary topic helpers.
Commandline tool enhancements.
โฌ๏ธ Bump version bounds.
-
v0.7.0.1 Changes
๐ Fixed an error where there'd be an ugly crash in a situation where connections were failing regularly and we detected the failure before 0๏ธโฃ a connection thread spun up. I was using
undefined
for the default thread value because it was intended to be immediately set, but did find a way to get there in a failure storm. It's aMaybe
now.๐จ fail on unexpected packets. I had a
print
in there from very early on. Proper sequences are covered, but if a broker sends the client an unexpected packet, it'd be good to not just ignore it.When publishing, "no matching subscribers" should not be considered a failure. It's also not bubbled up to the caller, but it is returned as an error from the broker to basically say the publish was successful, but nobody cares about the thing you published.
0๏ธโฃ mqtt-watch will automatically reestablish sessions by default without reissuing subscriptions (including auto-generated client IDs).
-
v0.7.0.0 Changes
ConnACKFlags
now has aSessionReuse
type which makes it very clear whether the session is resuming. I was affected by the boolean blindness of the previous variant myself several times.Connection
_properties
is now called_connProperties
. I developed ๐ฆ a separatenet-mqtt-lens
package that provides a lens into all properties of all types that have properties, but a bit more consistency here is good.QoS
now has anOrd
instance.A new
PktID
type alias makes it clear whichWord16
values were meant to represent a packet ID.There are fewer threads in publish handling in both directions. This mostly just simplified things, but it also helped prevent a few races when a lot of values arrived at the same time.
-
v0.6.2.3 Changes
February 17, 2020โ Remove a use of
fail
that prevents us from building under ghc 8.8. -
v0.6.2.2 Changes
December 14, 2019๐ Support query parameters in ws and wss URLs.
-
v0.6.2.1 Changes
November 25, 2019โ Added function to get original connection ACK response packet.
- connACK (in IO) and connACKSTM
-
v0.6.2.0 Changes
November 11, 2019โ Added low-level support for correlated responses.
I'm not completely sure how generally useful this interface is, but I've been using it in a client that's implementing an RPC type interface across MQTT for a bit now.
-
v0.6.1.1 Changes
October 29, 2019โ Add connection checks to publish phases.
Having a broker/connection die in the middle of a publish in QoS > 0 could result in a thread waiting indefinitely for the response that would not ever arrive.
-
v0.6.1.0 Changes
October 27, 2019๐ Users can now specify TLSSettings for mqtts:// and wss:// connections.
๐จ Small bit of refactoring of main threads used by the client. It's a bit easier to reason about their lifecycle now.
All (at least most) of the threads in use by the client are named so ๐ when you're looking at an eventlog, you can see what's coming and going.