2.2.0 (2026-01-08)
π Features
- ocpp20: add SetVariables handling with runtime + persistent var⦠(#1576) (c3d9640)
- ocpp2: add GetVariables command support (#1568) (18de0ff)
- ocpp2: add RequestStartTransaction command (#1583) (e5f4eca)
- ocpp2: add RequestStopTransaction command (8eb9f22)
- ocpp2: add RequestStopTransaction command (#1587) (8bc61e5)
- ocpp2: add Reset command support (0bf08c5), closes #39
- ocpp2: implement GetBaseReport and NotifyReport commands (#1556) (b892fed)
π Bug Fixes
- avoid circular module dependency (e799b4f)
- avoid to leak handlers in UI server (ee85388)
- deps: update all non-major dependencies (dbe1258)
- deps: update all non-major dependencies (cbc87b8)
- deps: update all non-major dependencies (11d2eb1)
- deps: update all non-major dependencies (cb73ee4)
- deps: update all non-major dependencies (#1601) (bb5126c)
- deps: update all non-major dependencies (#1614) (37234cd)
- deps: update all non-major dependencies (#1618) (5d5c0c0)
- deps: update all non-major dependencies (#1621) (48126f7)
- deps: update all non-major dependencies (#1622) (e7a1428)
- deps: update all non-major dependencies (#1627) (ed77cd6)
- deps: update all non-major dependencies (#1629) (e2a3122)
- deps: update all non-major dependencies (#1634) (89a1c43)
- ensure portable path handling in configuration tunables (a53c99b)
- ensure simulator is reinit at configuration file change (b7e197f)
- ensure UI server charging station templates cache is populated at (b75c68e)
- ensure UUIDv4 validation is RFC 9562 compliant (426ad30)
- inputs gards logic in percentile() (c9b23f5)
- make NotifyReport OCPP2 spec compliant (805d6e5)
- ocpp20: align TxStartPoint/TxStopPoint defaults and enumerations with OCPP 2.0.1 errata (0a6d389)
- ocpp2: refine variables handling (dbfc0d5)
- ocpp2: reset properly connector at start transaction failure (6fe7210)
- potential event handler leaking (d17dffd)
- properly handle divide by zero in electric utils (6593dcb)
- properly resolve evse id (8ad81d3)
- randomInt() usage and its boundaries (96df231)
β‘ Performance
- emit events only if needed (2593303)
- emit events only if there's listeners (0a20fb2)
- ensure O(n) time for OCPP params ops (b591223)
- missed worket set event emission control (0016bf2)
- speed up simulator startup (218fd55)
β¨ Polish
- add helper to lookup evse id (034a75e)
- add UUIDv4 type definition (50d8129)
- align error handling helpers behavior (edcec46)
- align more with specs (44285bd)
- cleanup async lock implementation (2e71940)
- cleanup charging station worker code (6f24be2)
- cleanup eslint-disable (0a11683)
- cleanup logger singleton initialization (3091b21)
- cleanup OCPP2 commands implementation (8605c67)
- cleanup payload validation code (3bc3c82)
- cleanup payload validation code (2569d5d)
- cleanup status notification sending code (a4ffb30)
- cleanup up internal messaging code (776d723)
- cleanups OCPP2 types (374ef8f)
- consistent error handling helpers API (4651dfb)
- constify some emums (af6e8b9)
- factor out meter values generation code (#1585) (8cd0439)
- factor out OCPP2 MeterValues types definition (a830001)
- factor out worket set event emission (38e8655)
- improve stats utils input guards (5730fa0)
- improve ui service logging (d19a001)
- improve UI services basic authentication handling (32d5dd7)
- make worker set code more robust (2a8ae9d)
- ocpp2: introduce measurand enum and use it (c55bdea)
- refine error message (da51e30)
- rename variable according to its semantic (55871a4)
- reorder worker set event emission (e84b76c)
π§ͺ Tests
- align sleep related tests (9ddd440)
- fix OCPP 2 CS template expectations (32704fb)
- fix randomint() usage (399336d)
- fix tests (8e8c0ed)
- improve charging station mock tests (8e5553b)
- improve validateUUID (5c4c770)
- ocpp20: add GetVariables list defaults coverage and update registry enumerations (5c93607)
- ocpp20: add read-only FileTransferProtocols regression test (67a5d3f)
- ocpp20: fix invalid list formats test for read-only FileTransferProtocols (7898c17)
- remove glob usage (63d7181)
π Documentation
- fix ToC indentation (a32f5c5)
- README.md: update to reflect OCPP2 status (7ad9145)
- refine READMEs (f5e46a7)
π€ Automation
- deps-dev: bump @cspell/eslint-plugin from 9.2.1 to 9.2.2 in the regular group (#1569) (e4a79a4)
- deps-dev: bump @types/node from 24.8.0 to 24.8.1 in the regular group (#1564) (fadd932)
- deps-dev: bump @types/node in the regular group (#1515) (ec8bf7f)
- deps-dev: bump @vitest/coverage-v8 from 3.2.4 to 4.0.1 (e778f39)
- deps-dev: bump esbuild from 0.25.8 to 0.25.9 in the regular group (#1496) (f735eb6)
- deps-dev: bump esbuild in the regular group (#1593) (ebba170)
- deps-dev: bump eslint-plugin-jsdoc from 52.0.4 to 53.0.1 (920480a)
- deps-dev: bump eslint-plugin-jsdoc from 53.0.1 to 54.0.0 (#1497) (8489792)
- deps-dev: bump eslint-plugin-jsdoc from 60.8.3 to 61.0.0 (#1554) (2da30a3)
- deps-dev: bump eslint-plugin-jsdoc from 61.1.10 to 61.1.11 in the regular group (4c8f67a)
- deps-dev: bump eslint-plugin-jsdoc in the regular group (277e013)
- deps-dev: bump eslint-plugin-jsdoc in the regular group (#1482) (17c6bdf)
- deps-dev: bump the regular group across 1 directory with 2 updates (#1486) (9bf18e3)
- deps-dev: bump the regular group with 2 updates (7d7ab44)
- deps-dev: bump the regular group with 2 updates (#1477) (9dae2d1)
- deps-dev: bump the regular group with 2 updates (#1516) (1e7de93)
- deps-dev: bump the regular group with 2 updates (#1567) (ada1284)
- deps-dev: bump the regular group with 3 updates (7633284)
- deps-dev: bump the regular group with 3 updates (f96ef18)
- deps-dev: bump the regular group with 3 updates (033d483)
- deps-dev: bump the regular group with 3 updates (#1574) (6ea3bc3)
- deps-dev: bump the regular group with 4 updates (f406612)
- deps-dev: bump the regular group with 4 updates (3967d3d)
- deps-dev: bump the regular group with 4 updates (05371a9)
- deps-dev: bump the regular group with 4 updates (dae6b78)
- deps-dev: bump the regular group with 4 updates (a047288)
- deps-dev: bump the regular group with 6 updates (#1566) (f93f64a)
- deps-dev: bump typescript from 5.9.2 to 5.9.3 in the typescript group (0f252f6)
- deps-dev: bump typescript in the typescript group (c1a6a79)
- deps-dev: bump typescript in the typescript group (#1485) (622f9f6)
- deps-dev: bump vitest from 3.2.4 to 4.0.1 in the vitest group (#1570) (c27e4a4)
- deps: bump actions/checkout from 4 to 5 (#1491) (36f68d8)
- deps: bump actions/setup-node from 4 to 5 (#1513) (7c0e084)
- deps: bump actions/setup-node from 5 to 6 (#1560) (bb292cb)
- deps: bump actions/setup-python from 5 to 6 (#1514) (fd1cd51)
- deps: bump mongodb from 6.20.0 to 7.0.0 (a392435)
- deps: bump mongodb from 6.20.0 to 7.0.0 (b2e0dde)
- deps: bump sonarsource/sonarqube-scan-action from 5.3.0 to 5.3.1 (#1508) (f2e054a)
- deps: bump sonarsource/sonarqube-scan-action from 5.3.1 to 6.0.0 (#1529) (7d51a77)
- deps: bump tar from 7.5.1 to 7.5.2 (9d3bd70)
- deps: bump tar from 7.5.1 to 7.5.2 (c5ce425)
- deps: bump the regular group across 1 directory with 13 updates (811efaa)
- deps: bump the regular group across 1 directory with 5 updates (13b52ea)
- deps: bump the regular group across 1 directory with 5 updates (b1c10b5)
- deps: bump the regular group across 1 directory with 6 updates (#1505) (b3cb334)
- deps: bump the regular group across 1 directory with 7 updates (d6831c1)
- deps: bump the regular group across 1 directory with 7 updates (62eee6e)
- deps: bump the regular group across 1 directory with 7 updates (#1512) (0dbf3ef)
- deps: bump the regular group with 3 updates (#1503) (d57c265)
- deps: bump the regular group with 6 updates (#1507) (d5acbdc)
- deps: bump the regular group with 7 updates (0b14c0b)
- deps: bump the regular group with 7 updates (#1572) (a7c4809)
- deps: bump the regular group with 9 updates (#1594) (8a274b6)