Skip to content

Releases: citrineos/citrineos-core

v1.4.2

19 Aug 19:35
823849c
Compare
Choose a tag to compare

Fix for desync bug preventing application start.

v1.4.1

19 Aug 17:29
049c3e3
Compare
Choose a tag to compare

Patch update - Miscellaneous fixes:

  • #194 - (Release 1.4) Adding retry setup support for sequelize
  • #223 - (Release 1.4) Enhancing Boot Notification Service/Handler tests
  • #219 - [Cost updated] Improve accuracy of cost calculations

v1.4.0

16 Aug 20:06
d4d40af
Compare
Choose a tag to compare

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)

v1.3.2

01 Aug 16:15
7659cea
Compare
Choose a tag to compare

Updates to support OCPI new features & fixes

  • Authorization interface added to support real time authentication (will be useful for custom authorization flows beyond OCPI)
  • SQL Views added to sort OCPP data with queries referencing data beyond Core
  • Miscellaneous fixes & functions added

v1.3.1

17 Jul 20:59
89fc3bd
Compare
Choose a tag to compare

Changes to support citrineos-ocpi 0.1.1

Fixes in citrineos-core:

  1. When SetVariablesResponse Rejects, VariableAttribute value now rolls back
  2. Issue where Transactions.isActive was never set to false fixed
  3. New start-everest script in Server/ for starting the OCPP 2.0.1 compliant software-in-a-loop version of dockerized EVerest, the Linux Foundation Energy project for open source charging station firmware

v1.3.0

10 Jul 17:58
db65995
Compare
Choose a tag to compare

Release 1.3.0:

OCPI 2.2.1 support now available! See initial citrineos-ocpi release.

Payments module (powered by Stripe) open sourced! See initial release notes. Includes support for novel Scan & Charge feature allowing anonymous payments via credit card at any charging station with a user interface display capable of the appropriate OCPP 2.0.1 use cases.

New Core features:

  • OCPP 2.0.1 Smart Charging added
  • New, streamlined Data API endpoint for setting charger password (old method of using the device model crud api still supported)
  • MessageOrigin changed and usage altered: 'CentralSystem' now 'ChargingStationManagementSystem' to match OCPP 2.0.1's terminology; MessageOrigin now always refers to the party which generated the message, not the party which initiated the call
  • GeneratedAt iso timestamps added to message broker message context and VariableAttribute data entity
  • New Tenant module added, will contain Data API for managing multi-tenancy in future releases
  • Relationship between IdToken and AdditionalInfo made from one-to-many to many-to-many
  • StatusNotification and NotifyEvent now update DeviceModel; StatusNotifications associated with ChargingStation as well
  • Location expanded, now includes address info
  • Tariff expanded, 'unit' replaced with new fields: pricePerKwh, pricePerMin, pricePerSession, taxRate, authorizationAmount, paymentFee
  • TotalKwh now populated in Transaction
  • New Base database methods: readAllBySqlString, readNextId, findAndCount
  • RepositoryStore class added to simplify handling of repository singletons
  • OCPI 2.2.1 support added to Server

!NOTICE! Breaking Changes:

  • Introduction of IdTokenAdditionalInfo join table will require removing IdToken and AdditionalInfo tables in order to restructure them
  • Ocpi support added to Server REQUIRES that citrineos-ocpi be cloned in the same root folder as citrineos-core for builds to work

v1.2.3

10 Jun 21:08
51f665f
Compare
Choose a tag to compare

Urgent bug fixes:

  • TransactionEvent handling issues: repositories declared with incorrect namespace, sequelize transaction not correctly passed to all db access, meterValues not correctly referenced
  • Local SystemConfig used docker filepath for acme certificate; has been updated to resolve from cwd

v1.2.2

07 Jun 18:27
aed648b
Compare
Choose a tag to compare

Urgent bug fixes:

  • Sequelize.upsert found to be unreliable. All upserts replaced.
  • Issue caused by naming overlap between Base repository methods and interface repository methods fixed by renaming all interface repository methods.
  • .nvmrc file added to specify node version 18 for developers with different local versions.
  • onChange trigger for memory cache didn't fire for some operations. trigger added.

v1.2.1

31 May 20:58
b6b6246
Compare
Choose a tag to compare

v1.2.0

30 May 22:26
051ec39
Compare
Choose a tag to compare

New Features:

  1. 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).
  2. 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.
  3. 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.
  4. IdTokenType 'NoAuthorization' now accepted by default.
  5. 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:

  1. Websocket server now handles 'pings'--previously only emitted pings and handled pongs.
  2. VariableAttribute fields with defaults no longer override values in database
  3. Json processor now creates classes that agree with prettier & eslint
  4. Unused Redis image removed from docker compose in Server/
  5. Basic Auth header password can now contain ':' character without breaking
  6. Environment variables used to adjust SystemConfig no longer trigger log spam
  7. 'ByKey' CrudRepository methods no longer use 'id' as PK field, now use Sequelize to fetch actual PK field in case it is not 'id'