github SAP/e-mobility-charging-stations-simulator simulator@v4.0.0
simulator: v4.0.0

latest releases: v4.12, v4, ocpp-server@v4.12.0...
5 months ago

4.0.0 (2026-03-28)

⚠ BREAKING CHANGES

  • connectors and evses Maps are now private on ChargingStation. Use iterateConnectors(), iterateEvses(), hasEvse(), getEvseStatus(), getConnectorStatus() instead of direct Map access.

🚀 Features

  • enrich OCPP 2.0 template with OCPP 1.6 equivalent config keys (a2fc938)
  • implement TxEnded meter value accumulator per OCPP 2.0.1 spec §2.1 (4ca2e99)
  • log once per key when OCPP 1.6 configuration key is remapped to OCPP 2.0 variable (d2ee9aa)
  • resolve OCPP 1.6 configuration keys to OCPP 2.0 equivalents transparently (66b8ba4)
  • support configurable measurands per transaction stage in OCPP 2.0 (3196f5d)

🐞 Bug Fixes

  • align ConnectionTimeOut semantics with OCPP spec (97cb0e1)
  • align OCPP 2.0 variable names to spec (LocalPreAuthorization, LocalAuthorizationOffline) (405ad5f)
  • correct WebSocketPingInterval documentation and registry default (06f62f7)
  • deps: add security overrides for brace-expansion, picomatch, smol-toml (816ea7a)
  • deps: update all non-major dependencies (#1759) (5a31d2b)
  • docs: use bold instead of italic for vendor-specific markers to avoid underscore conflicts (d7c72e2)
  • map WebSocketPingInterval to OCPPCommCtrlr per OCPP 2.0.1 spec (12650b2)
  • remove OrganizationName from ISO15118Ctrlr (spec says SecurityCtrlr only) (f1107d5)
  • replace incorrect zero fallbacks for maximumPower and maximumAmperage (e5f8aed)
  • type buildRejected reasonCode as ReasonCodeEnumType instead of string (ae9f9cd)
  • use case-insensitive boolean parsing for OCPP configuration values (bae2346)
  • use Component.Variable[.Instance] key format for OCPP 2.0 variable persistence (f7e682f)
  • use OCPP version-specific parameter keys for meter value measurands (5723899)

✨ Polish

  • accept enum types in registry/manager signatures, remove 429 redundant as-string casts (436d8ef)
  • add Enabled to OCPP20RequiredVariableName enum and fix LocalAuthListCtrlr.Enabled mapping (e0617e0)
  • add SimulateSignatureVerificationFailure to OCPP20VendorVariableName enum (15ab6c8)
  • align intermediate variable naming with codebase conventions (ebe64c9)
  • align variable naming and remove non-null assertions in tests and UI (75cb24c)
  • centralize handler type bridges in OCPP base classes (5bd5b13)
  • consolidate enforceMessageLimits types with generic R and RejectionReason (e6bc461)
  • deduplicate imports (c5545f1)
  • eliminate all non-null assertion suppressions with proper null guards (5959eb2)
  • eliminate explicit any from once() and toHandler() with proper generics (0d41439)
  • encapsulate connector/EVSE iteration behind generator API (404ba5d)
  • extract normalized boolean variable in validation checks (16679b7)
  • harmonize connector iteration to use iterateConnectors() across prod and tests (0375fa4)
  • harmonize errMsg → errorMsg for intra-file naming consistency (e76a841)
  • make eventType required in OCPP20TransactionEventOptions (243cf56)
  • move ConfigurationValueSize, ReportingValueSize, ValueSize to OCPP20OptionalVariableName (1d0814f)
  • move debug param to last position in buildMeterValue (7cd25ce)
  • replace Measurands string literal with OCPP20RequiredVariableName enum (1f2723b)
  • type buildTransactionEvent with OCPP20TransactionEventOptions (b6de95e)
  • type deprecated config key maps with keyof to eliminate 4 casts (29a04ab)
  • use JsonObject and generic OCPPAuthAdapter in auth module (d93b534)
  • use OCPP20MessageFormatEnumType instead of string literal union (5f24ad5)
  • use Number.isNaN() instead of global isNaN() (6a360ba)
  • use OCPP20RequiredVariableName for measurands in OCPP20ServiceUtils (811f142)

🧪 Tests

  • add symmetric Ended meter value tests for start/stop/zero-interval (689e439)
  • add whitespace-padded value coverage for convertToBoolean (7c9443f)
  • isolate readCombinedLog tests from real logs directory (1c52a65)
  • restore and harmonize OCPP 2.0 transaction meter value assertions (ea3eb1e)

📚 Documentation

  • align README OCPP 2.0.1 variable list with code registry (ba64338)
  • list OCPP 2.0 device model variables by component in README (9b3547f)

webui: 4.0.0

4.0.0 (2026-03-28)

⚠ BREAKING CHANGES

  • connectors and evses Maps are now private on ChargingStation. Use iterateConnectors(), iterateEvses(), hasEvse(), getEvseStatus(), getConnectorStatus() instead of direct Map access.

🚀 Features

  • support configurable measurands per transaction stage in OCPP 2.0 (3196f5d)

🐞 Bug Fixes

  • deps: update all non-major dependencies (#1759) (5a31d2b)
  • use case-insensitive boolean parsing for OCPP configuration values (bae2346)

✨ Polish

  • align variable naming and remove non-null assertions in tests and UI (75cb24c)
  • encapsulate connector/EVSE iteration behind generator API (404ba5d)

🧪 Tests

  • add whitespace-padded value coverage for convertToBoolean (7c9443f)

ocpp-server: 4.0.0

4.0.0 (2026-03-28)

🐞 Bug Fixes

Don't miss a new e-mobility-charging-stations-simulator release

NewReleases is sending notifications on new releases.