J. Nick Koston
36250682b0
[core] Split hal.h into per-platform headers under core/hal/
...
Mirror the wake.{h,cpp} → wake/wake_<platform>.{h,cpp} decomposition
that PR #15978 did. After this change esphome/core/hal.h is a thin
dispatcher and each platform's HAL bits (IRAM_ATTR / PROGMEM macros,
in_isr_context(), the inline yield/delay/micros/millis/millis_64
wrappers, plus ESP8266's progmem_read_*) live in their own header
under esphome/core/hal/.
Scope is headers only — there is no esphome/core/hal.cpp today (every
out-of-line implementation lives in esphome/components/<platform>/core.cpp
alongside platform-specific concerns) so no new .cpp files are added
and no FILTER_SOURCE_FILES entries are needed in core/config.py.
recursive_sources=True on the core manifest already picks up the new
.h files automatically.
No public API moves, no symbol renames, no behavior change. Pure code
motion. The only observable difference is the dispatcher #errors when
no USE_* is set (today an unknown platform silently fell through to
the else branch with empty IRAM_ATTR/PROGMEM); this matches wake.h's
behavior.
2026-04-28 21:19:21 -05:00
J. Nick Koston
4f75647f63
Merge upstream/dev into inline-micros-esp32
...
Resolves conflict in esphome/components/esp8266/core.cpp per PR #15977 plan:
keep #15662 's fast millis() accumulator and optimistic_yield delay() body;
drop the upstream wrappers for yield()/millis_64()/micros() since those
are now always-inlined in hal.h.
2026-04-28 20:54:39 -05:00
J. Nick Koston
eec770d622
[core] Use ETag in external_files cache to fix re-downloads from raw.githubusercontent.com ( #16020 )
2026-04-29 13:52:09 +12:00
J. Nick Koston
d7b21a84a3
[git] Make ref fetches and submodule updates shallow ( #16014 )
2026-04-29 13:49:51 +12:00
J. Nick Koston
f05243bd9d
[api] Add 48-bit MAC address varint fast path for BLE advertisements ( #15988 )
2026-04-29 13:48:35 +12:00
J. Nick Koston
35cb28edfe
[output] Gate FloatOutput power scaling fields behind USE_OUTPUT_FLOAT_POWER_SCALING ( #15998 )
2026-04-29 13:27:22 +12:00
J. Nick Koston
1363f661e6
[core] Inline ContinuationAction in If/While/RepeatAction ( #16040 )
2026-04-28 21:26:25 -04:00
J. Nick Koston
8af499b591
[api] Use custom deleter to fix incomplete-type error on macOS libc++ ( #16050 )
2026-04-28 21:26:21 -04:00
Jonathan Swoboda
1a57d9bc2f
[sprinkler][pn532] Fix bugprone-unchecked-optional-access ( #16102 )
2026-04-29 01:04:19 +00:00
J. Nick Koston
9768380856
[api] Hoist memw out of socket ready check to once per main-loop iter ( #15996 )
2026-04-29 13:04:10 +12:00
J. Nick Koston
676f26919e
[mdns] Drive MDNS.update() polling from IP state events on ESP8266/RP2040 ( #15961 )
2026-04-29 13:02:21 +12:00
J. Nick Koston
29d3a3a498
[esp8266] Replace millis() with fast accumulator, wrap Arduino callers ( #15662 )
2026-04-29 12:58:00 +12:00
Jonathan Swoboda
77b76ac48a
[inkbird_ibsth1_mini][speaker][speaker_source] Fix performance-unnecessary-copy-initialization ( #16101 )
2026-04-29 00:56:03 +00:00
Clyde Stubbs
0b5835284a
[lvgl] Additional layout features ( #16041 )
2026-04-29 12:35:24 +12:00
Jonathan Swoboda and J. Nick Koston
15df477472
[core] Reduce copies in Callback/CallbackManager call paths ( #16093 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 19:41:28 -04:00
Jonathan Swoboda
be0ee73847
[i2c] NOLINT readability-identifier-naming on Zephyr struct forward-decl ( #16099 )
2026-04-28 19:22:42 -04:00
Jonathan Swoboda
a241c9e622
[online_image][sim800l] Use std::string::starts_with for prefix checks ( #16097 )
2026-04-28 19:02:39 -04:00
Jonathan Swoboda
2f433c78bd
[haier] Brace single-statement else-if in smartair2_climate ( #16098 )
2026-04-28 18:56:36 -04:00
Jonathan Swoboda
e39c474577
[binary_sensor] Bind at_index_ once in MultiClick on_state_ ( #16095 )
2026-04-28 22:13:35 +00:00
Jonathan Swoboda
a62e3fe4fc
[json] NOLINT StackAddressEscape false positive in parse_json ( #16091 )
2026-04-28 21:35:40 +00:00
Jonathan Swoboda
7d6b9bee19
[wifi] Avoid copying EAP config in three connect handlers ( #16094 )
2026-04-28 21:22:29 +00:00
Jonathan Swoboda
ab6bda50e4
[esp32_ble] Widen loop variable in as_128bit() to match uuid_.len type ( #16088 )
2026-04-28 20:58:40 +00:00
Jonathan Swoboda
3d195d748c
[ezo] Use make_unique to construct EzoCommand ( #16092 )
2026-04-28 20:50:15 +00:00
Jonathan Swoboda
16cf4fb5e8
[nextion] Use std::string::starts_with for HTTPS URL check ( #16090 )
2026-04-28 20:47:20 +00:00
Jonathan Swoboda
70503442f4
[dfrobot_sen0395] Brace single-statement else-if in enqueue() ( #16089 )
2026-04-28 20:37:29 +00:00
Jonathan Swoboda
594b269dba
[bme680] Rename cal1/cal2 to coeff1/coeff2 ( #16087 )
2026-04-28 20:33:57 +00:00
Clyde Stubbs
8157c721a5
[mapping] Implement default value ( #15861 )
2026-04-29 06:31:37 +10:00
Clyde Stubbs
9af557de6d
[lvgl] Add utility gradient function ( #16048 )
2026-04-29 06:29:38 +10:00
Jonathan Swoboda
1f4136e76f
[pipsolar] Guard handle_qmod_ against empty message ( #16085 )
2026-04-28 16:29:09 -04:00
Jonathan Swoboda
c8dffcc9b8
[tlc5971] Remove dead bit-banging delay code ( #16086 )
2026-04-28 15:28:33 -05:00
dependabot[bot]
44fbb7f5a9
Bump CodSpeedHQ/action from 4.14.0 to 4.15.0 ( #16084 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-28 15:10:21 -05:00
Jonathan Swoboda
eb01d43feb
[spi][http_request][demo] Fix latent clang-tidy issues in headers ( #16080 )
2026-04-28 16:09:35 -04:00
Jonathan Swoboda
7891fd5cf1
Add dependencies.lock to .gitignore ( #16081 )
2026-04-29 07:38:31 +12:00
Jonathan Swoboda
4ee9cc432b
[ci] Install requirements_dev.txt in the cached venv ( #16082 )
2026-04-29 07:37:46 +12:00
Mat931
42ff10afe5
[watchdog] Fix WatchdogManager on single core apps ( #16074 )
2026-04-28 17:32:44 +00:00
tomaszduda23 and J. Nick Koston
6b3df66bdc
[nrf52] make reset pin optional ( #11684 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-28 12:20:38 -05:00
968878a62d
[nrf52] implement wake_loop_threadsafe/wakeable_delay ( #16032 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-28 16:35:12 +00:00
J. Nick Koston
daf3f4d2f1
[core] wakeable_delay: yield on already-woken fast path (ESP8266, RP2040) ( #16045 )
2026-04-28 10:41:17 -05:00
Bonne Eggleston and J. Nick Koston
52e8c50f45
[modbus] Split modbus_server from modbus_controller ( #15509 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 10:21:25 -05:00
J. Nick Koston
0a4d9b430f
[ci] Add import-time regression check for esphome.__main__ ( #15954 )
2026-04-28 14:05:12 +00:00
J. Nick Koston
0759a3c681
[core] Split wake.{h,cpp} into per-platform files ( #15978 )
2026-04-28 08:48:13 -05:00
8921e3bb3f
[api] add open states for lock to api.proto ( #15901 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-28 07:49:16 -05:00
Clyde Stubbs and J. Nick Koston
52f80618d4
[lvgl] Allow a binary sensor to report checked or pressed state ( #16073 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 22:00:29 +10:00
Jesse Hills and Claude Opus 4.7
876c8c4c2a
[ci-custom] Lint imports of esphome.components.const outside components ( #16068 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-28 05:59:02 -05:00
Darafei Praliaskouski
41458d72e0
[esp32] Make Arduino app metadata reproducible ( #16053 )
2026-04-28 05:58:34 -05:00
Brandon Harvey and Claude Opus 4.7
49d3df2698
[automation] Fix codegen type for component.resume update_interval ( #16069 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-28 05:27:20 -05:00
J. Nick Koston
792f2e8363
[ota] Add wall-clock timeout to OTA data transfer loop ( #16047 )
2026-04-28 17:29:42 +12:00
J. Nick Koston
42c9fdc87e
[feedback] Use App.get_loop_component_start_time() and constexpr timeout id ( #16063 )
2026-04-28 16:39:08 +12:00
Jesse Hills
5f6bbb98ce
Merge branch 'release' into dev
2026-04-28 15:40:19 +12:00
Jesse Hills
4e0509435a
Merge pull request #16067 from esphome/bump-2026.4.3
...
2026.4.3
2026.4.3
2026-04-28 15:39:24 +12:00