v2.10.0
What's Changed
CC2 Client Hardening
Four improvements to the Elegoo Centauri 2 MQTT client, based on comparison with the OctoEverywhere implementation:
- Light control dual-param —
set_light_status()now sends bothbrightnessandpowerfields for firmware compatibility (some firmware expect one, some the other) - Auth failure detection — Detects MQTT CONNACK rc=4/5 (bad credentials) and skips fallback passwords instead of wasting time retrying
- Connection generation guard — Per-listener generation token prevents stale MQTT callbacks during reconnect, fixing a race where a new listener could overwrite the guard for an older one
- Delayed disconnect — 5-second delay on queue cleanup preserves transient state (e.g. COMPLETE→IDLE transitions) across brief network drops
Bug Fixes
- CC2 discovery timeout — Bounded CC2 discovery in the config flow so non-CC2 printers don't time out during setup
- Stale thumbnail on reprint — Fixed thumbnail not updating when reprinting the same filename with new colors
Testing
- 15 new unit tests across 4 test files
- Full test suite: 284 tests passing
- Lint and format checks clean
Pull Requests
- #385: CC2 client improvements: light control, auth detection, connection guard, delayed disconnect
- #384: Bound CC2 discovery in the config flow so non-CC2 printers don't time it out
- #375: Fix stale thumbnail when reprinting same filename with new colors
Thanks
Huge thanks to everyone who contributed to this release:
- @montoyenn-spec — CC2 discovery timeout fix (#384)
- @lantern-eight — Stale thumbnail fix (#375)
Previous Releases
See v2.9.0 for earlier changes.