Releases: toxazhl/fastmqtt
v0.2.1
FastMQTT 0.2.1 Release Notes
We're pleased to announce the release of FastMQTT 0.2.1. This minor update introduces two new properties to improve connection status tracking.
Changes
Added
- New property
is_started
inFastMQTT
class to check if the client has been started - New property
is_connected
inFastMQTT
class to check the current connection status
This release maintains compatibility with Python 3.10 and above, as established in the previous 0.2.0 release.
We appreciate your feedback. If you encounter any issues or have suggestions, please open an issue on our GitHub repository.
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
0.1.5
Fix errors
Fix errors
Fix response timeout
Fix response timeout
Data passing, payload parsing
Changelog
New Features
- Custom Data Sharing
- Attach custom data to messages within
FastMQTT
instances using the dictionary-like interface (fastmqtt["database"] = "my_database"
). - Enrich message context and make your applications more flexible.
- Attach custom data to messages within
Improvements
- Enhanced Message Handling
- Streamlined message handling logic for efficiency and clarity.
- Expanded Routing
- Include
MQTTRouter
instances within other routers to create more complex and modular MQTT routing structures.
- Include
- New Message and Payload implemitations
- More convenient payload parsing.
Examples
basic.py
: Demonstrates core FastMQTT usage, including message publishing and subscription.request_response.py
: Showcases the new request/response feature.passing_data.py
: Illustrates how to share custom data with message handlers.
Notes
- Contributions welcome! We encourage you to submit issues for bugs or feature requests and contribute directly with pull requests.
Let me know if you'd like any refinements or want to highlight specific changes!
FastMQTT: Advanced MQTT Made Easy
Take your MQTT projects to the next level with FastMQTT. This feature-rich library offers advanced subscription management, robust message routing, and a powerful request-response mechanism. Built on top of aiomqtt for reliability.