Jesse Hills
3a78f6294a
[esp32_hosted] Fail closed and log dropped frames in esp_now shim (review)
...
- on_resp(): a truncated RESP that can't hold its claimed ret_len no longer
reports those (stale) buffer bytes as a valid return payload; it now returns
zero return bytes, matching on_recv's fail-closed behaviour.
- on_resp/on_recv/on_send: log malformed/too-short frames (WARN) and stale
post-timeout responses (VERBOSE) so wire-format drift between host and
co-processor is observable instead of surfacing only as opaque timeouts.
- esp_now_is_peer_exist(): log a warning when the RPC itself fails, so a
transport error is distinguishable from a genuinely absent peer (the native
bool signature still forces both to return false).
2026-07-21 14:36:53 +12:00
Jesse Hills
ec6e5a9299
[esp32_hosted] Fix clang-tidy on the shared esp_now wire header
...
The header is shared verbatim with the C co-processor firmware, so its types
must use C's `typedef struct {...} name;` idiom and a C `<stdint.h>` include,
neither of which clang-tidy's C++ modernize checks accept. Wrap the struct
block in NOLINTBEGIN/END(modernize-use-using) and select <cstdint> vs
<stdint.h> on __cplusplus so both the C++ host build and the C firmware build
stay clean.
2026-07-21 14:36:53 +12:00
Jesse Hills
cbb3c8f087
[esp32_hosted] Mark esp_now shim recv/send callback pointers volatile
...
They are written from the main loop and read from the esp-hosted RX thread;
volatile matches the treatment of the g_resp_* globals and makes the
cross-thread visibility intent explicit (per review).
2026-07-21 11:57:49 +12:00
Jesse Hills
8155209689
[esp32_hosted] Harden esp_now host shim per review
...
- ensure_setup(): gate on a dedicated g_setup_done flag set only after all
allocations and callback registrations succeed, so a partial failure can't
make a later call believe setup completed; semaphore creation is guarded so
a retry doesn't leak handles.
- esp_now_send(): reject (data=nullptr, len>0) with ESP_ERR_ESPNOW_ARG instead
of dereferencing null, matching native semantics.
- esp_now_set_wake_window(): return ESP_ERR_NOT_SUPPORTED rather than silently
claiming success for an unforwarded power-save setting.
2026-07-21 11:53:30 +12:00
Jesse Hills
be1dce26fd
[espnow] Validate radio-less variants need esp32_hosted; add P4 compile test
...
ESP-NOW rides the Wi-Fi PHY, so on a radio-less esp32 variant the espnow
component would otherwise fail with an inscrutable "undefined reference to
esp_now_*" at link time. Fail fast in final validation instead: the P4 must
have the esp32_hosted shim, and other radio-less variants have no ESP-NOW
path at all. Adds a P4 esp32_hosted + espnow compile test and unit tests for
the new validation.
2026-07-21 11:44:50 +12:00
Jesse Hills
e931919fb4
Merge branch 'release' into dev
2026-07-21 10:45:17 +12:00
Jesse Hills
bbc5669efa
Merge pull request #17739 from esphome/bump-2026.7.1
...
2026.7.1
2026.7.1
2026-07-21 10:44:34 +12:00
Guanzhong Chen
718b04c15a
[zephyr] implement ISRInternalGPIOPin::digital_write ( #17601 )
2026-07-21 09:27:55 +12:00
Jonathan Swoboda
24a8634a4b
[haier] Fix outdoor defrost temperature reporting the coil temperature ( #17492 )
2026-07-21 09:27:55 +12:00
Jonathan Swoboda
fc6664d737
[emc2101] Fix negative external temperatures reported as large positives ( #17494 )
2026-07-21 09:27:55 +12:00
dependabot[bot]
388e411469
Bump aioesphomeapi from 45.6.1 to 45.6.2 ( #17654 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-21 09:17:18 +12:00
Jesse Hills
a8ebdcb8f2
Bump version to 2026.7.1
2026-07-21 08:25:51 +12:00
J. Nick Koston
f5f1c48f51
[esp8266] Fail fast when Rosetta 2 is missing on Apple Silicon Macs ( #17737 )
2026-07-21 08:25:51 +12:00
J. Nick Koston
7c55de311f
[wireguard] Mark private keys sensitive, stop redacting public keys ( #17736 )
2026-07-21 08:25:46 +12:00
J. Nick Koston
307faa6c38
[espidf] Resume interrupted toolchain downloads instead of restarting ( #17706 )
2026-07-21 08:18:16 +12:00
J. Nick Koston
5f2adcf9b3
[platformio] Include cache path in invalid library error ( #17692 )
2026-07-21 08:18:16 +12:00
Grégoire Seux and J. Nick Koston
7738464f0b
[http_request] Fix usage of http response body ( #17713 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-07-21 08:18:16 +12:00
J. Nick Koston and Jesse Hills
5a86e26f68
[platformio] Re-download library when cached copy is missing its manifest ( #17691 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-07-21 08:18:16 +12:00
J. Nick Koston and pre-commit-ci-lite[bot]
786b47d8c2
[core] Auto-clean the PlatformIO build environment when the Python version changes ( #17671 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-07-21 08:18:15 +12:00
esphome[bot]
83092ea05c
Bump bundled esphome-device-builder to 1.6.8 ( #17708 )
2026-07-21 08:18:15 +12:00
629afd38f6
[light] Fix pulse and other effects ( #17645 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-07-21 08:18:15 +12:00
J. Nick Koston
3ffc3a9610
[espidf] Make openocd-esp32 optional so its libusb check cannot break installs ( #17686 )
2026-07-21 08:18:15 +12:00
J. Nick Koston
9de7bd7461
[git] Detect interrupted clones and re-clone automatically ( #17690 )
2026-07-21 08:18:15 +12:00
J. Nick Koston
5df922e0df
[platformio] Accept git URLs passed as the library name ( #17697 )
2026-07-21 08:18:15 +12:00
J. Nick Koston
b571d2a5ab
[micro_wake_word] Download models in parallel ( #17701 )
2026-07-21 08:18:15 +12:00
Jesse Hills
231a2897c0
[ssd1306] Fix offset_x being ignored on SH1106/SH1107 displays ( #17700 )
2026-07-21 08:18:15 +12:00
Brandon Harvey
2223b14794
Split multi-token build.flags entries when generating ESP-IDF component CMakeLists ( #17649 )
2026-07-21 08:18:15 +12:00
esphome[bot]
3d340f4d90
Bump bundled esphome-device-builder to 1.6.7 ( #17696 )
2026-07-21 08:18:15 +12:00
esphome[bot]
2f99466f3a
Bump bundled esphome-device-builder to 1.6.6 ( #17681 )
2026-07-21 08:18:15 +12:00
esphome[bot]
f05e15522c
Bump bundled esphome-device-builder to 1.6.5 ( #17675 )
2026-07-21 08:18:15 +12:00
Jonathan Swoboda
f37dad683b
[esp32] Bump recommended ESP-IDF to 5.5.5 and Arduino to 3.3.10 ( #17669 )
2026-07-21 08:18:15 +12:00
esphome[bot]
a0fb14bf54
Bump bundled esphome-device-builder to 1.6.4 ( #17662 )
2026-07-21 08:18:15 +12:00
Jesse Hills
d4443be0c1
[nrf52] Install PlatformIO toolchain Python packages into a dedicated venv ( #17635 )
2026-07-21 08:18:15 +12:00
J. Nick Koston
0dfb573e18
[logs] Cap the logs reconnect backoff for deep-sleep devices ( #17656 )
2026-07-21 08:18:15 +12:00
J. Nick Koston
572fc033cd
Ship component requirements.txt files in the sdist and wheel ( #17660 )
2026-07-21 08:18:15 +12:00
J. Nick Koston
4062f0a323
Pin cryptography to 48.0.1 on Intel macOS ( #17658 )
2026-07-21 08:18:15 +12:00
Brandon Harvey
cd40fb1c68
[core] Fix srcFilter exclusions being silently ignored on Windows ( #17648 )
2026-07-21 08:18:15 +12:00
Jonathan Swoboda
7afe7750cd
[espidf] Suggest installing missing system libraries when the tools install fails ( #17619 )
2026-07-21 08:18:15 +12:00
esphome[bot]
e08bdf8cca
Bump bundled esphome-device-builder to 1.6.3 ( #17651 )
2026-07-21 08:18:15 +12:00
dependabot[bot]
b3172ecae8
Bump aioesphomeapi from 45.6.0 to 45.6.1 ( #17653 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-21 08:18:14 +12:00
esphome[bot]
2b4d9c0af9
Bump bundled esphome-device-builder to 1.6.2 ( #17640 )
...
Co-authored-by: esphome[bot] <115708604+esphome[bot]@users.noreply.github.com>
2026-07-21 08:18:14 +12:00
Jesse Hills
3a10d2c187
[nrf52] Set ZEPHYR_SDK_INSTALL_DIR for Zephyr SDK discovery ( #17633 )
2026-07-21 08:18:14 +12:00
Jonathan Swoboda
05e2c6b133
[web_server_idf] Use core format_hex_to helper for digest auth (fixes Arduino build) ( #17608 )
2026-07-21 08:18:14 +12:00
Jonathan Swoboda
2797349c75
[http_request] Fix use-after-return of header collection state in IDF backend ( #17627 )
2026-07-21 08:18:14 +12:00
Jonathan Swoboda
95a01ac2ab
[core] Improve framework mirror selection, download errors, and version parsing ( #17615 )
2026-07-21 08:18:14 +12:00
J. Nick Koston
ea01c909b7
[micro_wake_word] Include the local model file in bundles ( #17604 )
2026-07-21 08:18:14 +12:00
Jonathan Swoboda
d3655597ea
[as3935_i2c] Use repeated start when reading registers ( #17584 )
2026-07-21 08:18:14 +12:00
J. Nick Koston
cd8d76fa34
[esp8266] Fail fast when Rosetta 2 is missing on Apple Silicon Macs ( #17737 )
2026-07-21 08:17:01 +12:00
J. Nick Koston
500d4aa9e9
[wireguard] Mark private keys sensitive, stop redacting public keys ( #17736 )
2026-07-20 20:13:56 +00:00
J. Nick Koston
271c1b409a
[espidf] Resume interrupted toolchain downloads instead of restarting ( #17706 )
2026-07-21 08:12:17 +12:00