J. Nick Koston
ca6a05bfdd
move device class strings to PROGMEM on ESP8266
...
Same treatment as icons in #14437 . Device class strings were in
.rodata (RAM on ESP8266). Now stored as individual PROGMEM char arrays.
- Add get_device_class_to(std::span<char, MAX_DEVICE_CLASS_LENGTH>)
buffer API matching get_icon_to() pattern
- Add fill_and_encode_entity_info_with_device_class() wrapper to
deduplicate buffer handling across 10 API entity types
- Centralize MQTT device_class in send_discovery_() lambda where
buffer lifetime outlives ArduinoJson serialization
- Deprecate get_device_class_ref()/get_device_class() on non-ESP8266
- static_assert error on ESP8266 directing to get_device_class_to()
- Update all callers: api, mqtt, web_server, log helper
2026-03-03 10:50:39 -10:00
J. Nick Koston
afb8ba6813
preen
2026-03-03 08:43:35 -10:00
J. Nick Koston
6425c15ee1
bot review
2026-03-03 08:33:04 -10:00
J. Nick Koston
4267d29cb5
simplify get_icon_to: single lookup call on non-ESP8266
...
- Non-ESP8266: just return entity_icon_lookup(idx) directly
- ESP8266: short-circuit idx==0 to avoid strncpy_P on non-PROGMEM ""
2026-03-03 08:19:30 -10:00
J. Nick Koston
8335bb5f8e
remove unnecessary PROGMEM empty string from weak default
...
The weak default is only reached when USE_ENTITY_ICON is disabled,
and get_icon_to() already short-circuits with return "" in that case.
2026-03-03 08:18:18 -10:00
J. Nick Koston
4a22afb79d
fix: ensure icon empty string is PROGMEM, skip lookup when disabled
...
- When USE_ENTITY_ICON is disabled, return "" directly without
calling through the lookup table
- When enabled, ensure the empty-string fallback (index 0 / out of
range) is a PROGMEM char array so strncpy_P on ESP8266 is safe
2026-03-03 08:15:56 -10:00
J. Nick Koston
1108511c63
move icons to progmem
2026-03-03 08:06:55 -10:00
J. Nick Koston
807e3f9efc
move icons to progmem
2026-03-03 08:04:09 -10:00
J. Nick Koston
95544dddf8
[ci] Add code-owner-approved label workflow ( #14421 )
2026-03-03 07:11:47 -10:00
J. Nick Koston
b209c903bb
[core] Inline trivial Component state accessors ( #14425 )
2026-03-03 07:05:15 -10:00
J. Nick Koston
4f69c487da
[bk72xx] Fix ~100ms loop stalls by raising main task priority ( #14420 )
2026-03-03 07:04:12 -10:00
J. Nick Koston
78602ccacb
[ci] Add lint check to prevent powf in core and base entity platforms ( #14126 )
2026-03-03 07:03:50 -10:00
J. Nick Koston
1f1b20f4fe
[core] Pack entity string properties into PROGMEM-indexed uint8_t fields ( #14171 )
2026-03-03 07:03:24 -10:00
J. Nick Koston
d53ff7892a
[socket] Cache lwip_sock pointers and inline ready() chain ( #14408 )
2026-03-03 07:03:02 -10:00
rwrozelle
b6f0bb9b6b
[speaker] Add off on capability to media player ( #9295 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Kevin Ahrendt <kevin.ahrendt@openhomefoundation.org >
2026-03-03 10:59:01 -05:00
Clyde Stubbs
cfde0613bb
[const][uart][usb_uart][weikai][core] Move constants to components/const ( #14430 )
2026-03-03 07:53:18 -05:00
Jesse Hills
903c67c994
Revert "[wifi] Revert cyw43_wifi_link_status change for RP2040"
...
This reverts commit 1b5bf2c848 .
2026-03-03 22:16:54 +13:00
Jesse Hills
d8d479cef7
Merge branch 'release' into dev
2026-03-03 22:15:06 +13:00
Jesse Hills
f48106b160
Merge pull request #14427 from esphome/bump-2026.2.4
...
2026.2.4
2026.2.4
2026-03-03 22:07:35 +13:00
J. Nick Koston
1b5bf2c848
[wifi] Revert cyw43_wifi_link_status change for RP2040
...
The switch from cyw43_tcpip_link_status to cyw43_wifi_link_status
was intended for 2026.3.0 alongside the arduino-pico 5.5.0 framework
update but was accidentally included in 2026.2.3.
With the old framework (3.9.4), cyw43_wifi_link_status never returns
CYW43_LINK_UP, so the CONNECTED state is unreachable. The device
connects to WiFi but the status stays at CONNECTING until timeout,
causing a connect/disconnect loop.
Fixes https://github.com/esphome/esphome/issues/14422
2026-03-03 20:46:31 +13:00
Jesse Hills
c4fa476c3c
Bump version to 2026.2.4
2026-03-03 20:45:28 +13:00
schrob
60d66ca2dc
[openthread] Add tx power option ( #14200 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-02 23:28:01 -05:00
J. Nick Koston
db15b94cd7
[core] Inline HighFrequencyLoopRequester::is_high_frequency() ( #14423 )
2026-03-03 03:17:20 +00:00
Cody Cutrer
ae49b67321
[ld2450] Clear all related sensors when a target is not being tracked ( #13602 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-02 15:47:40 -10:00
melak
c77241940b
[lps22] Add support for the LPS22DF variant ( #14397 )
2026-03-02 15:24:00 -10:00
Kevin Ahrendt
97d713ee64
[media_source] Add new Media Source platform component ( #14417 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-02 15:16:38 -10:00
Jesse Hills
bc04a1a0ff
Merge branch 'release' into dev
2026-03-03 11:35:53 +13:00
Jesse Hills
c4869bad88
Merge pull request #14413 from esphome/bump-2026.2.3
...
2026.2.3
2026.2.3
2026-03-03 11:35:09 +13:00
Jonathan Swoboda
7a87348855
[ci] Skip PR title check for dependabot PRs ( #14418 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 16:49:14 -05:00
J. Nick Koston
2e623fd6c3
[tests] Fix flaky log assertion race in oversized payload tests ( #14414 )
2026-03-02 11:48:50 -10:00
dependabot[bot]
727fa07377
Bump github/codeql-action from 4.32.4 to 4.32.5 ( #14416 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 11:44:53 -10:00
Lino Schmidt
5510b45f3b
[const] Move CONF_WATCHDOG ( #14415 )
2026-03-02 11:43:06 -10:00
J. Nick Koston
3615a7b90c
[core] Eliminate __udivdi3 in millis() on ESP32 and RP2040 ( #14409 )
2026-03-02 11:42:25 -10:00
J. Nick Koston
d1de50c0e5
[core] Add ESP8266 support to wake_loop_any_context() ( #14392 )
2026-03-02 21:11:04 +00:00
Jesse Hills
dc56cd1d1f
Bump version to 2026.2.3
2026-03-03 08:57:52 +13:00
Jonathan Swoboda
d2a819eb77
[uart] Fix flow_control_pin inverted flag ignored on ESP-IDF ( #14410 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 08:57:52 +13:00
J. Nick Koston
0ac61cbb9b
[improv_serial] Add missing USE_IMPROV_SERIAL define to fix WiFi scan filtering ( #14359 )
2026-03-03 08:57:47 +13:00
Jonathan Swoboda
c9c99a22e0
[core] Defer entity automation codegen to prevent sibling ID deadlocks ( #14381 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-03 08:57:02 +13:00
Clyde Stubbs
91250fd46c
[mipi_dsi] Fix Waveshare P4 7B board config ( #14372 )
2026-03-03 08:52:47 +13:00
J. Nick Koston
641914cdbe
[uart] Revert UART0 default pin workarounds (fixed in ESP-IDF 5.5.2) ( #14363 )
2026-03-03 08:52:47 +13:00
Jonathan Swoboda
840859ab7c
[zigbee] Fix codegen ordering for basic/identify attribute lists ( #14343 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-03 08:52:47 +13:00
Jonathan Swoboda
97b712da98
[cc1101] Transition through IDLE in begin_tx/begin_rx for reliable state changes ( #14321 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-03 08:52:47 +13:00
Jonathan Swoboda
b5c36140fa
[sprinkler] Fix millis overflow and underflow bugs ( #14299 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-03 08:52:47 +13:00
J. Nick Koston
48a9c1cd67
[mqtt] Remove broken ESP8266 ssl_fingerprints option ( #14182 )
2026-03-03 08:52:47 +13:00
Jonathan Swoboda
38f671a923
[uart] Fix flow_control_pin inverted flag ignored on ESP-IDF ( #14410 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 08:52:06 +13:00
J. Nick Koston
cb232d8288
[core] Fix compile-time loop() detection for multiple inheritance ( #14411 )
2026-03-02 19:11:47 +00:00
J. Nick Koston
2fa244715d
[socket] Fix pre-existing bugs found during socket devirtualization review ( #14404 )
2026-03-02 08:54:54 -10:00
netixx
b9b1af1c3d
[mcp23016] Fix register access to use 16-bit paired transactions ( #13676 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-02 17:38:28 +00:00
J. Nick Koston
a1d91ac779
[core] Compile-time detection of loop() overrides ( #14405 )
2026-03-02 06:59:23 -10:00
J. Nick Koston
585e195044
[socket] Devirtualize socket abstraction layer ( #14398 )
2026-03-02 06:58:31 -10:00