3.3.005-633-g495b5fd0 OTA build Tue Jan 20 21:18:25 CET 2026 See ovms3.log for details 495b5fd0 Server V2&V3: fix newly introduced race condition on connect failure c8fe9d20 Pushover: fix memory leak on failed lock or connect 0ef89236 Server V2&V3: fix Mongoose connect event handling regarding race condition with concurrent stop & connection clearing on failed connect 989d08e9 smartEQ: Add custom CAN write command and door lock metrics 5f2d4baf Server V2: fix race condition on unscheduled connection drops, avoid status change event repetition 10e0afe4 Cellular: raise stack size to 5K to avoid stack overflow c6a1b0fa Poller - remove single entry from polls c3660f58 Poller - Fix some error conditions in Blocking Poll a1945d6e Poller - Make sure Once-Off poll is not called from within the polling task 5009ed4e Fix BMS capacity calculation to use SOC instead of SOH d5002f39 Netmanager: discard & cancel unprocessed commands on Mongoose shutdown dcf4f1e8 Netmanager: use FreeRTOS API to retrieve current task handle 97859c39 Netmanager: fix potential use-after-free race condition when browsing the LwIP network interfaces by retrieving a copy from the LwIP context 998f8f0e smartEQ: Add usable capacity to BMS metrics and reporting e15ec3bc OvmsConsole/s: fix memory leak of unreleased log buffers on exit c688afd9 ConsoleAsync: remove deprecated & unused class-internal logging 34fe97fa OvmsCommandApp: remove deprecated & unused partial logging 069632f4 OvmsCommandApp: add console registry mutex to prevent race condition leading to use-after-free (on console added while logging) b34fe303 Replace CAC with CAP in trip and status outputs 4797c28d smartEQ: Update BMS metrics and OTA URL, add vehicle.on event ffba06fd Update eq_commands.cpp 4acf2822 Config: fix transaction control for explicit unlocking 08ff50b5 Update index.rst a40cde84 smartEQ: Remove modem auto-restart feature and update config handling 7100158e Config API: extend typed & defaulting getters & setters API down to OvmsConfigParam & ConfigParamMap for convenient param/map access ea57e3aa Config framework: optimize SetMap/SetParamMap to only save on changes 4e974413 Vehicle: move climate scheduler shell commands to vehicle_shell module 46578d1d Config/Vehicle: add config locks to climate schedule commands f881fad6 VW e-Up/OBD: fix VIN request a60f323b OvmsMutex: enable move construction for locks, add recursive count dc0194f3 Web UI: fix active vehicle type code tests 27cce855 all xTimer stop timeouts set to 0 1d9fbb59 fix/improve handling of incomplete/faulty profile0 readings 7e945a95 Config framework: fix race condition, multiple file rewrites & signals deriving from multiple successive changes to a param: a) introduce mutex to synchronize accesses to the config maps b) introduce transaction scheme to collect & reduce file I/O & signals cad8c86f CommandApp: move config read from log task context to event listener 8253a2ac Netmanager: move all config reads into config.changed event listener, removing the config access from the LwIP context (SetDNSServer) 5109d996 Events framework: add support for signals with extended phase callbacks to enable performing additional operations within the events context e544883d OvmsMutex: enable move construction for locks, add recursive count 808807e5 Web UI: fix active vehicle type code tests 764fe70d Update vehicle_smarteq.cpp 6068137f Override NotifyVehicleIdling for SmartEQ vehicle a0a877af Netmanager: fix deadlock on overlapping mongoose stop & start requests introduced by synchronous "network.mgr.stop" event processing (commit 25974bc909455109f5690ec5cb4950738eee7c08 of 2025-12-22) 52c18452 Events: add SignalEvent API for event done signaling using OvmsSemaphore 7e8c2a75 smartEQ: Refine BMS SOC parsing d4fde585 Poller - Let the VWTP protocol handle Pings 76c4637e VWTP Poll - neaten ticker response code 7d7b13b6 Poller - add extra logging for once-off failures 900bda6c Smart EQ - Fix compile of documentation 273a9acd Poll List - Fixes to documentation 2d6c5efa Poller - Handle some fringe cases removing a poll series 854c568d Poller - Let the switching to a blocking iter happen in the next poll 3ec57a57 Poller - Put mutex lock on a couple of poller list accesses 4e9bbfb6 Poller - Separate out throttling for blocking polls f1a11ee2 Poller - use time to handle poll-waiting 225bbb2c smartEQ: Refactor BMS, EVC and OBL metrics to use vectors 735cc187 Poller - Support signed error response ce59a78c Update index.rst 57e566c3 smartEQ: Refactor BMS metrics to use vectors 6b793d36 Update eq_features.cpp 1b910bd4 smartEQ: Refactor DDT4list output and fix TPMS index 85841d1d Minor comment fix c2fbde6e Module: added heap integrity check + alert command for usage in e.g. custom event scripts, enables adding checks on specific system events and/or with higher frequency. 3201ae80 Documentation: heap corruption event & notification 2b9eab22 VFS: added echo command to write a line to a file 58c7f701 Update changes.txt ea08542e Module: add heap tracing tools -- NOTE: heap tracing will for now not be enabled by default on user builds. This is meant to be used by developers to track down heap corruptions. If you encounter many random crashes, ask your maintainer to provide a debug build to you with heap tracing enabled, and let her/him guide you through the usage, or grant him/her remote access to your module. See: https://docs.espressif.com/projects/esp-idf/en/v3.3/api-reference/system/heap_debug.html c63e41e3 Module: added heap integrity alert, added task ownership to heap check report, added task handles to task log, added debug options to web UI (Config → Notifications) e38df280 Housekeeping: refactor logging to eliminate code duplicate 397b1737 Server V2 & V3: allow data notifications to be larger than 1024 bytes (necessary for `*-OVM-DebugTasks` now) cc9fa29c Remove BMS total energy metric and related code e92467ab Add BMS production data metric and polling edb9b817 Refactor BMS energy metric and ED4scan output 7f3ac47a Update eq_commands.cpp 3bf4515b Update eq_commands.cpp 5f5a7943 Enhance ED4scan output and update poll intervals b14c55a7 Update smart EQ docs and changelog with new commands and metrics b783249a smartEQ: advanced BMS polling and ED4scan-like diagnostics 20a42926 - Module framework: enable remote use of the system's heap corruption test, i.e. command "module check" can now be used within any shell or command channel, not just the USB console. e5b1646d Cellular/PPP: fix race condition between MUX shutdown and LwIP timeout 25974bc9 Netmanager: fix potential race conditions on Mongoose shutdown 7b6b909b Framework debugging: add stack high water mark debug logs to potentially critical, temporary and/or frequently restarted tasks bfaa5b85 Wifi: fix "wifi mode apclient" optional AP SSID argument, make AP SSID optional on "wifi mode ap" likewise (fallback to auto start AP SSID) 2ba9b1c6 README update on "vibe" submissions 8b92c7d8 Update comment to use CommandCanVector name 98e49aea Update eq_commands.cpp 58955dec Update eq_commands.cpp 38f97dc3 Update eq_commands.cpp fb4b2b0a smartEQ: Refactor CAN command handling and improve lock/unlock logic d27a2bef Update vehicle_hyundai_ioniqvfl.cpp 7112653e Webserver: move job queue overflow status logging from mongoose poll event handler into standard ticker (8 second interval) to avoid log spamming 178096ec VW e-Up: move timer callback execution into dedicated worker task to fix stack overflows & avoid too complex processing in the timer context (ref: issue #1247) 2fbbb35b Update vehicle_smarteq.cpp eb0e8a07 Update eq_commands.cpp 84dac6c7 smartEQ: Refactor metrics to use vectors and pre-allocate storage 738d7a48 Optimize SecondsToHHmm to reduce stack usage e95cb3f2 Reduce stack usage in Duktape VFS and idtag utility d172a583 Refactor CAN frame handling and improve variable naming 95a17fbb Increase timeout for lock/unlock commands 0352faa9 Refactor CAN command handling and add batch support 3e1f3c14 Update sdkconfig.default.hw31