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.18.0
Firmware API – 1.18.0
1.18.0
Tests: passed (427/427)Coverage: 75.3%
Service
October 4, 2026
Tags
#firmware-api
Firmware API – 1.18.0
Bug Fixes
auth: apply the API rate limit; it never applied to anything (7a2d6b1)
auth: compare the internal routes' service token in constant time (f36a33e)
auth: only the platform produces firmware, reviewed by someone else (f6d875f)
firmware: a best-effort notification no longer holds up the response (ee35784)
firmware: a device that changes tenant takes none of its old owner's updates (3410b25)
firmware: a report ending the previous tenant's job closes that tenant's attempt (ac019db)
firmware: an eligibility intent whose write fails is not acknowledged (1145067)
firmware: approve the declared bytes, and serve what was approved (6e59df0)
firmware: fw.rollout.updated never undoes the operator's own pause or resume (fa5edf7)
firmware: no download for a removed device or a withdrawn version (0e067ee)
firmware: offer Retry and Remove only where the rollout still allows them (624a3ed)
firmware: order ocpp-core's reports; a late one never moves an attempt back (c4fe598)
firmware: page=0 no longer breaks the rollout and version lists (e3181db)
firmware: published announcements keep no download credential (8651b29)
firmware: tell the orchestrator when an allow request is dropped (08a9f7b)
firmware: refuse to restart a finished rollout or act before approval (7547001)
firmware: stop losing rollout intents and retry allow requests (11d419c)
firmware: stop sending the update to a device in a finished rollout (94d8b2c)
firmware: check, record and announce an allow request in one locked transaction (68b45c4)
firmware: keep a late status report from moving a finished or paused rollout (36b0049)
firmware: never lose a rollout or version approval announcement (6bb3e43)
firmware: retry or park a message the consumer fails to handle, never delete it (8f3329f)
firmware: serialise a device removal with allows and retries of its rollout (809dd93)
firmware: store a direct update and its announcement together (a389f5a)
firmware: give charge points a download URL that lasts until they are reached (6886a9b)
firmware: let a firmware download under way finish when the pod stops (d86a346)
firmware: make a re-approval an idempotent repeat that announces nothing (a1077a3)
firmware: park update-attempt telemetry missing a field at once (d074ebc)
firmware: SignatureVerified is not the end of an update (1e7a4b6)
firmware: stop gracefully on SIGTERM without adding delivery counts (36fa6fa)
firmware: stop the edge probe's own request logging two warnings (b0477a9)
firmware: record the station's OCPP events as evidence, not status (ad9f98c)
Features
firmware: show the station's install and reboot phase again (6650ad9)
firmware: announce device removals through a transactional outbox (2181120)
firmware: give each outbox announcement a stable AMQP message_id (7bdf5b1)
firmware: per-job download links that live and die with the update (46835e8)
firmware: drop the firmware_rollout.webhook column (6688425)