New 0.2.0 version
FastMQTT 0.2.0 Release Notes
We're excited to announce the release of FastMQTT 0.2.0! This version brings significant improvements, new features, and internal refactoring to enhance the library's performance and usability.
Highlights and Major Changes
- Upgraded to Python 3.10 as the minimum supported version
- Introduced a new connector-based architecture for flexibility and extensibility
- Added support for various serialization formats (JSON, MsgPack, CBOR)
- Improved connection handling with automatic reconnection using
tenacity
- Enhanced subscription management with revamped system for MQTT v5 features
- Streamlined router system for easier topic management
- Improved type annotations throughout the codebase
- Add new examples and description
Changelog
Added
- New
BaseConnector
abstract class andAiomqttConnector
implementation IdManager
for efficient management of subscription identifiers- New properties classes for MQTT v5 properties and
RetainHandling
enum ResponseContext
for handling request-response patterns- Support for custom encoders/decoders and new serialization formats
- New examples demonstrating enhanced functionality
Changed
- Refactored
FastMQTT
class to use new connector architecture - Improved subscription management with
SubscriptionManager
- Enhanced message handling with
MessageHandler
- Updated
MQTTRouter
for better routing capabilities - Updated
aiomqtt
dependency to version 2.3.0
Removed
- Dependency on
libcst
- Removed
black
from development dependencies
Internal Changes
- Reorganized project structure
- Updated Ruff configuration for linting
Upgrading
When upgrading to FastMQTT 0.2.0, please note:
- Ensure your environment meets the Python 3.10 minimum requirement.
- Review the new
FastMQTT
class constructor parameters and update your initialization code. - Update your code to handle
SubscriptionWithId
objects returned by subscription methods. - If you were directly interacting with the MQTT client, update your code to work with the new connector-based architecture.
For detailed examples of the new features, refer to the updated examples in the example/
directory. We appreciate your continued support and feedback. If you encounter any issues or have suggestions, please open an issue on our GitHub repository.
Happy coding with FastMQTT 0.2.0!
Full Changelog: 0.1.5...v0.2.0