Skip to content

Releases: toxazhl/fastmqtt

v0.2.1

16 Aug 07:02
Compare
Choose a tag to compare

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 in FastMQTT class to check if the client has been started
  • New property is_connected in FastMQTT 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

15 Aug 21:30
Compare
Choose a tag to compare

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 and AiomqttConnector 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:

  1. Ensure your environment meets the Python 3.10 minimum requirement.
  2. Review the new FastMQTT class constructor parameters and update your initialization code.
  3. Update your code to handle SubscriptionWithId objects returned by subscription methods.
  4. 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

20 May 11:16
Compare
Choose a tag to compare
  • fix black config
  • update dependencies

Fix errors

26 Mar 08:28
Compare
Choose a tag to compare

Fix errors

Fix response timeout

14 Mar 15:16
Compare
Choose a tag to compare
Fix response timeout Pre-release
Pre-release

Fix response timeout

Data passing, payload parsing

14 Mar 05:32
Compare
Choose a tag to compare
Pre-release

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.

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.
  • 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

13 Mar 17:08
Compare
Choose a tag to compare
Pre-release

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.