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

PlugStream Firmware 1.71.1

PlugStream Firmware 1.71.1

1.71.1Stable
Recommended for production deployments.
Tests: passed (1240/1240)Coverage: 78.4%
Firmware
September 27, 2026
Supported devices
#PlugStream 7
#PlugStream 22

PlugStream Firmware 1.71.1

Bug Fixes

  • auth: keep a token's 2.1 type, and never default a session token to Central (ccc4e3e)
  • audit: follow long calls, and audit the WebSocket client task (6099bc3)
  • auth: a pending RemoteStart wins over the auto token in every mode (4013e7a)
  • auth: a reset hold lapses if the reboot never comes (30bf1ad)
  • auth: admit a group's members to a group reservation (de2601c)
  • auth: keep the station's auto token when SendLocalList replaces the list (c34c573)
  • auth: report a session's idToken with the type it was authorised as (0b4436c)
  • evse: a network drop no longer ends a running start-of-session wait (8471d70)
  • evse: Charge now after a stop resumes the open transaction (d66d4ef)
  • evse: EVConnectionTimeOut defaults to 120 s (d931abc)
  • evse: hold authorisation from a reset's end of session until the reboot (15873ca)
  • evse: hold the connector after an unlock only if it released (9a0048f)
  • evse: time out a remote start whose EV never connects, and clear it whole (8dfe3c1)
  • hal: the WiFi scan worker no longer stops the radio from its PSRAM stack (6df2b5c)
  • ocpp16: a CSMS transactionId of -1 is a transaction, not a given-up start (4b18ce3)
  • ocpp16: a failed routing read no longer closes a session that is still charging (c36101a)
  • ocpp16: deliver every transaction record, once, whatever the CSMS answers (1de588f)
  • ocpp16: keep the transaction id of a StartTransaction.conf with no usable status (bddb199)
  • ocpp16: record nothing a given-up start can never send, and drop the rest at once (2cf4f96)
  • ocpp21: apply an AuthorizeResponse to the session it answers (01e50fe)
  • ocpp21: keep 2.1 profiles enforced on older links, and say so (fafbc37)
  • ocpp21: let a dynamic schedule update raise its profile's limit (134a6ab)
  • ocpp21: measure charging-profile offline time on the monotonic clock (1871876)
  • ocpp21: measure transaction limits and session time on one monotonic clock (c4f46fd)
  • ocpp21: only pull dynamic schedule updates on a 2.1 link (1eed514)
  • ocpp: a broken 1.6 store no longer disables the 2.x journal or blocks 1.6 for good (a9a387e)
  • ocpp: a remote start never re-points a running session (b948402)
  • ocpp: a transaction event carried as its frame keeps its place in line (0b3ac3c)
  • ocpp: accept a 1.6 Charge now on a running session, as 2.x does (9581378)
  • ocpp: an exception in a journal divert no longer taints later sends (c1ffc36)
  • ocpp: deliver the transaction events older firmware parked for ever (b07bc4f)
  • ocpp: end transactions with a stoppedReason the schemas define (dfec9b5)
  • ocpp: journal transaction events when they happen, not when sent (8d794e4)
  • ocpp: never spend transaction delivery attempts on a dead link (b9d0971)
  • ocpp: report authorisation and charging-state changes truthfully; end a session before a reset (7976afd)
  • ocpp: report remote starts and stops as RemoteStart and RemoteStop again (b828414)
  • ocpp: report the AuthCtrlr behaviour the station actually has (394901d)
  • ocpp: report this boot's reason only until a CSMS accepts it (7100c50)
  • smartcharging: a CSMS TxDefaultProfile can only lower the UK default in RegulationCompliance (8e1cf0f)
  • smartcharging: an expired profile no longer conflicts with its successor (def362c)
  • smartcharging: apply CSMS TxDefaultProfiles at stack levels the product does not own (3cd7aa6)
  • smartcharging: clear only the purpose asked for in the shared station-limit bucket (75fc6bc)
  • smartcharging: convert watt limits with the phases this station draws on (3f97e44)
  • smartcharging: delete a transaction's TxProfiles when it ends (909d11f)
  • smartcharging: fall through to the next stack level when a profile is not running (86c4e55)
  • smartcharging: hold the SQLite gate across charging-profile transactions (0ff0770)
  • smartcharging: include the station's own ceiling in GetCompositeSchedule (8cbc042)
  • smartcharging: keep a station-wide TxDefaultProfile at evseId 0 (2df0d70)
  • smartcharging: let an accepted Charge Now start the session it was sent into (24c0082)
  • smartcharging: re-evaluate the start-of-session profile wait while waiting (d90203e)
  • smartcharging: stop accepting profiles the station would mis-apply (fc8952d)
  • system-monitor: websocket_task's stack is in PSRAM (e14ce95)
  • websocket: a deliberate client teardown takes the link down (0f21746)
  • websocket: divert to the journal under the queue-ops lock, not across flash (a61adea)
  • websocket: keep command replies across a reconnect to the same CSMS (7b15dfc)
  • websocket: keep failover usable and register with each new CSMS (c287db1)
  • ocpp16: count an unanswered transaction record, and return one the queue drops (a397032)
  • ocpp16: name the session in readiness by the id the CSMS stops it by (6eeb08b)
  • ocpp21: report a transactionLimit stop as the limit, and end it with the limit's reason (c820fa7)
  • ocpp21: resume a transaction when the CSMS raises the limit that suspended it (e2a9968)
  • smartcharging: never report an expired charging profile (08f2baf)
  • websocket: answer a CSMS CALL only on the CSMS that sent it (8ae0ab9)
  • websocket: hold the station's own messages at the Pending gate (def20ee)
  • smartcharging: apply the UK default in SmartCharging until a managed plan is valid (38a92d0)

Features

  • ocpp16: expose the charging mode as the ChargingMode configuration key (b276426)
  • ocpp: accept the CSMS's rotated claim code (SetClaimCredentials) (a4c13c7)