- Improved UUID generation (#383)
- Timing issues for OCTT test cases (#383)
- Misleading Reset failure dbg msg (#388)
- Reject negative ints in ChangeConfig (#388)
- Change
MicroOcpp::ChargePointStatus
into 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_EVSE
intoMO_NUM_EVSEID
(v2.0.1) (#371) - Change
MicroOcpp::ReadingContext
into 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
severity
mechanism (#331) - Build flag
MO_REPORT_NOERROR
to 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)
ocppPermitsCharge
ignores Faulted state (#279)setEnergyMeterInput
expectsint
input (#301)
- File index (#270)
- Config
Cst_TxStartOnPowerPathClosed
to put back TxStartPoint (#271) - Build flag
MO_ENABLE_RESERVATION=0
disables Reservation module (#302) - Build flag
MO_ENABLE_LOCAL_AUTH=0
disables LocalAuthList module (#303) - Function
bool isConnected()
inConnection
interface (#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)
ProtocolVersion
selects v1.6 or v2.0.1 (#247)- Build flag
MO_ENABLE_V201=1
enables 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
nullptr
as 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_initialize
takes OCPP URL without explicit host, port (#220)endTransaction
checks 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_out
tomocpp_set_console_out
- Revise README.md
- Revise misleading debug messages
- Update Arduino IDE manifest (#206)
- Auto-recovery switch in
mocpp_initialize
params - WebAssembly port
- Configurable
MO_PARTITION_LABEL
for the esp-idf SPIFFS integration (#218) MO_TX_CLEAN_ABORTED=0
keeps aborted txs in journalMO_VERSION
specifierMO_PLATFORM_NONE
for compilation on custom platformsendTransaction_authorized
enforces the tx end- Add valgrind, ASan, UBSan CI/CD steps (#189)
- Reservation (#196)
- Fix immediate FW-update Download phase abort (#216)
stat
usage 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