Releases: EVerest/libocpp
Releases · EVerest/libocpp
v0.9.8
What's Changed
- Improved handling in case CSMS responds with CALLERROR or not at all to BootNotification.req by @Pietfried in #431
- Ensure that BootNotification is the first message in the queue by @hikinggrass in #439
- Fixed reconnect attempt, fixed sys error on timer dtor by @AssemblyJohn in #443
- Prioritize BootNotification.req in Message Queue over Transactional Messages by @Pietfried in #444
- Activenetworkprofile variable missing and is required if we support networkconnectionprofile by @marcemmers in #424
- 437: Fix delay in bootnotification by @maaikez in #438
- Fix bug in handleGetInstalledCertificateIdsRequest by @movhdi in #449
- Protect from concurrent connector status updates by @Pietfried in #454
- Added certificate_single_path to KeyPair type by @Pietfried in #455
- OCPP1.6: Fix build examples by @Pietfried in #435
- Add additional locking for next message to send by @hikinggrass in #451
- Dont persist unavailable on fw updates by @Pietfried in #456
- removed error log for InternalError Message type by @Pietfried in #462
- Use persist flag in execute_change_availability_request by @Pietfried in #461
- Restore connector states to persisted states on failed firmware update by @hikinggrass in #464
- Adjusted and moved SQLite close handler by @Pietfried in #465
- Libwebsockets: Fix message loss on reconnect by @corneliusclaussen in #457
- Bump evse security version by @AssemblyJohn in #469
- Support of mutex inside get/set of configuration, which can be happen… by @bWF0dGhpYXMK in #281
- Add issue and PR templates and CODEOWNERS file by @Pietfried in #436
- Special handling for value 0 for certain variables by @Pietfried in #466
- Fix usage of recursive_lock in lock_guard by @hikinggrass in #470
- Number of fixes to the Metervalue implementation for 2.0.1 by @marcemmers in #448
- Added stackLevel to EnhancedChargingSchedulePeriod by @corneliusclaussen in #453
- Fix logic in connection attempt only AFTER a reconnect by @AssemblyJohn in #473
- Enable the Power.Offered measurand by @bWF0dGhpYXMK in #471
- Reliability improvements for OpenSSL tpm2 provider on an embedded system by @james-ctc in #463
- Usage of allow_zero also for integer values in device model by @Pietfried in #477
- Specific code owners for OCPP1.6 by @Pietfried in #479
- Support for AuthCacheDisablePostAuthorize and DisableRemoteAuthorization by @Pietfried in #476
- Fix compatibility with python 3.7 by @hikinggrass in #484
- CiString conversion fixes for GCC<9 by @hikinggrass in #483
- Fixed link to OCPP protocols in README by @krealyt in #489
- Unit testing best practices, fix gtest linkage by @hikinggrass in #488
- Add option for custom logging library instead of header file by @marcemmers in #487
- Disconnect websocket also when it is not connected. by @maaikez in #418
- Add filtering of signed meter values by @hikinggrass in #481
- Update dependency on libevse-security by @hikinggrass in #491
New Contributors
- @james-ctc made their first contribution in #463
Full Changelog: v0.9.7...v0.9.8
v0.9.7
What's Changed
- Execute disonnected_callback only when websocket is disconnected by @Pietfried in #386
- Changed parameter from std::string to IdToken in on_transaction_finished by @Pietfried in #388
- Update README.md by @ahzf in #379
- Fix build issue caused by implicit signed type in JSON schema validator by @drmrd in #385
- Several updates to OCPP201 device model by @Pietfried in #392
- OCPP1.6: Support for vendor errors by @Pietfried in #395
- B08 get custom report by @SNSubramanya in #294
- fix bytes and items per message in localauthlistactrl by @SNSubramanya in #399
- Properly check network configuration priority size by @hikinggrass in #394
- Fix initiation if requested messages of TriggerMessage.req and ExtendedTriggerMessage.req by @Pietfried in #401
- Added OCPP 2.0.1 feature profiles and link to google sheet by @RobertDeLeeuw in #370
- B07 get base report simplifications by @SNSubramanya in #397
- OCPP1.6: Report reason in StatusNotification.req in on_session_started and on_plugin_timeout by @Pietfried in #402
- Fix message_id_generator lifetime issue by @hikinggrass in #404
- Fix unit tests: database_tests and evse_security_mock by @Pietfried in #389
- Add request_value to 2.0.1 ChargePoint api by @hikinggrass in #405
- CI: Add building, testing and linting by @couryrr-afs in #297
- Security Log file option by @Pietfried in #407
- Fix: OCPP 2.0.1 CS, EVSE, and Connector availability tracking by @valentin-dimov in #292
- Bump libevse-security to v0.4.1 by @andistorm in #409
- Fix vector conversion of network connection priorities by @hikinggrass in #411
- Remove pycache file by @hikinggrass in #412
- Add support for certificate links by @mennodegraaf in #398
- Add InvalidCsmsCertificate notification by @marcemmers in #419
- Call configuration_key_changed_callback when set_custom_configuration_key finished successfully by @Pietfried in #427
- Localised per-thread conn data for a clean disconnect by @AssemblyJohn in #429
- Extended Use of SecurityEventNotification.req in OCPP1.6 by @Pietfried in #425
- Update libevse-security to v0.4.2 by @hikinggrass in #428
New Contributors
- @drmrd made their first contribution in #385
- @couryrr-afs made their first contribution in #297
- @andistorm made their first contribution in #409
Full Changelog: v0.9.6...v0.9.7
v0.9.6
v0.9.5
What's Changed
- Close libocpp gracefully by @mennodegraaf in #245
- Added new tested CSMS by @krealyt in #208
- Database error handling by @mennodegraaf in #247
- Feature/n09 n10 by @Pietfried in #248
- Improve OCPP1.6 StatusNotification.req error reporting by @Pietfried in #251
- OCPP201: SignCertificate and CertificateSigned by @Pietfried in #212
- Fix: Add password callback in profile 3 by @valentin-dimov in #255
- Add timers for certificate expiration check (A03) by @klemmpnx in #250
- Fixed unchecked optional access to CpoName by @Pietfried in #256
- Usage of is token reserved for connector callback in remotestart by @bWF0dGhpYXMK in #220
- Added PUMP Connect as compatible CSMS for OCPP 1.6 by @krealyt in #260
- validate CSMS-URL: opt. schema must fit with security-profile; chargepoint-ID deprecated in URL by @Dominik-K in #201
- configure message logging by @SNSubramanya in #253
- Support of security profile for example charge_point by @bWF0dGhpYXMK in #246
- Fix reconnect interval not actually using the configured delay by @marcemmers in #257
- Fixes reporting of transaction_data in StopTransaction.req by @Pietfried in #262
- Add websocket option update on component variable change by @klemmpnx in #263
- fixed argument in database tests by @Pietfried in #267
- Fixed evsesecurity header include by @AssemblyJohn in #266
- Change data transfer API for 1.6 by @hikinggrass in #265
- Averaging Measurements by @SNSubramanya in #241
- Harden change configuration on integer input by @hikinggrass in #261
- Fix code gen for RequestStartTransaction & RequestStopTransaction by @hikinggrass in #270
- Fix default ciphers in the configurations by @marcemmers in #274
- Permanently disconnecting websocket in v201 when stop function is called by @Pietfried in #264
- A05.FR.06: Remove network profiles lower than the actual security level by @marcemmers in #271
- Fix a few unchecked optional accesses by @hikinggrass in #273
- Set connectors to unavailable during fw update by @hikinggrass in #252
- Make sure a transaction cache update also sets the lifetime by @marcemmers in #268
- Fix off by one error for max connection attempts by @marcemmers in #275
- Implement OCPP 2.0.1 use case M06: Get V2G Charging Station Certificate status by @valentin-dimov in #249
- Do not send InstallScheduled when changing connectors to unavailable by @hikinggrass in #276
- EV 355: Consider & verify "default" and "required" settings for Device Model Variable Attributes by @klemmpnx in #269
- Added timestamp to StatusNotification.req for v16 by @Pietfried in #280
- EV 355: part II: update schemas and enforce required property by @klemmpnx in #272
- Validate datetime in OCPP 2.0.1 device model by @hikinggrass in #286
- OCPP2.0.1 add data transfer in line with OCPP1.6 implementation by @hikinggrass in #279
- Fix union annotation for python<3.10 by @hikinggrass in #289
- EV369: Message queue buffering by @klemmpnx in #284
- EV369b: drop update transactional messages if necessary by @klemmpnx in #285
- Ensure firmware update status notifications are not sent multiple times by @hikinggrass in #277
- Use sqlite_close_v2() by @rinzevdwalAlfen in #288
- Feat: Delay the resumption of the message queue after reconnect by @valentin-dimov in #283
- EV377: split notify report requests by @klemmpnx in #295
- Fix potential crashes and fix TxProfile during transaction by @hikinggrass in #299
- OCPP 2.0.1: Make message interval, retries, and timeout configurable at run-time by @valentin-dimov in #298
- Ensure session_id_logging map is properly locked when accessing it by @hikinggrass in #303
- OCPP 2.0.1: Remove optional StatusNotifications on reset by @valentin-dimov in #302
- Fix: Validate CN = FQDN for TLS websockets connections by @valentin-dimov in #287
- Generate signing request not only for CSMS by @mennodegraaf in #290
- Add component SeccId and add warning for missing components/variables by @mennodegraaf in #300
- Bugfix/hotfix tls intermediates by @corneliusclaussen in #305
- OCPP 1.6 Fix: add flag for pending firmware update by @klemmpnx in #306
- Fix regression: Add message queue "resuming" state by @valentin-dimov in #357
- Fix sorting operator for map insertion by @marcemmers in #291
- OCPP1.6: Add internal availability change request API by @klemmpnx in #358
- Added support for libwebsockets for tpm/secprofile 2/3 by @AssemblyJohn in #320
- Fix websocket certificate check by @klemmpnx in #380
New Contributors
- @mennodegraaf made their first contribution in #245
- @valentin-dimov made their first contribution in #255
Full Changelog: v0.9.4...v0.9.5
v0.9.4
What's Changed
- Added conversion functions for safe conversions to 1.6 DataTransfer Plug&Charge messages by @Pietfried in #206
- Fix to report custom read-only config keys by @Pietfried in #207
- Added a time sync callback that can be used to sync system time by @maaikez in #202
- Add missing find_dependency(everest-evse_security) by @hikinggrass in #210
- If no metervalues are going to be sent, do not sent a MeterValueRequest or an empty meterValue list in a transaction by @marcemmers in #187
- Write SecurityProfile to device model by @Pietfried in #214
- added minLimit and maxLimit for BasicAuthPassword by @Pietfried in #215
- OCPP201: Improved handling of ChangeAvailability.req by @Pietfried in #213
- Added A04 Security Event Notification by @RobertDeLeeuw in #199
- Only send status notifications on reconnect if we received a disconnect callback by @marcemmers in #216
- J01- Add evseId=0 meter values by @SNSubramanya in #191
- fix crash invalid evseid remote start transaction by @rinzevdwalAlfen in #222
- B06:- Get variables requests by @SNSubramanya in #218
- Added support to report and consume security events in OCPP1.6 by @Pietfried in #182
- Add additional security event notifications for firmware update tests by @hikinggrass in #233
- added is_integer and is_decimal functions to device model validation by @Pietfried in #217
- Update libevse-security dependency by @hikinggrass in #237
- Make sure that CallResult and CallError messages are delivered in order by @hikinggrass in #231
- callback for boot notification by @SNSubramanya in #232
- Add handling of max energy on invalid id by @marcemmers in #230
- GetTransactionStatusRequest for v201 by @Pietfried in #228
- fix component:ClockCtrlr config by @JamesLebron in #226
- responding with NotSupported to GetBaseReport.req(SummaryInventory) by @Pietfried in #240
- Added disconnected callback to websocket to track disconnected_time (for OfflineThreshold) correctly by @Pietfried in #238
- Use database to store transaction metervalues to be sent at the end of a transaction by @marcemmers in #205
- Allow connector phase rotation to accept .NotApplicable … by @bWF0dGhpYXMK in #211
- C16: Master Pass by @SNSubramanya in #225
- ChangeAvailability(Scheduled) moves inactive EVSE/connectors to unavailable directly by @Pietfried in #234
- Fix handling of pending transactions in v16 at startup by @Pietfried in #239
- Feature/ev 312 ocpp 201 m by @klemmpnx in #242
- Add message logging callback by @marcemmers in #209
- Bump version & dependency versions by @hikinggrass in #244
New Contributors
- @rinzevdwalAlfen made their first contribution in #222
- @JamesLebron made their first contribution in #226
Full Changelog: v0.9.3...v0.9.4
v0.9.3
What's Changed
- Add local authorization list management calls (D01 and D02) by @marcemmers in #153
- Refactor v16 database using the new sqlite statement wrapper by @marcemmers in #154
- removed doubled definition of apply_local_list in v201 by @Pietfried in #165
- introduction of measurement by @Afronut in #160
- Add local list authorization by refactoring validate_token by @marcemmers in #156
- Calling Set System time callback in OCPP1.6 by @Pietfried in #161
- Add check to validate if the callback struct is completely filled before starting by @marcemmers in #167
- pg_websocket_v_dtor - Correct WebSocket type destructor behavior by @gregsq-proton in #164
- B04 offline idle behaviour by @SNSubramanya in #168
- No longer use async for transaction events, instead use normal response handling by @marcemmers in #174
- Configurable WaitForStopTransactionsOnResetTimeout for ocpp1.6 by @Pietfried in #163
- Added plug in timeout handler for OCPP1.6 to move from preparing to finished by @Pietfried in #162
- Added reduced state machine for connector 0 for OCPP1.6 by @Pietfried in #166
- E04-offline transactions by @SNSubramanya in #173
- Only send charging status transaction event updated when charging state actually changed by @marcemmers in #175
- Support for Custom Configuration Keys for OCPP1.6 by @Pietfried in #176
- Adding optional argument for state machine reset for OCPP1.6 by @Pietfried in #181
- Improvements for OCPP2.0.1 popped up during OCA Plugfest by @Pietfried in #184
- not installing Custom.json by default in libocpp by @Pietfried in #186
- Remove check on auth list ctrlr available by @marcemmers in #189
- Fix build with clang < 16 by @hikinggrass in #183
- Improvements for OCPP1.6 made during OCA Plugfest by @hikinggrass in #185
- OCPP201 device model setup in cmake by @Pietfried in #190
- Fixed some compiler errors with older versions of gcc by @maaikez in #192
- Fix clang lambda capture which went out of scope by @maaikez in #195
- Support older C++ versions with
boost::filesystem
by @bWF0dGhpYXMK in #177 - Integrated hostName as parameter which is applied on websocket plain by @bWF0dGhpYXMK in #194
- Set is connected to false in on fail handler of plain websocket by @hikinggrass in #196
- Added user-host also to websocket TLS by @Pietfried in #197
- Add ChargePoint constructor so a pointer to a device model storage can be used by @maaikez in #188
- Fixed FirmwareStatusNotification for v16 and v201 by @corneliusclaussen in #200
- Refactored pki_handler to evse_security by @Pietfried in #157
- Improved device model storage initialization by @Pietfried in #204
- Update liblog dependency to 0.2.0 by @hikinggrass in #198
- Binding json default construct to use initializer list based constructor by @hikinggrass in #179
- Add auth cache storage size to de device model by @marcemmers in #170
- Add some SQLiteStatement functions to prepare for other PRs by @marcemmers in #203
New Contributors
- @gregsq-proton made their first contribution in #164
- @SNSubramanya made their first contribution in #168
- @bWF0dGhpYXMK made their first contribution in #177
Full Changelog: v0.8.7...v0.9.3
v0.8.7
What's Changed
- Interrupt websocket reconnects on normal close by @Pietfried in #132
- Add charging state to transaction so it will be sent when a transaction has been started by @maaikez in #130
- OCPP201:A01: Change of BasicAuthPassword by @Pietfried in #127
- fixed 1.6 units tests who had old boost dependencies by @Pietfried in #133
- Reference to EVerest roadmap by @krealyt in #134
- External Websocket Control for OCPP201 by @Pietfried in #139
- add unlockconnector to handle_message switch by @maaikez in #141
- Improve insert_device_model_config.py for OCPP2.0.1 by @Pietfried in #143
- Transaction event changes to get remote start / stop working and compliant to octt by @maaikez in #138
- Add clang-format linter workflow by @hikinggrass in #140
- Pending bootnotification and start / stop transaction request -> send rejected by @maaikez in #142
- Adding missing dependency for gtest by @RobertDeLeeuw in #136
- Update nlohmann json and schema validator by @hikinggrass in #144
- Add an example on how to build libocpp with FetchContent instead of EDM by @hikinggrass in #135
- Don't store central type tokens in the authorization cache as per C03 and C05 by @marcemmers in #147
- Use the token id as well as the token type to generate auth cache hashes by @marcemmers in #148
- Reset with ongoing transaction by @maaikez in #128
- checking if message queue is running before pushing messages to it by @Pietfried in #151
- Split off SQLite statement wrapper into own file and apply to v201 usages by @marcemmers in #149
- Add function to device model that allows setting read-only values for certain components by @marcemmers in #152
- Add partial trigger message support by @marcemmers in #145
- Make it possible to use own logger instead of everest logger. by @maaikez in #150
- Update README.md by @caller in #159
New Contributors
- @krealyt made their first contribution in #134
- @RobertDeLeeuw made their first contribution in #136
- @marcemmers made their first contribution in #147
- @caller made their first contribution in #159
Full Changelog: v0.8.6...v0.8.7
v0.8.6
What's Changed
- OCPP1.6: Refactored Error and Fault handling by @Pietfried in #131
Full Changelog: v0.8.5...v0.8.6
v0.8.5
What's Changed
- added basic implementation for DataTransfer mechanism by @movhdi in #103
- Getlog by @maaikez in #111
- Improved logging around websocket connection by @Pietfried in #113
- OCPP201 Device Model by @Pietfried in #112
- Fix openssl warning of deprecated function by @maaikez in #116
- Remote unlock connector: Implement by @maaikez in #115
- Added config_path param to init_device_model_db.py by @Pietfried in #117
- Remote start stop by @maaikez in #110
- Added configuration key to OCPP1.6 for allowing certain smart charging profiles with no startSchedule by @Pietfried in #114
- OCPP1.6: Including MeterValues without Measurands in StopTransaction.req by @Pietfried in #122
- Sending response to ChangeAvailability.req before executing enabled/disabled callback by @Pietfried in #123
- RemoteStartId now part of transaction_started by @Pietfried in #124
- Applying SampledMeasurands to eventType(Started) and eventType(Ended) by @Pietfried in #118
- Implementation of AuthorizationCache by @Pietfried in #125
- Firmware update by @maaikez in #121
- Add on_faulted and on_reserved events by @maaikez in #126
- Handle more invalid messages by @hikinggrass in #119
- OCPP201: Support for NetworkConnectionProfiles and Migration to new CSMS by @Pietfried in #129
New Contributors
Full Changelog: v0.8.1...v0.8.5
v0.8.1
What's Changed
- Adopt to EVerest/everest-core#257 by @a-w50 in #100
- Fix missing optional header by @a-w50 in #101
- Fix v16 example, restructure headers by @hikinggrass in #98
- Make nlohmann_json_schema_validator a public dependency of libocpp by @slitovchuk in #106
- added transaction started callback updated chargoint example code by @Afronut in #105
- Handle invalid messages by @hikinggrass in #107
New Contributors
- @slitovchuk made their first contribution in #106
Full Changelog: v0.8.0...v0.8.1