v3.0.0-alpha.1
Pre-release
Pre-release
- Replace paho-mqtt dependency with mqtt5
- Drop support for MQTTv3.1 and MQTTv3.1.1
- All
Clientparameters are now keyword-only - Messages are now
mqtt5.PublishPacketinstances instead ofaiomqtt.Message publishpayload is now a positionalbytesargument instead of keywordpayload=client.messagesis nowclient.messages()(method call)message.midrenamed tomessage.packet_idmessage.propertiesreplaced by individual attributes (e.g.message.content_type,message.user_properties)- Manual acknowledgment of QoS=1 and QoS=2 messages (no longer automatic)
packet_idparameter for QoS>0 publishes, enabling retries viaclient.packet_ids- Built-in reconnection with exponential backoff via
reconnect=True client.connected()andclient.disconnected()awaitables for connection state- Flow control via
receive_max - Unix domain socket support via
unix_socketparameter ssl_contextreplacestls_context,tls_params, andtls_insecureqossubscription parameter renamed tomax_qosConnectError,ProtocolError, andNegativeAckErrorreplaceMqttError- Remove
protocol,transport,proxy,socket_options,timeout,queue_type,max_queued_incoming_messages,max_queued_outgoing_messagesparameters - Remove
message.topic.matches()(see guides for routing with regular expressions)