J. Nick Koston
ba1bbaf67d
[esp32] Move heap functions to flash, saving ~6KB
...
This is the culmination of months of work to reduce heap churn
throughout the ESPHome codebase. By systematically eliminating
unnecessary dynamic allocations (StaticVector, FixedVector, const
char* instead of std::string, pre-allocated buffers, etc.), heap
functions are now called so infrequently that they can safely be
moved from IRAM to flash.
Enable CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH by default, which moves
malloc/free/realloc from IRAM to flash. This is safe because:
- Heap functions should never be called from ISRs
- CONFIG_SPI_MASTER_ISR_IN_IRAM is not enabled
- Audio/video use pre-allocated ring buffers, not dynamic allocation
Measured results: +6,124 bytes of heap freed.
Add heap_in_iram advanced option as an escape hatch for users who
need heap functions in IRAM for specific use cases.
2026-01-03 15:10:32 -10:00
f11abc7dbf
[water_heater] (2/4) Implement template for new water_heater component ( #12516 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-01-03 14:45:49 -10:00
tomaszduda23
ec05692f0d
[nrf52] add printk doc ( #12839 )
2026-01-04 00:12:31 +00:00
J. Nick Koston
2e2e54811a
[absolute_humidity] Combine log statements to reduce loop blocking ( #12838 )
2026-01-03 17:52:23 -06:00
Clyde Stubbs
c29aa61e2a
[image] Use alternative version of CairoSVG on Windows ( #12811 )
2026-01-04 10:08:47 +11:00
J. Nick Koston
cb3edfc654
[wifi] Use stack-based MAC formatting in ESP8266 and IDF event handlers ( #12834 )
2026-01-03 12:32:22 -10:00
J. Nick Koston
6685fa1da9
[core] Fix startup delay from setup timing logs when console connected ( #12832 )
2026-01-03 12:32:10 -10:00
J. Nick Koston
d505f0316b
[wifi] Combine scan result log lines to reduce loop blocking with many matching APs ( #12830 )
2026-01-03 12:31:58 -10:00
J. Nick Koston
9781073f2a
[espnow] Use stack-based MAC formatting and remove dead code ( #12836 )
2026-01-03 12:31:38 -10:00
John Hollowell
0a0501c140
Fix comment typos ( #12828 )
2026-01-03 17:11:48 -05:00
Jasper van der Neut - Stulen
a6e9aa7876
[mhz19] Refactor Actions to Parented ( #12837 )
2026-01-03 17:11:02 -05:00
Conrad Juhl Andersen
ede7391582
[wts01] Fix negative values for WTS01 sensor ( #12835 )
2026-01-03 17:06:33 -05:00
Jasper van der Neut - Stulen and Fabio Pugliese Ornellas
5cfcf8d104
[mhz19] Make detection range configurable ( #12677 )
...
Co-authored-by: Fabio Pugliese Ornellas <fabio.ornellas@gmail.com >
2026-01-03 15:51:48 -05:00
J. Nick Koston
c34665f650
[api] Fix KeyError when running logs after password removal ( #12831 )
2026-01-03 19:13:07 +00:00
69867bf818
[nrf52, zephyr] move nrf52-specific code to nrf52 component ( #12582 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
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@home-assistant.io >
2026-01-03 18:58:56 +00:00
J. Nick Koston
1d323c2d71
[api] Remove deprecated password authentication ( #12819 )
2026-01-03 07:14:48 -10:00
tomaszduda23
95a7356ea0
[uart] make sure that all variables are initialized ( #12823 )
2026-01-03 03:43:17 -06:00
J. Nick Koston
89b550b74a
[tests] Remove reserved / character from entity names in component tests ( #12820 )
2026-01-03 01:00:46 -06:00
dependabot[bot]
538c6544a0
Bump ruamel-yaml from 0.18.17 to 0.19.1 ( #12768 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 20:51:56 -10:00
dependabot[bot]
98e3695c89
Bump aioesphomeapi from 43.9.1 to 43.10.0 ( #12821 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-03 06:45:17 +00:00
J. Nick Koston
00fd4f2fdd
[esp8266] Exclude unused waveform code to save ~596 bytes RAM ( #12690 )
2026-01-02 19:51:07 -10:00
J. Nick Koston
2a5be725c8
[api] Enable zero-copy bytes SOURCE_BOTH messages ( #12816 )
2026-01-02 19:50:30 -10:00
Robert Klep
c4d339a4c9
[core] Add CONF_ON_START ( #12439 ) ( #12440 )
2026-01-02 23:42:18 -05:00
J. Nick Koston and Stefan Rado
6409970f6e
[uponor_smatrix] Use stack-based hex formatting in verbose logging ( #12797 )
...
Co-authored-by: Stefan Rado <628587+kroimon@users.noreply.github.com >
2026-01-02 16:41:02 -10:00
J. Nick Koston
bc1af007b4
[vbus] Use stack-based hex formatting in verbose logging ( #12796 )
2026-01-02 16:40:47 -10:00
Thomas Rupprecht
c3ffc1635d
[gps] add icon for HDOP and use correct state_class for longitude and… ( #12718 )
2026-01-02 21:40:28 -05:00
J. Nick Koston
016eeef04a
[tee501] Use stack-based hex formatting in verbose logging ( #12795 )
2026-01-02 16:40:06 -10:00
J. Nick Koston
ace48464a8
[addressable_light] Use StringRef to avoid allocation when saving effect name ( #12759 )
2026-01-02 16:39:44 -10:00
J. Nick Koston
64ba376330
[hte501] Use stack-based hex formatting in verbose logging ( #12794 )
2026-01-02 16:37:38 -10:00
J. Nick Koston
d946ddabfd
[xiaomi_ble] Use stack-based hex formatting in verbose logging ( #12793 )
2026-01-02 16:37:16 -10:00
J. Nick Koston
a57011b50b
[kuntze] Use stack buffer for hex formatting in verbose logging ( #12775 )
2026-01-02 16:36:57 -10:00
J. Nick Koston
1240e7907e
[api] Use stack-based format_hex_pretty_to for packet logging macros ( #12788 )
2026-01-02 16:35:44 -10:00
J. Nick Koston
f0391f0213
[api] Remove object_id from API protocol - clients compute it from name #12698 ( #12818 )
2026-01-02 16:32:46 -10:00
J. Nick Koston
3cc6810be5
[core] Remove object_id RAM storage - no longer in hot path after #12627 ( #12631 )
2026-01-02 15:46:01 -10:00
J. Nick Koston
916370a943
[gpio] Avoid heap allocation in dump_summary ( #12760 )
2026-01-02 15:42:56 -10:00
J. Nick Koston
e2f45c590e
[esp32_improv] Use stack buffer for hex formatting in verbose logging ( #12737 )
2026-01-02 14:28:38 -10:00
J. Nick Koston
7d21411ca4
[epaper_spi] Use stack buffer for hex formatting in command logging ( #12734 )
2026-01-02 14:27:00 -10:00
J. Nick Koston
56ed5af27d
[nextion] Use stack buffers for hex formatting in upload logging ( #12733 )
2026-01-02 14:26:14 -10:00
J. Nick Koston
c8241b0122
[sonoff_d1] Use stack buffer for hex formatting in logging ( #12730 )
2026-01-02 14:25:02 -10:00
J. Nick Koston
30efd7fb07
[jsn_sr04t] Use stack buffer for hex formatting in error logging ( #12729 )
2026-01-02 14:24:47 -10:00
J. Nick Koston
1703343694
[a02yyuw] Use stack buffer for hex formatting in error logging ( #12728 )
2026-01-02 14:24:30 -10:00
J. Nick Koston
7fa04b6c25
[a01nyub] Use stack buffer for hex formatting in error logging ( #12727 )
2026-01-02 14:23:33 -10:00
J. Nick Koston
61b6476de4
[opentherm] Replace heap-allocating format calls with printf format specifiers in debug_error ( #12726 )
2026-01-02 14:23:18 -10:00
J. Nick Koston
b4e5e0bc9b
[rc522] Use stack buffers for hex formatting in tag logging ( #12725 )
2026-01-02 14:22:58 -10:00
J. Nick Koston
f9b4e0e489
[remote_base] Use stack buffer for hex formatting in haier protocol logging ( #12723 )
2026-01-02 14:22:26 -10:00
J. Nick Koston
9ccb100cca
[remote_base] Use stack buffer for hex formatting in mirage protocol logging ( #12722 )
2026-01-02 14:21:42 -10:00
J. Nick Koston
20b66cba23
[shelly_dimmer] Use stack buffer for hex formatting in command logging ( #12721 )
2026-01-02 14:21:23 -10:00
J. Nick Koston
b711172b33
[wifi] Use precision format specifier for SSID logging to avoid stack copy ( #12704 )
2026-01-02 14:21:09 -10:00
J. Nick Koston
0c4184b129
[cse7766] Use stack buffer for hex formatting in debug logging ( #12732 )
2026-01-02 14:20:17 -10:00
J. Nick Koston
0e108c2178
[esp32] Add minimum_chip_revision setting and log chip revision at startup ( #12696 )
2026-01-02 14:14:52 -10:00