github MTrab/pyworxcloud v6.0.0

one day ago

⚠️ Breaking Release: Async-first refactor and protocol hardening

This release is a major internal refactor focused on long-term stability, reduced ban risk, and improved data quality across HTTP/MQTT flows.

Highlights

  • Full async-first architecture with aiohttp transport
  • Hardened MQTT command lifecycle (serialization, timeout handling, safer shutdown)
  • Improved auth/session handling and disconnect behavior
  • Better fixture-driven validation and significantly expanded automated test coverage
  • Improved device and schedule payload mapping quality

Breaking Changes

  • Synchronous WorxCloud context manager usage is deprecated
    (migrate to async lifecycle usage)
  • Internal command/session behavior changed due to stricter lifecycle and timeout handling
  • Refactored event/callback flow may affect integrations relying on previous callback semantics

Migration Notes

  • Prefer async initialization and teardown patterns
  • Review command helper usage and validate inputs explicitly
  • Check custom callback handlers for async compatibility
  • See migration and cheat sheet docs added in this release for examples

Features & Improvements

  • Refactoring baseline and architecture hardening (#293, #318)
  • Stabilized disconnect lifecycle and token error propagation (#294)
  • HTTP retry improvements and reduced product lookup calls (#295)
  • MQTT command serialization and enforced response timeout (#296)
  • EventHandler callback isolation per instance (#303)
  • HTTP session reuse in API request flow (#306)
  • Improved MQTT timeout diagnostics and metadata logging (#308, #321)
  • Improved device payload mapping and schedule mapping refactors (#310, #311, #312, #313)
  • Optional in-flight command deduplication (#324)
  • Async callback support in event dispatch (#323)
  • Interactive live test dashboards (terminal + Windows GUI) (#327, #328)

Bug Fixes

  • AWS CRT resources are now cleaned up correctly on MQTT disconnect (#307)
  • API event callback payload handling fixed (#305)

Testing & Quality

  • Introduced pytest foundation, fixtures, and CI workflow (#297)
  • Added auth/lifecycle unit tests (#301)
  • Added fixture-driven device decode tests (#302)
  • Added MQTT command flow safety tests (#304)
  • Added async context manager lifecycle coverage (#320)

Maintenance

  • Added stale issue/PR workflow automation (#298)
  • Updated AGENTS branch/PR workflow rules (#316)
  • Removed unused debug artifacts/imports (#326)
  • Added changelog + migration docs and async cheat sheet (#299, #325)

Dependencies

  • awsiotsdk bumped from 1.24.01.28.0 (#292)
  • awsiotsdk bumped from 1.28.01.28.1 (#314)

Say thanks

Buy Me A Coffee

Don't miss a new pyworxcloud release

NewReleases is sending notifications on new releases.