Skip to content

New 0.2.0 version

Compare
Choose a tag to compare
@toxazhl toxazhl released this 15 Aug 21:30
· 3 commits to main since this release

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