Commit Graph

22225 Commits

Author SHA1 Message Date
J. Nick Koston cf8f7ef0a1 Merge branch 'hardening/web-server-constant-time-compare' into integration
# Conflicts:
#	esphome/components/debug/debug_esp8266.cpp
#	esphome/components/rtttl/rtttl.cpp
2026-02-10 14:00:58 -06:00
J. Nick Koston e4b6bea51a Merge remote-tracking branch 'upstream/dev' into hardening/web-server-constant-time-compare
# Conflicts:
#	esphome/components/web_server_idf/web_server_idf.cpp
2026-02-10 13:57:43 -06:00
J. Nick Koston 868a2151e3 [web_server_idf] Reduce heap allocations by using stack buffers (#13549) 2026-02-10 13:56:12 -06:00
J. Nick Koston c65d3a0072 [mqtt] Add zero-allocation topic getters to MQTT_COMPONENT_CUSTOM_TOPIC macro (#13811) 2026-02-10 13:55:16 -06:00
J. Nick Koston e2fad9a6c9 [sprinkler] Convert state and request origin strings to PROGMEM_STRING_TABLE (#13806) 2026-02-10 13:55:01 -06:00
J. Nick Koston 5365faa877 [debug] Move ESP8266 switch tables to flash with PROGMEM_STRING_TABLE (#13813) 2026-02-10 13:54:48 -06:00
J. Nick Koston 86feb4e27a [rtttl] Convert state_to_string to PROGMEM_STRING_TABLE (#13807)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-10 13:54:37 -06:00
J. Nick Koston 2a6d9d6325 [mqtt] Avoid heap allocation in on_log by using const char* publish overload (#13809) 2026-02-10 13:54:22 -06:00
J. Nick Koston 727bb27611 [bmp3xx_base/bmp581_base] Convert oversampling and IIR filter strings to PROGMEM_STRING_TABLE (#13808) 2026-02-10 13:54:07 -06:00
J. Nick Koston c03abcdb86 [http_request] Reduce heap allocations in update check by parsing JSON directly from buffer (#13588) 2026-02-10 13:53:53 -06:00
J. Nick Koston 1a6c67f92e [ssd1306_base] Move switch tables to PROGMEM with lookup tables (#13814) 2026-02-10 13:45:03 -06:00
J. Nick Koston 3f7178599a Merge remote-tracking branch 'origin/libretiny_1120' into integration 2026-02-10 13:16:03 -06:00
J. Nick Koston 19abc28aa9 Merge remote-tracking branch 'upstream/dev' into libretiny_1120
# Conflicts:
#	.clang-tidy.hash
2026-02-10 13:04:50 -06:00
J. Nick Koston bed3e7307d Merge remote-tracking branch 'upstream/socket_ready_devirtualize' into integration 2026-02-10 12:52:20 -06:00
J. Nick Koston 0e8d4da3fe Merge branch 'api-server-extract-accept' into integration 2026-02-10 12:51:36 -06:00
J. Nick Koston 419ea723b8 Merge remote-tracking branch 'upstream/dev' into api-server-extract-accept
# Conflicts:
#	esphome/components/api/api_server.cpp
2026-02-10 12:49:40 -06:00
J. Nick Koston 4a6eb0b16d [socket] Devirtualize Socket::ready() and get_fd() for hot loop path
Move fd_, closed_, and loop_monitored_ fields from BSD/LWIP socket
implementations to the base Socket class. Since only one socket
implementation is active per build, these can be non-virtual.

Make Socket::ready() and get_fd() non-virtual, eliminating vtable
dispatch on every main loop iteration. Inline is_socket_ready via
friendship for the fast path while keeping the public API with
bounds checking for external callers.

Saves ~316 bytes of flash on ESP32-IDF builds.
2026-02-10 12:30:20 -06:00
J. Nick Koston 2585779f11 [api] Remove duplicate peername storage to save RAM (#13540) 2026-02-11 07:23:16 +13:00
J. Nick Koston 7f88191856 Merge remote-tracking branch 'upstream/dev' into integration 2026-02-10 11:52:34 -06:00
Jonathan Swoboda b8ec3aab1d [ci] Pin ESP-IDF version for Arduino framework builds (#13909)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 12:16:25 -05:00
Jonathan Swoboda c4b109eebd [esp32_rmt_led_strip, remote_receiver, pulse_counter] Replace hardcoded clock frequencies with runtime queries (#13908)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 17:09:56 +00:00
Jonathan Swoboda 03b41855f5 [esp32_hosted] Bump esp_wifi_remote and esp_hosted versions (#13911)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 16:03:26 +00:00
J. Nick Koston 458939df07 Merge remote-tracking branch 'origin/dev' into integration 2026-02-10 09:17:12 -06:00
Jonathan Swoboda 13a124c86d [pulse_counter] Migrate from legacy PCNT API to new ESP-IDF 5.x API (#13904)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 10:10:27 -05:00
Kevin Ahrendt 298efb5340 [resampler] Refactor for stability and to support Sendspin (#12254)
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-02-10 09:56:31 -05:00
J. Nick Koston d4ccc64dc0 [http_request] Fix IDF chunked response completion detection (#13886) 2026-02-10 08:55:59 -06:00
J. Nick Koston 402cf1eb43 Merge branch 'optimize_batching' into integration 2026-02-10 07:26:04 -06:00
J. Nick Koston a932ea343d [api] Split process_batch_ to reduce stack on single-message hot path
Clamp buffer pre-allocation to MAX_BATCH_PACKET_SIZE.
2026-02-10 07:23:22 -06:00
J. Nick Koston 6f4a26083f Merge branch 'optimize_batching' into integration 2026-02-10 07:11:06 -06:00
J. Nick Koston 937715c91c [api] Split process_batch_ to reduce stack on single-message hot path
Clamp buffer pre-allocation to MAX_BATCH_PACKET_SIZE.
2026-02-10 07:09:45 -06:00
J. Nick Koston 7f0b86a5cc Merge branch 'optimize_batching' into integration 2026-02-10 06:51:54 -06:00
J. Nick Koston bab8d1e8b2 optimize batching 2026-02-10 06:50:13 -06:00
tronikos e3141211c3 [water_heater] Add On/Off and Away mode support to template platform (#13839)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-02-10 12:45:18 +00:00
J. Nick Koston aed45d15f0 Merge remote-tracking branch 'upstream/dev' into integration 2026-02-10 06:25:09 -06:00
J. Nick Koston 75c952eaef Merge branch 'template_water_heater_onoff' into integration 2026-02-10 06:21:45 -06:00
J. Nick Koston 1b3f3c04b9 Use mutable globals in water heater test fixture
Use globals for away/is_on lambdas and sync them in set_action
so optimistic state changes persist across loop iterations.
2026-02-10 06:17:52 -06:00
J. Nick Koston 6410c6cf9b improve tests 2026-02-10 06:14:41 -06:00
J. Nick Koston 0503760af4 Add integration tests for toggling away and on/off state flags 2026-02-10 06:09:18 -06:00
J. Nick Koston 820afea83a Fix publish action skipping away: false and is_on: false
The walrus operator treats false as falsy, so publishing
away: false or is_on: false was silently ignored. Use key
presence check instead.
2026-02-10 06:06:54 -06:00
dependabot[bot] e85a022c77 Bump esphome-dashboard from 20260110.0 to 20260210.0 (#13905)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 11:49:59 +00:00
J. Nick Koston 22b038f6a4 Import WaterHeaterFeature from aioesphomeapi instead of redefining locally 2026-02-10 05:47:46 -06:00
J. Nick Koston 3410ee2420 Merge branch 'dev' into template_water_heater_onoff 2026-02-10 05:46:27 -06:00
dependabot[bot] 1c3af30299 Bump aioesphomeapi from 43.14.0 to 44.0.0 (#13906)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-10 11:45:31 +00:00
J. Nick Koston 50aaea6bf1 Merge branch 'dev' into template_water_heater_onoff 2026-02-10 05:38:01 -06:00
tronikos 5caed68cd9 [api] Deprecate WATER_HEATER_COMMAND_HAS_STATE (#13892)
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
2026-02-10 05:36:56 -06:00
Cody Cutrer b97a728cf1 [ld2450] add on_data callback (#13601)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-09 22:40:44 -05:00
J. Nick Koston 828fa3c408 Merge branch 'ble-loop-extract-transitions' into integration 2026-02-09 20:59:24 -06:00
J. Nick Koston fca26ce944 [esp32_ble] Extract state transitions from ESP32BLE::loop() hot path 2026-02-09 20:57:36 -06:00
J. Nick Koston b22290b2bb Merge branch 'api-server-extract-accept' into integration 2026-02-09 20:43:45 -06:00
J. Nick Koston a671f6ea85 Use if/else instead of continue in client loop 2026-02-09 20:42:25 -06:00