Releases: citrineos/citrineos-core
v1.6.3
patch release:
- Added support for multiarch builds with docker buildx
- Error no longer thrown when env vars don't apply to system config
- GetTransactionStatus correctly updates transaction status
- StartTransaction & StopTransaction relationship to Transaction updated to be unique
- Hasura metadata updated to reflect current database structure
v1.6.2
patch release:
- Environment variables used for citrineos system configuration can now have prefixes passed in
npm start
- Error read out for environment variables that fail to apply to system configuration improved
- StopTransaction issue preventing accurate authorization of IdTags fixed
- OCPP 1.6 MeterValues now update Transaction.totalKwh
- When no unphased measurand is available, meter value utility now adds phased measurands together for total kwh
- When Energy.Active.Import.Register is missing from meter values, Energy.Active.Import.Interval or Energy.Active.Import.Net are used, in that order of preference
v1.6.1
Patch release:
- Changing minio to pull from docker hub in order to provide multiplatform support
- Updating swarm configuration
- Fixing issue preventing authorization via AuthorizeRequest from occurring in 1.6
v1.6.0
The main new feature of this release is OCPP 1.6 support!
- All OCPP 1.6 types added under OCPP 1.6 namespace
- Support for booting, configuration, basic authorization, and transaction handling
Breaking Changes:
- All OCPP 2.0.1 types are now namespaced
- Outgoing ocpp messages on the queue need a protocol header
- Node 18 -> Node 22 minimum version updated
- Replacing BCrypt with node:crypto (allows for package-lock.json to be committed)
- Most data models seeing significant alterations
v1.5.1
1.5.1 Release Notes
Patch release with some QoL updates:
- OCPP logs added via new collection associated with ChargingStation
- UserPreferences added to support persisting user preferences about reporting metrics
This release, in combo with the CitrineOS-Operator-UI release 0.2.0, has been certified by the OCA in OCPP 2.0.1 Core and Advanced Security! This includes the following use cases (Note: CitrineOS supports ALL use cases in OCPP 2.0.1, however the other certification profiles are not available yet for certification. These use cases are only the ones in the certification offered by the Open Charge Alliance):
Core
- Basic Authentication
- TLS - server-side certificate
- Update Charging Station Password for HTTP Basic Authentication
- Security Event Notification
- Booting a Charging Station
- Configuring a Charging Station
- Resetting a Charging Station / EVSE
- Authorization incl. GroupId
- Stop Transaction with a Master Pass
- Local start transaction - Cable plugin first & Authorization first
- Start / Stop transaction options
- Disconnect cable on EV-side
- Check Transaction status
- Remote start / stop transaction
- Remote unlock Connector
- Remote Trigger
- Change Availability - Charging Station / EVSE / Connector
- Clock-aligned Meter & Sampled Meter Values
- Install CA certificates
- Retrieve certificates from Charging Station
- Delete a certificate from a Charging Station
- AdditionalRootCertificateCheck
- Retrieve Log Information
- Get / Clear Customer Information
- Secure Firmware Update
- Store / Clear Authorization Data in Authorization Cache
- Authorization through authorization cache
Advanced Security
- TLS - Client-side certificate
- Update Charging Station Certificate
- Upgrade Charging Station Security Profile
v1.5.0
1.5.0 Release Notes:
These changes primarily serve to support our new Operator UI:
- Enabling Cors headers for data & message apis
- ChargingStationSequences added to create station-level serial integers for requestIds, such as for OCPP 2.0.1's RequestStartRequests or GetLogsRequests
- Persisting installed certificate hashes from GetInstalledCertificateIds request
- LatestStatusNotification table for storing up-to-date charging station statuses
- ServerNetworkProfiles added, in order to track relations between CitrineOS's websocket servers and SetNetworkProfileRequests in order to enforce SecurityProfile restriction: charging station should be unable to connect to a lower security profile than the ones associated with their already configured network profiles
bugfixes:
- TransactionEvent authorization now only checks for ConcurrentTx on 'Started'
- SetVariable rejections are appropriately rolled back in station's device model
enhancements:
- OpenAPI spec now populates #ref values
v1.4.3
- Local Auth List support added, completing support for OCPP 2.0.1 certification profiles!
- Unit test coverage expanded, including authentication
- 00_Base/json-schema-processor.js improved - null added to optional array types,
const
removed from enum declarations - Some dependency versions updated to satisfy renovate
- fixes citrineos/citrineos#41 and citrineos/citrineos#38
v1.4.2
Fix for desync bug preventing application start.
v1.4.1
v1.4.0
New Features:
- Unit tests!
- Coverage will increase in each release from now on.
- Test runner added to github actions.
- OCPI no longer referenced here
- citrineos-ocpi/Server can be used to start up OCPP 2.0.1 + OCPI 2.2.1
- Advanced MeterValue handling
- Support for deprecated MeterValues CallAction
- Support for SignedMeterValues in TransactionEvents & MeterValues messages
- @AsDataEndpoint decorator expanded
- Now can support authentication middleware
- OCPP Message types now explicitly allow Null
- json-schema-processor.js updated to generate these updated interfaces
- Support for Reservations!
- Support for ISO15118-based SmartCharging!
- Subscription API supports direct-to-database subscriptions via Directus without restarting Citrine
- Sequelize database connection now retries if it fails initially, such as due to the database not being ready to accept connections yet
- Renovate added
- automated interval for CostUpdated messages for transactions can now be cleared (necessary for various transaction fail states)