All notable changes to this project will be documented in this file.
The format is based on http://keepachangelog.com/en/1.0.0/ and this project adheres to http://semver.org/spec/v2.0.0.html.
- Fix missing payload of Connect.Will() message
- Connect.Will only sets the will, default delay interval is 0
- Add Connect.SetWillDelayInterval
- Fix Subscribe.subscriptionID is optional
- Add func Unsubscribe.Filters
- Update dependencies
- Fix Publish.WriteTo - encoding payload as raw data, not binary data
- Add wiretype rawdata
- Subscribe is malformed on bad subscriptionID
- Replace Subscribe.AddFilter with AddFilters
- Add method Subscribe.Wellformed
- Rename methods Reason to ReasonString
- Rename methods SetReason to SetReasonString
- Add reason to Disconnect.String
- Add type HasReason interface
- Update logo
- Add func Dump
- Include reason code in ConnAck.String
- Add missing Auth properties
- Update blog
- Add missing reason codes
- Remove method AckType
- Add separate types PubComp, PubRec, PubRel
- Returned *Malformed from Publish.WellFormed
- Remove types Handler, PubHandler and Middleware Their counterparts are found in github.com/gregoryv/tt
- Move tt to github.com/gregoryv/tt
- Remove tt.Interceptor
- cmd/tt pub and sub commands work with mosquitto(anonymous)
- Change log prefixes to in/out
- Hide types Bits and FixedHeader
- Remove Connect.Flag and ConnAck.Flag methods
- Add Connect.SetWill replacing all will related methods
- Add type PubRel
- Add type UserProperties
- Return pointer to packet types when using New constructor funcs
- Improve tt.Logger performance
- Move tt.TestServer to mq/tt/raven
- Add Logger.SetMaxIDLen to control length of id
- Add TestServer with manual responses
- Add types tt.InFlow and tt.OutFlow
- Replace NewQueue with NewInQueue and NewOutQueue
- Move tt/* packages to tt/
- Add tt/pakio with pakio.Sender and pakio.Receiver
- Remove type Client
- Remove type tt.Settings
- Add type tt.LogFeature
- Add tt/cmd/ttdemo
- Add types mq.PubHandler, tt.Router and tt.Route
- Remove Context alias
- Add context to type Handler
- Rename type Fop to FilterOption with alias Opt
- Simpler mq.Client interface with one Send method
- tt.Client uses stack of middlewares
- Add mq.Middleware interface
- Add tt.LogLevel with info and debug
- Remove tt.ackman
- Add protocol related interfaces in package mq
- Add alias mq.Packet for mq.ControlPacket for shorter receiver funcs
- tt.Client can connect, publish and receive published packets
- Rename package mqtt to mq and put one client implementation in subpackage mq/tt
- Add client/IDPool for reusing packet ids
- Remove unused constants
- Add missing reason codes
- Try connecting to mosquitto broker
- Optimise PubAck, ConnAck, Publish, Connect
- Add type Disconnect and Auth
- Add type PingReq and PingResp
- Add initial blog.md
- Add type Unsubscribe and UnsubAck
- Prefix all packetIDs in string output with character p
- Add type SubAck
- Fix ReadPacket to match properly for ControlPacket type
- Add type Subscribe
- Add type PubAck, same for PUBREL, PUBREC and PUBCOMP
- Optimize Connect memory alignment
- Implement ConnAck.UnmarshalBinary
- Fix Connect flags representation
- Add type ConnAck
- Make wstring alias of bindata, less memory allocation in UnmarshalBinary
- Add type Publish
- Simplify Connect.UnmarshalBinary
- Implement Connect.UnmarshalBinary
- Remove Connect.SetWillFlag, done automatically when setting will related fields
- Optimize Connect.WriteTo
- Add type Connect, WriteTo matches pahos
- Add connect variable header properties
- More readable encoding errors
- FixedHeader supports marshal/unmarshal
- Add types for all data representation