What's New1.6.4 - Subscription API – 1.6.4

PlugStream Change Logs

PlugStream is continuously updated to improve reliability, security, and user experience. This page provides a transparent record of every software and firmware release, including what changed and why it matters.

Latest

Firmware API 1.19.1

Firmware API – 1.19.1

1.19.1
Tests: passed (642/642)Coverage: 82.4%
Service
October 26, 2026
Tags
#firmware-api

Firmware API – 1.19.1

1.19.1 (2026-10-26)

Bug Fixes

  • admin: a distribution never resurrects a withdrawn version (FINDINGS #4) (35f2c29)
  • catalog: a device-api that never answers no longer hangs the sync (FINDINGS #23) (e435552)
  • catalog: an older catalog entry never reverts a model's pin (FINDINGS #17) (083c40c)
  • cohort-preview: a charger named by its device id is counted (FINDINGS #20) (5168abc)
  • cohort-preview: a member that left the tenant is not counted (FINDINGS #19) (3bdc376)
  • cohort-preview: the platform preview counts what a platform rollout enrols (FINDINGS #25) (c806293), closes #19
  • cohort-preview: the preview counts only the rollout's product (FINDINGS #21) (d13ae7e)
  • compat: latest global reports the newest servable release (FINDINGS #29) (cc33d2a)
  • db: the database password never reaches the logs (FINDINGS #38) (2a3c1b3)
  • direct-updates: a direct update racing a withdrawal never sends the withdrawn image (FINDINGS #11) (029b98f)
  • direct-updates: a dotted hardware revision keeps its minor part (FINDINGS #14) (651894d), closes #22 #7
  • direct-updates: a release candidate orders before its release (FINDINGS #22) (9dfb3e7)
  • direct-updates: a version for newer hardware is never sent or recommended to a charger known to be older (FINDINGS #7) [needs sign-off] (52349cb), closes #5 #14
  • downloads: only an approved or released version is linked (FINDINGS #30) (530c765)
  • events: a late OCPP event never moves last-seen back (FINDINGS #24) (b774ca6), closes #17
  • events: never send a withdrawn version to a charger (FINDINGS #1) (ea94790), closes #16
  • groups: a device's groups show only the asking tenant's groups (FINDINGS #8) (deb7406)
  • groups: a duplicate group name is a 409 conflict (FINDINGS #26) (50ba090)
  • groups: a group cannot be renamed to an empty name (FINDINGS #27) (a4b82dd)
  • groups: a group with members can be deleted (FINDINGS #18) (95e8135)
  • groups: a member that left the tenant is not counted (FINDINGS #28) (caf4167)
  • manifest: the hardware revision filter compares revisions by number (FINDINGS #13) (02105f9)
  • openapi: documented operations resolve to served URLs (FINDINGS #39) (d1bda70)
  • rabbit: the logged broker URL masks a password holding : (FINDINGS #37) (dc8027a)
  • releases: a release never resurrects a withdrawn version (FINDINGS #3) (6fbe7de)
  • rollouts: a device retry reaches only an enrolled charger whose update failed (FINDINGS #9) (122b7dc)
  • rollouts: a page of a rollout's devices far past the end is empty, not a panic (FINDINGS #40) (9d889ed), closes #33 #33 #33
  • rollouts: a page of rollouts far past the end is empty, not a panic (FINDINGS #33) (e35631e)
  • rollouts: a tenant's channel policy is read and enforced (FINDINGS #15) (f4ae00e)
  • rollouts: an approval enrols only the hardware, model and tags the rollout asks for (FINDINGS #6) [needs sign-off] (d1b4ad7), closes #5 #5 #5 #5
  • rollouts: an approval never enrols hardware known to be older than the image needs (FINDINGS #5) [needs sign-off] (109a005), closes #13 #14
  • rollouts: an approval never sends firmware withdrawn since the request (FINDINGS #2) (233ad65)
  • storage: head_object reports a missing object as absent (FINDINGS #36) (a2fe708)
  • update-attempts: a page far past the end of the attempts listing is an empty page (FINDINGS #31) (f2e8cd2)
  • update-attempts: a repeated allow keeps the progress a device shows (FINDINGS #16) (d0cec07)
  • update-attempts: a report moves only its own tenant's and charger's direct update (FINDINGS #32) (8ac4108)
  • update-attempts: a report or sweep never undoes a close committed meanwhile (FINDINGS #10) (5c227bb)
  • versions: minHwRev: null resets the minimum to "0" (FINDINGS #34) (93ce6b9)
  • versions: a failed approval removes its approved/ copy (FINDINGS #35) (2919776), closes #12
  • versions: a page far past the end of the version list is empty (FINDINGS #33) (92b7592)
  • versions: an approval's checked copy survives a concurrent attempt (FINDINGS #12) (1b2ff5e), closes #35

Performance & SLO

SLO Targets:
P95 < 200msP99 < 500msAvailability > 99.5%
Latest (Last 7 Days):
P95: 29.1ms ✅P99: 56.8ms ✅Availability: 100.00% ✅
Worst (Last 7 Days):
P95: 29.1ms ✅P99: 56.8ms ✅Availability: 100.00% ✅
Loading performance data...
Performance Tests:
Passedstaging test
10/30/2026
P95: 29.1msP99: 56.8msHTTP errors: 0.00%Availability: 100.00%101,184 requests
HTTP statuses: 200: 101,184
Passedstaging test
10/27/2026
P95: 15.7msP99: 46.4msHTTP errors: 0.00%Availability: 100.00%102,133 requests
HTTP statuses: 200: 102,133