A mais recente leva de atualizações do ESPHome traz avanços significativos em infraestrutura e núcleo. A ferramenta de compilação empacotada (esphome-device-builder) foi atualizada sucessivamente para as versões 1.14.6, 1.14.7, 1.14.8 e 1.14.9, garantindo maior compatibilidade e correções no processo de build. Além disso, o núcleo agora resolve caminhos de arquivo em relação ao arquivo YAML que os declara, uma nova funcionalidade que facilita a organização de configurações modulares. Também foi adicionada a limpeza de loaded_platforms durante CORE.reset(), e o método set_internal() agora pode ser chamado durante a fase de setup, com erro registrado apenas se usado após essa etapa. Por fim, o componente sendspin teve corrigida a geração de código para enumerações de codec quando nenhum codec é definido.
\n
O gerenciamento de memória recebeu atenção especial, com várias melhorias para evitar falhas por falta de heap. O núcleo ganhou FixedVector::try_init, permitindo que chamadores tratem heap esgotado, e RAMAllocator::make_unique para objetos cuja alocação pode falhar. Componentes como nextion, esphome (sessão de ruído OTA e buffer de autenticação) e ota (bloco de assinatura) agora alocam memória através do RAMAllocator, reduzindo riscos de fragmentação. A interface Ethernet W5500 mantém o contexto SPI em uma instância estática em vez do heap, e a API reutiliza armazenamento de buffer de overflow em vez de alocar a cada escrita travada.
\n
No campo de conectividade, a função network::is_connected() foi aprimorada para lidar melhor com múltiplas interfaces de rede. O driver de Wi-Fi agora descarta uma varredura em vez de abortar quando seus resultados não podem ser alocados, e também filtra varreduras do ESP32 por SSID diretamente no driver. No Bluetooth, o rastreador BLE do ESP32 volta a registrar clientes GATT após ble.disable e ble.enable, e a preferência de coexistência é revertida para balanceada quando uma atualização OTA começa. As bibliotecas de criptografia noise-c e libsodium foram atualizadas para 0.1.30 e 1.10021.11, respectivamente. Adicionalmente, o símbolo USE_BLUETOOTH_PROXY foi mantido fora do binário de teste compartilhado do host, isolando melhor os testes de conexão Bluetooth.
\n
Correções específicas também foram aplicadas a componentes de áudio e display. No i2s_audio, a thread de loop agora controla todas as mudanças de estado, evitando condições de corrida. O lvgl teve corrigida uma falha ao usar lvgl.list.add. Essas melhorias, somadas às anteriores, tornam o ESPHome mais estável e robusto para usuários que mantêm seus próprios dispositivos.



