3.0.0 (2026-03-06)
⚠ BREAKING CHANGES
- ocpp: AuthCache interface methods (get, set, remove, clear, getStats) are now synchronous. OCPPAuthService.clearCache() and invalidateCache() return void instead of Promise.
🐞 Bug Fixes
- charging-station: audit fixes — error handling, OCPP conformance, DRY, type safety (4aad1da)
- correct @mikro-orm/sqlite import to @mikro-orm/better-sqlite, format ElectricUtils tests (6f8f3c3)
- deps: update all non-major dependencies (#1695) (0696d07)
- deps: update all non-major dependencies (#1702) (a683783)
- deps: update dependency tar to ^7.5.10 (#1700) (65b997e)
- ocpp2: check all idle conditions for OnIdle Reset per Errata 2.14 (72975d3)
- ocpp: auth cache spec compliance (R0–R17) (#1699) (a68050a)
- ocpp: remove invalid additionalProperties/additionalItems from OCPP 1.6 and 2.0 JSON schemas (55468f6)
- performance-storage: make MikroORM integration work (#1701) (86668b5)
- quote test glob so /bin/sh delegates to Node (94d61ff)
- remove accidentally committed mikro-orm.config.ts (gitignored local config) (a853abf)
- test-isolation: make OCPP20VariableManager tests self-contained (4135954)
- test-isolation: move mock creation to beforeEach in CableFirst test (5df3524)
- test-isolation: move mock instances to beforeEach in OCPP 2.0 tests (9c2a803)
- test-isolation: replace mock.reset() with mock.restoreAll() in auth tests (454427f)
- test-type-safety: remove unsafe type casts and add factory helper (3d2431e)
- test: investigate Windows CI hang (#1694) (af75694)
- test: remove redundant nested afterEach in Reset test causing Windows hang (019e3a2)
- test: remove redundant standardCleanup() from nested afterEach (cee36fe)
- tests: achieve zero lint errors (7d87a34)
- tests: add afterEach cleanup to RemoteStartAuth test (024e8b4)
- tests: add missing @file headers and standardCleanup() (c5d29bd)
- tests: add missing getEvseStatus method and harmonize mock factory types (af9e344)
- tests: address audit findings — assertion consistency, JSDoc, DRY, try/finally (f5e3826)
- tests: align mock delete/stop signatures with async ChargingStation interface (56ea3eb)
- tests: bind method reference in ClearCache test (efeb465)
- tests: cleanup ALL private intervals in cleanupChargingStation (80d452c)
- tests: ensure proper test isolation and cleanup (7bd7342)
- tests: fix Windows CI - separate type vs value imports correctly (62d8cd5)
- tests: fix Windows CI failures - separate value imports from type imports (a52cf51)
- tests: fix Windows CI failures - type import and test assertion (cd516fd)
- tests: fix wrong constant name imports in GetVariables and SetVariables tests (10e8426)
- tests: make auth integration tests deterministic (64385f7)
- tests: move ocppVersion inside stationInfo in auth mock factory (ad1826d)
- tests: prevent Windows CI hang by moving timer reset to test that enables it (d467fe1)
- tests: remove non-null assertions in InstallCertificate test (a7ad798)
- tests: remove standardCleanup from SetVariables test to fix Windows hang (cabf95a)
- tests: remove unused mock imports after cleanup refactor (98647fa)
- tests: rename test cases to 'should [verb]' convention (e523ff4)
- tests: resolve all ESLint errors in factory consolidation (4024bd2)
- tests: restore ping() method and cleanup wsPingSetInterval (df60b61)
- tests: restore standardCleanup in SetVariables test (543ad73)
- tests: separate type import for Windows ESM compatibility (f3dd410)
- tests: use import type for type-only imports in ESM (ea0a8aa)
- tests: use inline type exports to fix Windows ESM compatibility (3416cd2)
- test: use fake timers to prevent Reset test hangs on Windows (3cc3280)
✨ Polish
- extract EVSE/reservation helpers, reduce duplication (63dd1f6)
- ocpp2: OCPP 2.0.1 audit fixes — spec compliance, type safety, test coverage (#1697) (26c08ac)
- ocpp2: remove duplicate EVSE transaction check, use helper (c0491af)
- ocpp: move ClearCache handler to OCPP 1.6 service (fe8423d)
- restore initial mock reset code (505955e)
- test: audit-driven test quality improvements (03ca39b)
- test: consolidate certificate constants and factory functions (e205c6d)
- test: consolidate MockChargingStation type and clean Reset tests (66f2dca)
- test: harmonize mockStation naming across all test files (1ffd9d1)
- test: harmonize test file headers and fix async patterns (23fe971)
- test: remove duplicate MockChargingStation interface from MockFactories (33e4c6d)
- test: remove duplicate test coverage in error test files (9d923d5)
- test: remove implementation history from comments (a5e4b79)
- test: remove local certificate aliases, use consolidated constants directly (efc1563)
- test: remove more implementation history from comments (6a1c87c)
- test: remove unnecessary comments from Reset tests (d87b87b)
- tests: add mock factories to eliminate test duplication (2845ec5)
- tests: add shared test helpers and fixtures for DRY compliance (950460d)
- tests: add testable interface to eliminate eslint-disable comments (00051db)
- tests: cleanup unused exports and consolidate testable classes (4d6442e)
- tests: consolidate duplicate mock factories (563a87b)
- tests: consolidate duplicate test constants (b17f81f)
- tests: consolidate mock station creation utilities (f623219)
- tests: consolidate MockUIService classes and remove redundant subclass (838a2ca)
- tests: delete deprecated ChargingStationFactory and fix remaining imports (d6c6fcf)
- tests: extend MockChargingStationOptions with all factory options (5b15338)
- tests: fix TypeScript errors in auth and variable manager tests (2ac610b)
- tests: harmonize test naming and consolidate utilities (f5bfca6)
- tests: harmonize test suite structure and eliminate duplication (9029501)
- tests: improve test isolation and remove dead code (cac380f)
- tests: migrate all test files to createMockChargingStation (83da32a)
- tests: migrate OCPP20TestUtils to createMockChargingStation (900dccd)
- tests: modularize ChargingStationTestUtils (bcaca7f)
- tests: move mock creation from it() to beforeEach() (1a91a64)
- tests: named cosPhi constants, accurate mock call types, remove cast workarounds (97d522e)
- tests: reduce eslint-disable comments with proper typing (7cd70f3)
- tests: remove aliases, extract time constants, fix naming and lint issues (7ffcb51)
- tests: remove deprecated code and backward compatibility (fda8a4e)
- tests: remove deprecated identifier factories (feb28b4)
- tests: remove eslint-disable and fix type safety issues (7513f63)
- tests: remove file-level eslint-disable and fix as any casts (b634232)
- tests: remove unused constants and add missing JSDoc (4b1e89c)
- tests: rename createRealChargingStation to createMockChargingStation (11b065b)
- tests: restructure TEST_STYLE_GUIDE and use centralized constants (b12eb5b)
- tests: split ChargingStation.test.ts into domain files (14c732a)
- tests: standardize cleanup and strict equality (4ddc77f)
- tests: standardize test naming to BDD style (e8afacd)
- tests: use TEST_CHARGING_STATION_BASE_NAME constant consistently (7776a71)
- tests: use testable interfaces in OCPP 2.0 tests (Wave 2) (2491596)
- utils: audit fixes — dedup, data-driven config, lazy logger, DRY (77e325b)
🧪 Tests
- add afterEach cleanup to all test files (c1b95df)
- add AutomaticTransactionGenerator tests (452319c)
- add Configuration utility tests (f74a109)
- add IdTagsCache tests (b5798ea)
- add SharedLRUCache tests (5abd5a4)
- add standardCleanup() and fix import ordering in test files (f3b4cd5)
- charging-station: add Heartbeat/Ping and Error Recovery tests (c09024f)
- charging-station: add lifecycle and connector/EVSE state tests (Wave 2) (291f905)
- charging-station: add lifecycle prototype test to validate mocking strategy (74747d1)
- charging-station: add message buffering, reservation tests and OCPP spec reference (d67cad2)
- charging-station: add Transaction Management tests (62d2938)
- charging-station: add WebSocket Message Handling tests (7fb86b8)
- charging-station: complete Wave 2 - boot notification and configuration tests (4b68d5e)
- charging-station: fix template literal lint errors in buffer tests (2b95898)
- harmonize test names and add mock factories (f146ae6)
- improve test suite quality and add lifecycle helpers (0610e9e)
- ocpp2.0: add BootNotification response handler tests (07ae446)
- ocpp2.0: add Heartbeat, NotifyReport, StatusNotification response tests (458423e)
- ocpp2: dichotomous search - skip Reset test instead of SetVariables (76ecdb7)
- ocpp2: skip OCPP20CertificateManager tests on Windows (33a4ab0)
- ocpp2: skip only SetVariables on Windows (identified via CI logs) (2f8841d)
- ocpp2: skip SignCertificate tests on Windows (generateKeyPairSync hangs) (d2eeb1d)
- ocpp: add B02/B03 boot notification behavior and E02 Cable-First transaction tests (f120a65)
- ocpp: add cleanup for certificate manager tests (e45bc36)
- ocpp: add E03 IdToken-First pre-authorization transaction tests (60bf8d9)
- ocpp: add OCPPServiceUtils authorization wrapper tests (d9187e7)
- ocpp: add OCPPServiceUtils command support validation tests (58be9c7)
- ocpp: add OCPPServiceUtils connector status management tests (573523b)
- ocpp: add OCPPServiceUtils pure function tests (e6d9435)
- report coverage only in test:coverage script (ed2f4fd)
- utils: add exponentialDelay backoff algorithm tests (ec00906)
- utils: audit — overhaul existing, add 3 new test files, data-driven coverage (9265dcf)
📚 Documentation
- reference TEST_STYLE_GUIDE.md in AI agent instructions (28d0ad5)
- tests: add file-level JSDoc to test files (1869280)
- tests: add missing JSDoc param descriptions and returns (508a46f)
- tests: add test style guide (364b901)
- tests: comprehensive OCPP spec requirements reference (105 FR IDs) (1e2a1c2)
- tests: document timer mock pattern for test reuse (e08c851)
- tests: enhance TEST_STYLE_GUIDE with async patterns and best practices (a7aea7c)
- tests: fix TEST_STYLE_GUIDE to match actual codebase (4f2c83e)
- tests: update TEST_STYLE_GUIDE to reference new factory (a6a46a4)
- tests: update TEST_STYLE_GUIDE to reflect current utilities (13c6c52)
- update TEST_STYLE_GUIDE with standardCleanup and describe naming conventions (0fddd04)
webui: 3.0.0
3.0.0 (2026-03-06)
🐞 Bug Fixes
- deps: update all non-major dependencies (#1695) (0696d07)
- deps: update all non-major dependencies (#1702) (a683783)
📚 Documentation
- tests: document timer mock pattern for test reuse (e08c851)
ocpp-server: 3.0.0
3.0.0 (2026-03-06)
🧹 Chores
- ocpp-server: Synchronize simulator-ui-ocpp-server versions