J. Nick Koston
33bef13900
[scheduler] Reduce lock acquisitions in process_defer_queue_
...
Restructure the defer queue processing loop to merge lock acquisitions.
Previously each item required two separate lock/unlock pairs: one to
move the item out of the queue, and one to recycle it after execution.
This totaled 2N+1 lock acquisitions for N items.
By combining the recycle of each item with the move-out of the next
item under a single lock hold, the total drops to N+1. The callback
still executes without the lock held to prevent deadlocks.
Also adds an early return when the queue is empty to avoid taking
the lock at all in the common case (nothing deferred). The lockless
check is safe because the main loop is the single consumer of
defer_queue_front_, and a stale size() read from a concurrent push
can only cause us to see fewer items — they will be processed on
the next loop iteration.
Additionally outlines the rare defer queue compaction path into a
separate noinline compact_defer_queue_locked_() to keep cold code
out of the hot instruction cache lines.
2026-02-19 10:19:41 -06:00
dependabot[bot]
01a46f665f
Bump esptool from 5.1.0 to 5.2.0 ( #14058 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-19 09:42:22 -05:00
J. Nick Koston
535980b9bd
[cse7761] Use constexpr for compile-time constants ( #14081 )
2026-02-19 08:40:41 -06:00
J. Nick Koston
b0085e21f7
[core] Devirtualize call_loop() and mark_failed() in Component ( #14083 )
2026-02-19 08:40:23 -06:00
J. Nick Koston
6daca09794
[logger] Replace LogListener virtual interface with LogCallback struct ( #14084 )
2026-02-19 08:40:08 -06:00
J. Nick Koston
7b53a98950
[socket] Log error when UDP socket requested on LWIP TCP-only platforms ( #14089 )
2026-02-19 08:39:44 -06:00
Rodrigo Martín
4cc1e6a910
[esp32_ble_server] add test for lambda characteristic ( #14091 )
2026-02-19 09:23:22 -05:00
Marc Hörsken
4d05e4d576
[esp32_camera] Add support for sensors without JPEG support ( #9496 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-02-18 21:52:38 -06:00
Kevin Ahrendt
eefad194d0
[audio, speaker] Add support for decoding Ogg Opus files ( #13967 )
2026-02-18 21:51:33 -06:00
Kevin Ahrendt
ba7134ee3f
[mdns] add Sendspin advertisement support ( #14013 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-02-18 21:51:16 -06:00
Kevin Ahrendt
264c8faedd
[media_player] Add more commands to support Sendspin ( #12258 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-02-18 21:51:01 -06:00
Kevin Ahrendt
3c227eeca4
[audio] Add support for sinking via an arbitrary callback ( #14035 )
2026-02-18 21:50:39 -06:00
J. Nick Koston
c8598fe620
[bluetooth_proxy] Use constexpr for remaining compile-time constants ( #14080 )
2026-02-18 21:34:25 -06:00
J. Nick Koston
2f9b76f129
[pn7160] Use constexpr for compile-time constants ( #14078 )
2026-02-18 21:33:39 -06:00
J. Nick Koston
9a8b00a428
[nfc] Use constexpr for compile-time constants ( #14077 )
2026-02-18 21:33:23 -06:00
J. Nick Koston
eaf0d03a37
[ld2420] Use constexpr for compile-time constants ( #14079 )
2026-02-18 21:32:37 -06:00
J. Nick Koston
e7f2021864
[http_request] Replace std::map with std::vector in action template ( #14026 )
2026-02-18 21:32:24 -06:00
J. Nick Koston
dff9780d3a
[core] Use constexpr for compile-time constants ( #14071 )
2026-02-19 03:19:48 +00:00
J. Nick Koston
20239d1bb3
[remote_base] Use constexpr for compile-time constants ( #14076 )
2026-02-19 03:16:09 +00:00
J. Nick Koston
ee7d63f73a
[packet_transport] Use constexpr for compile-time constants ( #14074 )
2026-02-18 21:09:49 -06:00
J. Nick Koston
76c151c6e6
[api] Use constexpr for compile-time constant ( #14072 )
2026-02-18 21:07:38 -06:00
J. Nick Koston
9c9365c146
[bluetooth_proxy][esp32_ble_client][esp32_ble_server] Use constexpr for compile-time constants ( #14073 )
2026-02-18 21:07:06 -06:00
J. Nick Koston
7e118178b3
[web_server] Fix water_heater JSON key names and move traits to DETAIL_ALL ( #14064 )
2026-02-18 21:00:24 -06:00
J. Nick Koston
66d2ac8cb9
[web_server] Move climate static traits to DETAIL_ALL only ( #14066 )
2026-02-18 21:00:09 -06:00
J. Nick Koston
e4c233b6ce
[mqtt] Use constexpr for compile-time constants ( #14075 )
2026-02-18 20:59:31 -06:00
J. Nick Koston
be853afc24
[core] Conditionally compile setup_priority override infrastructure ( #14057 )
2026-02-18 20:57:56 -06:00
J. Nick Koston
565443b710
[pulse_counter] Fix compilation on ESP32-C6/C5/H2/P4 ( #14070 )
2026-02-18 19:08:53 -06:00
J. Nick Koston
3b869f1720
[web_server] Double socket allocation to prevent connection exhaustion ( #14067 )
2026-02-18 19:01:37 -06:00
J. Nick Koston
5f82017a31
[udp] Register socket consumption for CONFIG_LWIP_MAX_SOCKETS ( #14068 )
2026-02-18 19:01:00 -06:00
J. Nick Koston
bd055e75b9
[core] Shrink Application::dump_config_at_ from size_t to uint16_t ( #14053 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 16:49:37 -06:00
J. Nick Koston
d90754dc0a
[http_request] Replace heavy STL containers with std::vector for headers ( #14024 )
2026-02-18 16:49:19 -06:00
J. Nick Koston
387f615dae
[api] Add handshake timeout to prevent connection slot exhaustion ( #14050 )
2026-02-18 16:48:30 -06:00
J. Nick Koston
02e310f2c9
[core] Remove unnecessary IRAM_ATTR from yield(), delay(), feed_wdt(), and arch_feed_wdt() ( #14063 )
2026-02-18 16:48:13 -06:00
Jesse Hills
d83738df87
Merge branch 'release' into dev
2026-02-19 11:43:58 +13:00
Jesse Hills
6b61edce92
Merge pull request #14062 from esphome/bump-2026.2.0
...
2026.2.0
2026.2.0
2026-02-19 11:36:00 +13:00
J. Nick Koston
09fc028895
[core] Remove dead global_state variable ( #14060 )
2026-02-18 15:16:26 -06:00
J. Nick Koston
82cfa00a97
[tlc59208f] Make mode constants inline constexpr ( #14043 )
2026-02-18 15:04:30 -06:00
J. Nick Koston
4a038978d2
[pca9685] Make mode constants inline constexpr ( #14042 )
2026-02-18 15:04:14 -06:00
Jesse Hills
2c89cded4b
Bump version to 2026.2.0
2026-02-19 09:30:04 +13:00
Jesse Hills
bd38041d04
Merge branch 'beta' into dev
2026-02-19 09:05:23 +13:00
Jesse Hills
896dc4d34d
Merge pull request #14056 from esphome/bump-2026.2.0b5
...
2026.2.0b5
2026.2.0b5
2026-02-19 09:04:47 +13:00
Jesse Hills
ab572c2882
Bump version to 2026.2.0b5
2026-02-19 08:03:44 +13:00
Jonathan Swoboda
6b8264fcaa
[external_components] Clean up incomplete clone on failed ref fetch ( #14051 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-19 08:03:43 +13:00
Jonathan Swoboda
9cd7b0b32b
[external_components] Clean up incomplete clone on failed ref fetch ( #14051 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 18:09:33 +00:00
dependabot[bot]
f73bcc0e7b
Bump cryptography from 45.0.1 to 46.0.5 ( #14049 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-18 09:08:12 -06:00
dependabot[bot]
652c669777
Bump pillow from 11.3.0 to 12.1.1 ( #14048 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-18 09:08:02 -06:00
J. Nick Koston
fb89900c64
[core] Make setup_priority and component state constants constexpr ( #14041 )
2026-02-18 08:22:36 -06:00
J. Nick Koston
fb35ddebb9
[display] Make COLOR_OFF and COLOR_ON inline constexpr ( #14044 )
2026-02-18 08:22:07 -06:00
Jesse Hills
a3d7e76992
Merge branch 'beta' into dev
2026-02-18 13:29:11 +13:00
Jesse Hills
973656191b
Merge pull request #14038 from esphome/bump-2026.2.0b4
...
2026.2.0b4
2026.2.0b4
2026-02-18 13:28:37 +13:00