ESPHome Update Brings Memory Resilience, Networking Fixes, and Core Enhancements

imagem 40

Several changes make ESPHome more resilient when memory is tight. The core now offers FixedVector::try_init and RAMAllocator::make_unique, so firmware can gracefully handle exhausted heap instead of crashing. The Nextion queue, OTA noise session and auth buffer, and OTA signature block are all allocated through the new RAMAllocator, and the API reuses overflow buffer storage rather than allocating a new buffer for every stalled write. The W5500 Ethernet SPI context now lives in a static instance rather than on the heap, and CORE.reset() clears loaded platforms to prevent stale state.

Network and wireless handling has been improved. The network component’s is_connected() function now better accounts for multiple interfaces. Wi-Fi scans will be dropped instead of aborting when their results cannot be allocated, and ESP32 scans are filtered by SSID directly in the driver. The ESP32 BLE tracker re-registers GATT clients after disabling and re-enabling Bluetooth, and it reverts the coexistence preference to balanced when an OTA update starts to improve reliability during firmware transfers.

Several component fixes are included. The sendspin codec enum code generation is fixed when no codecs are configured. set_internal() can now be called during setup, and errors are logged after setup completes. A crash when using lvgl.list.add has been fixed. The i2s_audio router’s loop thread now controls all state changes, avoiding race conditions. File paths in YAML configuration are now resolved relative to the YAML file that declares them, a new feature that simplifies multi-file configurations.

The bundled esphome-device-builder has been updated from version 1.14.6 through 1.14.9, incorporating the latest build improvements. The noise-c library is bumped to 0.1.30 and libsodium to 1.10021.11, bringing updated cryptography and security fixes. The shared host test binary now excludes USE_BLUETOOTH_PROXY, keeping that Bluetooth proxy define out of common test builds and improving test isolation.

Leave a Comment

Your email address will not be published. Required fields are marked *