J. Nick Koston
5d31f4aeba
[light] Use function-pointer fields in LightControlAction ( #15132 )
2026-04-07 12:00:17 -10:00
Jonathan Swoboda
9fe4d5c63d
[rp2040_pio_led_strip][rp2040_pio] Fix CUSTOM chipset crash and improve error message ( #15537 )
2026-04-07 11:56:50 -10:00
Jonathan Swoboda
97ad5ab35f
[udp] Fix on_receive only processing first automation ( #15538 )
2026-04-07 11:56:01 -10:00
Jonathan Swoboda
e7ddc6f6d3
[multiple] Fix validation ranges (batch 2) ( #15533 )
2026-04-07 17:54:57 -04:00
Jonathan Swoboda
cbcf80081b
[pcf8563] Fix default I2C address from 8-bit (0xA3) to 7-bit (0x51) ( #15526 )
2026-04-07 17:54:12 -04:00
Jonathan Swoboda
3073f3ec5c
[haier] Fix control_method schema incorrectly using ensure_list ( #15523 )
2026-04-07 17:53:16 -04:00
Jonathan Swoboda
5a52936f72
[graph] Fix legend config incorrectly accepting a list ( #15522 )
2026-04-07 17:52:33 -04:00
Jonathan Swoboda
3ca3cdc5e2
[multiple] Fix missing entity base classes in Python class declarations ( #15534 )
2026-04-07 11:44:28 -10:00
Jonathan Swoboda
4ebfe71b8f
[seeed_mr24hpc1] Move baud rate validation to FINAL_VALIDATE_SCHEMA ( #15536 )
2026-04-07 11:42:33 -10:00
Jonathan Swoboda
2fe6cb392b
[rotary_encoder] Fix set_value action accepting any sensor ID ( #15535 )
2026-04-07 11:40:43 -10:00
J. Nick Koston
f61d316bbb
Merge remote-tracking branch 'origin/light-control-action-compact' into integration
2026-04-07 11:28:50 -10:00
J. Nick Koston
35a7ba75de
reduce
2026-04-07 11:26:06 -10:00
J. Nick Koston
1ad84035c3
reduce
2026-04-07 11:24:19 -10:00
J. Nick Koston
e862b4f5fd
reduce
2026-04-07 11:23:37 -10:00
J. Nick Koston
0d65d23c05
lambda everything
2026-04-07 11:16:10 -10:00
Edward Firmo
d354747da0
[nextion] Fix format specifiers and error message typos in command handlers ( #15542 )
2026-04-07 21:10:56 +00:00
Jonathan Swoboda
17ec5389d8
[mcp4461] Fix terminal disable passing string where C++ expects char ( #15528 )
2026-04-07 11:07:28 -10:00
Jonathan Swoboda
687753b0be
[lightwaverf] Fix write pin using input schema instead of output ( #15525 )
2026-04-07 11:03:55 -10:00
Jonathan Swoboda
186525e77d
[ld2420] Fix select options wrapped in extra list ( #15524 )
2026-04-07 10:57:26 -10:00
Jonathan Swoboda
9d396cea5a
[grove_tb6612fng] Move direction logic from Python to C++ to fix lambda crash ( #15513 )
2026-04-07 10:56:25 -10:00
dependabot[bot]
ac14b9e558
Bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0 ( #15541 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-07 10:40:21 -10:00
J. Nick Koston
ef6c65c7ec
[cli] Add config bundle CLI command for remote compilation ( #13791 )
2026-04-07 10:37:19 -10:00
dependabot[bot]
c6c743e2bb
Bump pytest from 9.0.2 to 9.0.3 ( #15540 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-07 10:26:11 -10:00
J. Nick Koston
6460f3a757
[api] Add max_data_length and force to DeviceInfoResponse/HelloResponse proto fields ( #15514 )
2026-04-07 10:24:36 -10:00
J. Nick Koston
0d809a7481
[automation] Add CallbackAutomation dataclass and build_callback_automations helper ( #15246 )
2026-04-07 10:09:27 -10:00
J. Nick Koston
cf78b035be
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-07 08:53:34 -10:00
J. Nick Koston
674d030cbb
[core] Reschedule fired intervals directly into heap ( #15516 )
2026-04-07 07:36:55 -10:00
Diorcet Yann
7ab7538220
[hdc2080] Fix tests ( #15518 )
2026-04-06 21:59:05 -10:00
J. Nick Koston
9d43ed77c6
Merge remote-tracking branch 'origin/scheduler-interval-direct-heap' into integration
2026-04-06 20:58:44 -10:00
J. Nick Koston
cf704b6b91
Address review: remove unused global, fix assertion messages
2026-04-06 20:54:01 -10:00
J. Nick Koston
c79e7f4018
[core] Reschedule fired intervals directly into heap instead of to_add_
...
When an interval fires in Scheduler::call(), push it directly back into
items_ via push_back() + push_heap() instead of routing through the
to_add_ staging vector and process_to_add_slow_path_().
This eliminates per-cycle overhead of process_to_add_slow_path_() which
acquires a lock, iterates to_add_, pushes each item into the heap, clears
the vector, and resets the atomic counter.
2026-04-06 20:37:04 -10:00
J. Nick Koston
cfb6af6c69
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-06 19:19:44 -10:00
J. Nick Koston
d0b3cdebdb
Merge remote-tracking branch 'upstream/fan-store-preset-modes-on-entity' into integration
2026-04-06 19:19:34 -10:00
J. Nick Koston
e3d95817a1
Merge remote-tracking branch 'upstream/climate-store-custom-modes-on-entity' into integration
2026-04-06 19:18:58 -10:00
J. Nick Koston
26e2d8c50d
Merge remote-tracking branch 'upstream/api-max-data-length-force' into integration
2026-04-06 19:18:53 -10:00
dependabot[bot]
488a6a1c40
Bump aioesphomeapi from 44.11.1 to 44.12.0 ( #15515 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-07 05:15:03 +00:00
J. Nick Koston
60b5893ec7
Merge branch 'dev' into climate-store-custom-modes-on-entity
2026-04-06 18:46:43 -10:00
J. Nick Koston
6db21ec054
Merge branch 'dev' into fan-store-preset-modes-on-entity
2026-04-06 18:46:32 -10:00
J. Nick Koston
7e0216e1bf
[core] Add type annotations to cv.ByteLength
2026-04-06 18:45:08 -10:00
J. Nick Koston
d3df97f534
Merge remote-tracking branch 'origin/api-max-data-length-force' into integration
2026-04-06 18:42:13 -10:00
J. Nick Koston
9ed1a35544
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-06 18:42:00 -10:00
J. Nick Koston
b86ab07632
[core] Fix test for byte-length error message, add ByteLength and multibyte tests
2026-04-06 18:38:58 -10:00
J. Nick Koston
cf9e79beda
Merge branch 'dev' into api-max-data-length-force
2026-04-06 18:34:36 -10:00
J. Nick Koston
cfcf9216f3
[core] Add cv.ByteLength validator, switch all proto-backed length checks to byte length
...
Add cv.ByteLength() validator that checks UTF-8 byte length instead
of character count. This ensures multibyte characters don't cause
the encoded string to exceed the proto max_data_length limit.
Switch all length validators that feed into proto fields with
max_data_length annotations to use byte length:
- Entity names, friendly names, area names, device names
- Icons, device classes, units of measurement
- Board names, project name/version
2026-04-06 18:33:04 -10:00
J. Nick Koston
52d76f8db0
[api] Fix name max_data_length to match hostname limit, add suggested_area
...
- Fix HelloResponse.name and DeviceInfoResponse.name max_data_length
from 120 to 31 to match ESPHOME_DEVICE_NAME_MAX_LEN (hostname limit)
- Add max_data_length=120 + force to suggested_area field
- Add static_asserts for ESPHOME_DEVICE_NAME_MAX_LEN and
ESPHOME_FRIENDLY_NAME_MAX_LEN
- Fix comments to accurately describe guarantees
2026-04-06 18:17:04 -10:00
J. Nick Koston
5a92a3b16e
[api] Add max_data_length/force to model and project fields, validate board/project lengths
...
Add BOARD_MAX_LENGTH and PROJECT_MAX_LENGTH constants (127) and
enforce them in YAML validation for all platform board schemas
and project name/version.
Add max_data_length + force proto options to model, project_name,
and project_version fields in DeviceInfoResponse.
2026-04-06 18:14:18 -10:00
J. Nick Koston
f94e1dfab6
[core] Move ControllerRegistry notify methods inline into header ( #15505 )
2026-04-07 16:12:01 +12:00
J. Nick Koston
95974358ab
[api] Add max_data_length and force to DeviceInfoResponse/HelloResponse proto fields
...
Add max_data_length + force proto options to string fields in
HelloResponse, AreaInfo, DeviceInfo, and DeviceInfoResponse where
we have strong compile-time or codegen guarantees on max length.
This enables encode_short_string_force() (direct byte writes,
no varint branching) for fields with single-byte tags, and
fixed-formula size calculations for all annotated fields.
Add static_asserts to cross-validate C++ constexpr constants
(MAC_ADDRESS_PRETTY_BUFFER_SIZE, BUILD_TIME_STR_SIZE,
ESPHOME_VERSION, ESPHOME_MANUFACTURER) against the proto
max_data_length annotations.
2026-04-06 18:03:26 -10:00
Jonathan Swoboda
e49384cd57
[dfrobot_sen0395] Fix list.index() on mutated list in range validator ( #15511 )
2026-04-06 23:42:39 -04:00
J. Nick Koston
14a48ec6ac
Merge remote-tracking branch 'upstream/dev' into integration
2026-04-06 17:33:57 -10:00