CitrineOS is an open source EV charger network software for rapid OCPP 2.0.1 and NEVI compliant EV charge management. Version 1.2.0 has been released, adding a number of new features and bug fixes. Details follow below, and the full release notes are also available.
New Features:
- Supports ISO15118 Use Cases: Authorization via Contract Certificate, Get15118EVCertificate, Installing V2G root & refreshing leaf certificate via SignCertificate flow (Smart Charging features not included, slated for 1.3).
- Improved Certificate Management – Directus or an ftps server can now store your certificates; Data endpoint to regenerate certificates added; Data endpoint to reassign websocket server certificate added; Data endpoint to trigger sending an InstallCertificate message to a charger using current certificate chain.
- Events added to CrudRepository via CrudEvent interface: ‘created’, ‘updated’, ‘deleted’. Extends EventEmitter; adds typing to ‘on’ and ’emit’ methods for fully-typed lifecycle event handling.
- IdTokenType ‘NoAuthorization’ now accepted by default.
- Github Actions added! Lint-fix, compilation, and integration tests fire on merges to rc and main branches. New Github docker image added to packages on release tag push.
Bugfixes:
- Websocket server now handles ‘pings’–previously only emitted pings and handled pongs.
- VariableAttribute fields with defaults no longer override values in database
- Json processor now creates classes that agree with prettier & eslint
- Unused Redis image removed from docker compose in Server/
- Basic Auth header password can now contain ‘:’ character without breaking
- Environment variables used to adjust SystemConfig no longer trigger log spam
- ‘ByKey’ CrudRepository methods no longer use ‘id’ as PK field, now use Sequelize to fetch actual PK field in case it is not ‘id’