Skip to content

v2.10.0

Choose a tag to compare

@danielcherubini danielcherubini released this 30 Jun 07:11

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-paramset_light_status() now sends both brightness and power fields 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:

Previous Releases

See v2.9.0 for earlier changes.