J. Nick Koston 8dd594afa2 [api] Break api_connection/api_server include cycle to drop custom unique_ptr deleter
api_connection.h now forward-declares APIServer instead of including
api_server.h, and api_server.h includes api_connection.h before clients_
is declared. With APIConnection complete at that point, libc++ no longer
trips the incomplete-type assert in default_delete<APIConnection> when
parsing std::array<unique_ptr<APIConnection>, MAX_API_CONNECTIONS>, so
the custom APIConnectionDeleter introduced in #16050 is no longer needed.

The two APIConnection inline methods that touched APIServer
(encode_to_buffer, get_batch_delay_ms_) are now defined at the bottom of
api_server.h, where APIServer is complete; api_connection.cpp gains a
direct include of api_server.h so those definitions are visible there.

Verified locally on macOS host platform with python3.14 -m esphome
compile (the path that reproduces the libc++ error). Noise and plaintext
integration tests pass.
2026-05-21 13:55:17 -05:00
2023-06-12 17:00:34 +12:00
2022-09-06 15:48:01 +12:00
2024-03-28 10:20:51 +13:00
2025-12-08 14:37:45 -05:00
2026-05-14 12:33:43 +12:00
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme Multiple Licenses 393 MiB
Languages
C++ 60.7%
Python 38.9%
C 0.3%