J. Nick Koston
36ac6e277a
Merge branch 'dev' into optimize-value-accuracy
2026-04-09 07:54:37 -10:00
J. Nick Koston
03db32d045
[core] Add CodSpeed benchmarks for hot helper functions ( #15593 )
2026-04-09 07:48:32 -10:00
J. Nick Koston
8f6d489a9a
[ci] Use --base-only for memory impact builds ( #15598 )
2026-04-09 11:48:33 -04:00
J. Nick Koston
dd07fba943
[socket] Document ready() contract: callers must drain or track ( #15590 )
2026-04-09 11:48:18 -04:00
J. Nick Koston
6f5d642a31
[gdk101] Increase reset retries for slow-booting sensor MCU ( #15584 )
2026-04-09 11:48:10 -04:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2721f08bcc
Bump aioesphomeapi from 44.12.0 to 44.13.1 ( #15600 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-09 10:03:58 +00:00
J. Nick Koston
e0fa1340e2
Use std::span for uint32_to_str public API
2026-04-08 21:02:20 -10:00
J. Nick Koston
3b45179948
Split uint32_to_str/frac_to_str into internal and public API
...
- uint32_to_str_(): raw pointer, internal use
- uint32_to_str(): template with compile-time buffer size check
- frac_to_str_(): raw pointer, internal use
- small_pow10(): simplify to ternary chain
2026-04-08 21:01:32 -10:00
J. Nick Koston
e52c3b01e6
Extract buf_append_sep_str helper, add tests
2026-04-08 20:52:51 -10:00
J. Nick Koston
c8e636f253
Add unit tests for small_pow10, uint32_to_str, frac_to_str
2026-04-08 20:51:06 -10:00
J. Nick Koston
ff1f0a0d46
Extract inline helpers: small_pow10, uint32_to_str, frac_to_str
2026-04-08 20:50:03 -10:00
J. Nick Koston
5ac1f10b28
Fix clang-tidy braces
2026-04-08 20:46:16 -10:00
J. Nick Koston
d8e586609f
[core] Optimize value_accuracy_to_buf to avoid snprintf
...
Replace snprintf("%.*f") with integer-based formatting for finite
float values with accuracy_decimals 0-3 (covers virtually all sensor
usage). Falls back to snprintf for higher accuracy or NaN/Inf.
Uses lrint() with double cast for the multiply to match snprintf's
rounding behavior exactly. The fast path avoids snprintf's heavy
float formatting machinery entirely.
Also optimizes value_accuracy_with_uom_to_buf to append the UOM
string directly instead of going through snprintf.
Adds C++ unit tests that verify output matches snprintf for a range
of values including edge cases.
Benchmark: 92,961ns -> 6,484ns (14.3x faster, 2000 iterations).
2026-04-08 20:46:16 -10:00
J. Nick Koston
352121b7bf
[core] Add CodSpeed benchmarks for hot helper functions
...
Add benchmarks for format_hex_to, format_hex_pretty_to,
format_mac_addr_upper, fnv1_hash, fnv1a_hash, fnv1_hash_object_id,
parse_hex, crc8, crc16, value_accuracy_to_buf, int8_to_str, and
base64_decode to establish baseline performance data before optimization.
2026-04-08 19:57:37 -10:00
J. Nick Koston
eafc5df3f2
[safe_mode] Combine related OTA rollback log messages ( #15592 )
2026-04-09 05:30:39 +00:00
J. Nick Koston
46d0c29be5
[safe_mode] Use loop component start time instead of millis() ( #15591 )
2026-04-09 05:20:32 +00:00
J. Nick Koston
abdbbf4dd2
[api] Fix ListEntitiesRequest not read due to LWIP rcvevent tracking ( #15589 )
2026-04-09 02:14:01 +00:00
Jesse Hills
4dc0599a7d
Merge branch 'beta' into dev
2026-04-09 13:41:27 +12:00
Jesse Hills
ded0936b2a
Merge pull request #15587 from esphome/bump-2026.4.0b1
...
2026.4.0b1
2026.4.0b1
2026-04-09 13:40:37 +12:00
Jesse Hills
52c35ec09c
Bump version to 2026.5.0-dev
2026-04-09 11:28:48 +12:00
J. Nick Koston
76490e45bc
[ci] Fix status-check-labels workflow flooding CI queue ( #15585 )
2026-04-08 13:08:29 -10:00
0a8130858c
[ade7953_spi] Fix SPI mode on esp-idf ( #14824 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-04-08 22:57:53 +00:00
Jesse Hills
ff5ba99d16
Bump version to 2026.4.0b1
2026-04-09 10:39:13 +12:00
Clyde Stubbs
14ec82084b
[rpi_dpi_rgb][qspi_dbi] Add deprecation warnings ( #15583 )
2026-04-09 10:35:09 +12:00
J. Nick Koston
8e02d0a20e
[fan] Store preset mode vector on Fan entity to eliminate heap allocation ( #15209 )
2026-04-09 10:25:37 +12:00
J. Nick Koston
faa05031a7
[climate] Store custom mode vectors on Climate entity to eliminate heap allocation ( #15206 )
2026-04-09 10:25:29 +12:00
J. Nick Koston
d4cce142c5
[api] Fix batch messages stuck in Nagle buffer ( #15581 )
2026-04-08 21:11:31 +00:00
J. Nick Koston
576d89a82a
[api] Peel first write iteration, inline socket writes, zero-gap batch encoding ( #15063 )
2026-04-08 11:05:53 -10:00
J. Nick Koston
4a18ef87d7
[codegen] Fix templatable float type to use cg.float_ ( #15568 )
2026-04-08 20:23:36 +00:00
2cd92a311b
[esp32] Capture both cores' backtraces in crash handler ( #15559 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-04-08 20:14:18 +00:00
J. Nick Koston
94f1e48d95
[esp32] Preserve crash data across OTA rollback reboots ( #15578 )
2026-04-08 16:09:43 -04:00
Jonathan Swoboda
19c8f0ac7a
[zephyr] Fix user overlay only emitting first property ( #15560 )
2026-04-08 09:46:36 -10:00
J. Nick Koston
312dea7ddb
[json] Fix heap buffer overflow in SerializationBuffer truncation path ( #15566 )
2026-04-08 19:46:16 +00:00
Jonathan Swoboda
fb0033947c
[qspi_dbi] Connect _validate to CONFIG_SCHEMA ( #15563 )
2026-04-08 09:45:43 -10:00
Jonathan Swoboda
4b8f99ed10
[modbus_controller] Fix output missing address validation and text_sensor division ( #15561 )
2026-04-08 09:44:19 -10:00
Jonathan Swoboda
4a764ae1e3
[spi] Fix IndexError on invalid RP2040 CLK pin ( #15562 )
2026-04-08 09:42:47 -10:00
J. Nick Koston
5b840c1662
[codegen] Fix templatable bool type to use cg.bool_ ( #15569 )
2026-04-08 19:39:12 +00:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
62d84db5a4
Bump CodSpeedHQ/action from 4.13.0 to 4.13.1 ( #15577 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 09:38:17 -10:00
J. Nick Koston
019d415bbd
[codegen] Fix templatable int type to use cg.int_ ( #15571 )
2026-04-08 19:37:11 +00:00
Clyde Stubbs
7de060ed55
[lvgl] Fix args for lambda in set_rotation action ( #15555 )
2026-04-09 07:22:24 +12:00
J. Nick Koston
cfa41b3467
[codegen] Add cg.int8 type and fix templatable int8 types ( #15573 )
2026-04-09 07:20:16 +12:00
J. Nick Koston
0a42a11f1c
[at581x] Fix non-templated frequency/power_consumption constants for TemplatableFn ( #15576 )
2026-04-08 09:10:46 -10:00
J. Nick Koston
063a8ce666
[codegen] Fix templatable uint32 type to use cg.uint32 ( #15574 )
2026-04-08 09:03:25 -10:00
J. Nick Koston
a2bd83382b
[codegen] Fix templatable uint8 type to use cg.uint8 ( #15572 )
2026-04-08 09:00:59 -10:00
J. Nick Koston
869cace2f3
[web_server] Truncate update entity summary to 256 characters ( #15570 )
2026-04-08 08:59:49 -10:00
J. Nick Koston
b83edf6c17
[script] Resolve IncludeFile objects in component config merge ( #15575 )
2026-04-08 08:57:56 -10:00
J. Nick Koston
e1aa92b983
[rotary_encoder] Fix templatable value type to use cg.int32 ( #15567 )
2026-04-08 14:13:37 -04:00
J. Nick Koston
a72609e640
[yaml] Resolve top-level IncludeFile in load_yaml ( #15557 )
2026-04-08 08:39:14 -04:00
J. Nick Koston and Copilot
a8b7c7a4ac
[core] Add TemplatableFn for 4-byte function-pointer templatable storage ( #15545 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-08 08:38:00 -04:00
Jonathan Swoboda
9bf53e0ab8
[esp32_hosted] Add SPI transport and SDIO 1-bit bus width support ( #15551 )
2026-04-08 03:17:58 +00:00