Jonathan Swoboda and Claude Opus 4.6
c8e7f78a25
[zwave_proxy] Fix uint8_t overflow for buffer index and frame end ( #14480 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 18:32:50 -05:00
Jonathan Swoboda and Claude Opus 4.6
b6d7e8e14d
[sgp30] Fix serial number truncation from 48-bit to 24-bit ( #14478 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 18:18:28 -05:00
Jonathan Swoboda and Claude Opus 4.6
55103c0652
[ds2484] Fix read64() using uint8_t accumulator instead of uint64_t ( #14479 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 18:18:14 -05:00
J. Nick Koston and Copilot
61ea6c3b2f
[ci] Add missing issues: write permission to codeowner approval workflow ( #14477 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-04 17:46:26 -05:00
e11a91411b
[esp32_improv][rf_bridge][esp32_ble_server][display][lvgl][pipsolar] Fix unsigned integer underflows ( #14466 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
2026-03-04 16:36:52 -05:00
Jonathan Swoboda and Claude Opus 4.6
0c883b80c4
[inkplate][ezo_pmp][ezo][packet_transport] Fix use-after-free bugs ( #14467 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 16:05:49 -05:00
Kevin Ahrendt
4928e678d1
[mixer][resampler][speaker] Use core static task manager ( #14454 )
2026-03-04 14:37:22 -05:00
Jonathan Swoboda and Claude Opus 4.6
22fc3aab39
[ld2420] Fix buffer overflows in simple mode, energy mode, and calibration ( #14458 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 08:19:46 -10:00
J. Nick Koston
b9beb45b91
false positives
2026-03-04 08:03:02 -10:00
Jonathan Swoboda and Claude Opus 4.6
c37ab1de84
[fingerprint_grow] Fix OOB write and uint16 overflow ( #14462 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 12:58:52 -05:00
Jonathan Swoboda and Claude Opus 4.6
246a8bff0c
[pn7160][pn7150][pn532] Fix tag purge skipping, NDEF bounds check, and NDEF length byte order ( #14460 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 12:58:42 -05:00
Jonathan Swoboda and Claude Opus 4.6
9abba79c54
[remote_base][remote_receiver] Fix OOB access in pronto comparison and RMT buffer allocation ( #14459 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 12:58:24 -05:00
Jonathan Swoboda and Claude Opus 4.6
5ba880f19b
[sx127x] Fix preamble MSB register always written as zero ( #14457 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 12:57:45 -05:00
J. Nick Koston
b2e8544c58
[ld2412] Add integration tests with mock UART ( #14448 )
2026-03-04 07:18:31 -10:00
J. Nick Koston
ac19d05db2
[core] Call loop() directly in main loop, bypass call() indirection ( #14451 )
2026-03-04 07:17:41 -10:00
J. Nick Koston
065773ed4c
[runtime_stats] Use micros() for accurate per-component timing ( #14452 )
2026-03-04 07:17:28 -10:00
37146ff565
[integration] Add set method to publish and save sensor value ( #13316 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-04 09:00:09 -05:00
Tilman Vogel and Jesse Hills
cba34e770e
[core] improve help text for --device option, mention OTA ( #14445 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-03-03 21:18:36 -05:00
Kevin Ahrendt
8911d9d28f
[media_source] Clarify threading contract ( #14433 )
2026-03-03 20:42:36 -05:00
J. Nick Koston and Claude Opus 4.6
9371159a7e
[core] Replace custom esphome::optional with std::optional ( #14368 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 01:14:05 +00:00
Kevin Ahrendt
43a6fe9b6c
[core] add a StaticTask helper to manage task lifecycles ( #14446 )
2026-03-04 01:06:36 +00:00
Jesse Hills
989330d6bc
[globals] Fix handling of string booleans in yaml ( #14447 )
2026-03-03 22:54:40 +00:00
Jonathan Swoboda and Claude Opus 4.6
ee78d7a0c0
[tests] Fix integration test race condition in PlatformIO cache init ( #14435 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 17:42:41 -05:00
J. Nick Koston
5373412f60
move DEVICE_CLASS_MAX_LENGTH to esphome/core/config.py alongside other max length constants
2026-03-03 12:03:51 -10:00
J. Nick Koston
151f1377a3
merge move_icons_progmem
2026-03-03 12:02:16 -10:00
J. Nick Koston
c639accdfd
move ICON_MAX_LENGTH to esphome/core/config.py alongside other max length constants
2026-03-03 11:55:26 -10:00
J. Nick Koston
f73076bb8b
should be in tu
2026-03-03 11:25:18 -10:00
J. Nick Koston
2fe9de7dbc
add max length validation for device class strings
...
Defense-in-depth: validate device class strings don't exceed the
48-byte PROGMEM buffer limit (47 chars + null), matching the same
pattern used for icon strings.
2026-03-03 11:23:06 -10:00
Thomas Rupprecht
96793a99ce
[rtttl] add new codeowner ( #14440 )
2026-03-03 10:55:56 -10:00
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
Clyde Stubbs
380c0db020
[usb_uart] Don't claim interrupt interface for ch34x ( #14431 )
2026-03-03 14:49:38 -06: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
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