Skip to content

v3.2.19

Choose a tag to compare

@botts7 botts7 released this 12 Sep 05:15
· 9 commits to main since this release

Fixed

  • BLE response parser could grow its buffer without bound after a framing desync, exhausting internal heap. The parser appends every received byte and only completes (and clears) when the JSON brace depth returns to 0. A single stray or dropped byte on a marginal link (a leading }, or an unbalanced ") permanently desynced it, so every subsequent byte accumulated until the next command reset. On the Pulsar Plus / Copper / Quasar (BGX13P) path, where responses stream as asynchronous notifications, this could run internal heap down until new connections couldn't be allocated and /api/status stalled for several seconds (entities flapping to unavailable, roughly every 15 minutes). The parser now caps the buffer at 16 KB and resyncs from the next object start, and resets if brace depth goes negative. Applies to all charger models (one shared parser); the Plus family was the most exposed. Well-formed single- and multi-packet responses are unaffected.

If your charger entities flap to unavailable on a regular interval, especially on a Pulsar Plus, update to this release.