Releases
simulator@v4.11.0
Compare
Sorry, something went wrong.
No results found
4.11.0 (2026-07-27)
π Features
meter-values: coherent MeterValues generator (issue #40 ) (#1935 ) (b907992 )
meter-values: evse-level MeterValues template fallback in coherent path (issue #1936 g) (#1944 ) (a0cdcfc )
meter-values: honor RegisterValuesWithoutPhases in coherent path (issue #1936 k) (#1942 ) (2cbd92d )
ocpp16: wire signed meter values into trigger + broadcast paths (issue #1936 d) (#1945 ) (4b421f2 )
ui-server: add opt-in HSTS response header (#1980 ) (#2039 ) (74fae39 )
worker: terminate a deleted station's worker once it hosts zero elements (#2027 ) (#2038 ) (75897eb )
π Bug Fixes
atg: invalidate configurationValidationResult on ChargingStationEvents.updated (#1977 ) (56479e4 )
charging-station: cancel a pending reset when the station is deleted (#2027 ) (#2031 ) (2b48cf8 )
charging-station: re-dial after a server-initiated connection close (#2021 ) (6f7bcb6 )
charging-station: retain creation options so a reset keeps station identity (#2019 ) (723aab3 )
deps: update all non-major dependencies (#1933 ) (f50a68e )
deps: update all non-major dependencies (#1996 ) (9b1b8e8 )
deps: update all non-major dependencies (#2007 ) (1703e73 )
deps: update all non-major dependencies (#2030 ) (1945ea3 )
deps: update all non-major dependencies (#2034 ) (ee3db96 )
deps: update all non-major dependencies (#2042 ) (f08aae5 )
deps: update all non-major dependencies (#2045 ) (250e359 )
meter-values: physics refinements - 3-phase-only L-L voltage guard + energyRegisterWh docstring (issue #1936 h) (#1941 ) (c471bd9 )
ocpp20: trigger meterValues path emits MeterValuesRequest per F06.FR.06 (issue #1936 j) (#1943 ) (66890b0 )
ocpp: cancel deferred OCPP 1.6 firmware setTimeout on stop() (#1984 ) (2e69125 ), closes #1972
ocpp: cross-check OCPP 1.6 lifecycle flags in trigger, re-entry, and simulation entry (#1987 ) (0ed90b1 ), closes #1973
ocpp: drive FirmwareStatusNotification trigger from last-sent notification (L01.FR.26) (#1981 ) (e406ab2 ), closes #1979
ocpp: from-zero audit β Critical + High spec conformance and safety fixes (#1961 ) (6da3e6f )
ocpp: guard OCPP 1.6 UpdateFirmware deferred-timer schedule against sealed state writes (#1994 ) (247fef2 )
ocpp: guard post-stop() handler dispatch against WeakMap resurrection (#1992 ) (4fce19a )
ocpp: implement OCPP 1.6 GetDiagnostics supersession via AbortController (#1991 ) (4d1d2d8 )
ocpp: reject charging profiles by EVSE existence and isolate non-persistent station configuration (#2022 , #2024 ) (#2025 ) (aba5375 )
ocpp: reset stationInfo.firmwareStatus on abort/exception in simulateFirmwareUpdateLifecycle (#1976 ) (4f959e9 ), closes #1969
ocpp: support TriggerMessage(TransactionEvent) per F06.FR.07 (#2013 ) (22dcb31 ), closes #2012
ui-server: dedup duplicate station identity on add (#2026 ) (#2032 ) (44c2a0a )
ui-server: defer HTTP broadcast responses until worker replies aggregate (#2028 ) (#2037 ) (d8fb33b )
ui-server: make UI broadcast-channel commands complete reliably (#2018 ) (#2020 ) (6119452 )
ui-server: reconcile evses wire type so /metrics works on OCPP 2.0.x (#2048 ) (afdf433 )
ui-server: reject reused in-flight WebSocket request ids (#2029 ) (#2033 ) (de0e86f )
utils: clamp computeExponentialBackOffDelay output to setTimeout-safe range (#1951 ) (a91880a )
β¨ Polish
audit backlog cleanup β JSDoc gaps, physics warning, ATG robustness, comment sweep (#1962 ) (040ddb3 )
audit-driven cleanup β OCPP conformance fixes, physics, harmonization (#1960 ) (f8d8e03 )
audit-driven cleanup (OCPP 2.0 spec conformance + 5 low-risk refactors) (#1959 ) (22cb25f )
charging-station,meter-values: close #1936 (M-08 + f-2..f-5 + M-09) (#1949 ) (9c8261e )
charging-station: extract reservation helpers from Helpers.ts (issue #1936 f Phase 1) (#1946 ) (f03e7f3 )
close barrel gaps for ui-server, broadcast-channel, DEFAULT_PERSIST_STATE (#1952 ) (a7a3ee2 )
code-quality cleanup β utils usage, logic consolidation, export hygiene (#2036 ) (2bee489 )
complete barrel-gap scope β extract host-parsing utilities and expose AbstractUIServer (daad8a9 )
complete barrel-gap scope β extract host-parsing utilities and expose AbstractUIServer (#1954 ) (daad8a9 )
convention alignment β helpers, constants, imports, tests (#1950 ) (0b0352f )
convention alignment round 2 β canonical defaults, helpers, dead exports, tests (#1956 ) (e0a50c5 )
meter-values: extract CoherentMeterValuesManager, shrink ICoherentContext, split OCPP16 begin helper (issue #1936 items a, b, e) (#1937 ) (1986b39 )
meter-values: rename Prng.ts to PRNG.ts (issue #1936 c) (#1940 ) (11cc0a3 )
meter-values: split CoherentMeterValuesGenerator into three modules (issue #1936 item i) (#1938 ) (53b747b )
migrate external deep imports to ui-server and broadcast-channel barrels (#1953 ) (b4b5a5e )
ocpp20: rewrite H9/H10/H11 + C10/C12 audit markers as descriptive comments (issue #1936 l) (#1939 ) (a68ca80 )
ocpp: extract per-station state plumbing into shared OCPPIncomingRequestService base (#1983 ) (0fff8b2 )
ocpp: remove as-unknown-as double-casts from request/response dispatch (#2003 ) (4dd00ce ), closes #1968
ocpp: use iterateConnectors() in OCPP 1.6 incoming request service (#2015 ) (27093f1 ), closes #2014
utils: swap getRandomFloat(Rounded) params to (min, max) for consistency (#1998 ) (bc003cc ), closes #1967
π§ͺ Tests
ocpp-server: add OCPP 1.6 mock server and extend reservation coverage (#2047 ) (82ae6d1 )
ocpp: cover OCPP 2.0.1 log/firmware lifecycle supersession and cleanup paths (#1997 ) (aa8e402 )
use shared constants and enums instead of hardcoded literals (#2040 ) (503d71c )
You canβt perform that action at this time.