- Change
MicroOcpp::TxNotificationinto C-style enum, replaceOCPP_TxNotication(#386) - Improved UUID generation (#383)
beginTransaction()returns bool for better v2.0.1 interop (#386)- Configurations C-API updates (#400)
- Platform integrations C-API upates (#400)
getTransactionV201()exposes v201 Tx in API (#386)- v201 support in Transaction.h C-API (#386)
- Write-only Configurations (#400)
- Timing issues for OCTT test cases (#383)
- Misleading Reset failure dbg msg (#388)
- Reject negative ints in ChangeConfig (#388)
- Revised SCons integration (#400)
- Change
MicroOcpp::ChargePointStatusinto C-style enum (#309) - Connector lock disabled by default per
MO_ENABLE_CONNECTOR_LOCK(#312) - Relaxed temporal order of non-tx-related operations (#345)
- Use pseudo-GUIDs as messageId (#345)
- ISO 8601 milliseconds omitted by default (352)
- Rename
MO_NUM_EVSEintoMO_NUM_EVSEID(v2.0.1) (#371) - Change
MicroOcpp::ReadingContextinto C-style struct (#371) - Refactor RequestStartTransaction (v2.0.1) (#371)
- Provide ChargePointStatus in API (#309)
- Built-in OTA over FTP (#313)
- Built-in Diagnostics over FTP (#313)
- Error
severitymechanism (#331) - Build flag
MO_REPORT_NOERRORto report error recovery (#331) - Support for
parentIdTag(#344) - Input validation for unsigned int Configs (#344)
- Support for TransactionMessageAttempts/-RetryInterval (#345, #380)
- Heap profiler and custom allocator support (#350)
- Migration of persistent storage (#355)
- Benchmarks pipeline (#369, #376)
- MeterValues port for OCPP 2.0.1 (#371)
- UnlockConnector port for OCPP 2.0.1 (#371)
- More APIs ported to OCPP 2.0.1 (#371)
- Support for AuthorizeRemoteTxRequests (#373)
- Persistent Variable and Tx store for OCPP 2.0.1 (#379)
- ESP32 built-in HTTP OTA (#313)
- Operation store (files op-*.jsn and opstore.jsn) (#345)
- Explicit tracking of txNr (file txstore.jsn) (#345)
- SimpleRequestFactory (#351)
- Skip Unix files . and .. in ftw_root (#313)
- Skip clock-aligned measurements when time not set
- Hold back error StatusNotifs when time not set (#311)
- Don't send Available when tx occupies connector (#315)
- Make ChargingScheduleAllowedChargingRateUnit read-only (#328)
Don't send StatusNotifs while offline (#344)(see (#371))- Don't change into Unavailable upon Reset (#344)
- Reject DataTransfer by default (#344)
- UnlockConnector NotSupported if connectorId invalid (#344)
- Fix regression bug of #345 (#353, #356)
- Correct MeterValue PreBoot timestamp (#354)
- Send errorCode in triggered StatusNotif (#359)
- Remove int to bool conversion in ChangeConfig (#362)
- Multiple fixes of the OCPP 2.0.1 extension (#371)
- Replace
PollResult<bool>with enumUnlockConnectorResult(#271) - Rename master branch into main
- Tx logic directly checks if WebSocket is offline (#282)
ocppPermitsChargeignores Faulted state (#279)setEnergyMeterInputexpectsintinput (#301)
- File index (#270)
- Config
Cst_TxStartOnPowerPathClosedto put back TxStartPoint (#271) - Build flag
MO_ENABLE_RESERVATION=0disables Reservation module (#302) - Build flag
MO_ENABLE_LOCAL_AUTH=0disables LocalAuthList module (#303) - Function
bool isConnected()inConnectioninterface (#282) - Build flags for customizing memory limits of SmartCharging (#260)
- SConscript (#287)
- C-API for custom Configs store (297)
- Certificate Management, UCs M03 - M05 (#262, #274, #292)
- FTP Client (#291)
ProtocolVersionselects v1.6 or v2.0.1 (#247)- Build flag
MO_ENABLE_V201=1enables OCPP 2.0.1 features (#247)
- Fix defect idTag check in
endTransaction(#275) - Make field localAuthorizationList in SendLocalList optional
- Update charging profiles when flash disabled (relates to #260)
- Ignore UnlockConnector when handler not set (#271)
- Reject ChargingProfile if unit not supported (#271)
- Fix building with debug level warn and error
- Reduce debug output FW size overhead (#304)
- Fix transaction freeze in offline mode (#279, #287)
- Fix compilation error caused by
PRId32(#279) - Don't load FW-mngt. module when no handlers set (#271)
- Change arduinoWebSockets URL param to path (#278)
- Avoid creating conf when operation fails (#290)
- Fix whitespaces in MeterValues (#301)
- Make SmartChargingProfile txId field optional (#348)
- Fix nullptr access in endTransaction (#275)
- Backport: Fix building with debug level warn and error
- Correct MO version numbers in code (they were still
1.0.0)
- Allow
nullptras parameter formocpp_set_console_out(#224) - Fix
mocpp_tick_ms()on esp-idf roll-over after 12 hours - Pin ArduinoJson to v6.21 (#245)
- Fix bounds checking in SmartCharging module (#260)
First release
mocpp_initializetakes OCPP URL without explicit host, port (#220)endTransactionchecks authorization ofidTag- Update configurations API (#195)
- Update Firmware- and DiagnosticsService API (#207)
- Update Connection interface
- Update Authorization module functions (#213)
- Reflect changes in C-API
- Change build flag prefix from
MOCPP_toMO_ - Change
mo_set_console_outtomocpp_set_console_out - Revise README.md
- Revise misleading debug messages
- Update Arduino IDE manifest (#206)
- Auto-recovery switch in
mocpp_initializeparams - WebAssembly port
- Configurable
MO_PARTITION_LABELfor the esp-idf SPIFFS integration (#218) MO_TX_CLEAN_ABORTED=0keeps aborted txs in journalMO_VERSIONspecifierMO_PLATFORM_NONEfor compilation on custom platformsendTransaction_authorizedenforces the tx end- Add valgrind, ASan, UBSan CI/CD steps (#189)
- Reservation (#196)
- Fix immediate FW-update Download phase abort (#216)
statusage on arduino-esp32 LittleFS- SetChargingProfile JSON capacity calculation
- Set correct idTag when Reset triggers StopTx
- Execute operations only once despite multiple .conf send attempts (#207)
- ConnectionTimeOut only applies when connector is still unplugged
- Fix valgrind warnings
Previous point with breaking changes on master
Renaming to MicroOcpp is completed since this commit. See the migration guide for more details on what's changed. Changelogs and semantic versioning are adopted starting with v1.0.0
Last version under the project name ArduinoOcpp