J. Nick Koston
04032914e9
Merge remote-tracking branch 'upstream/dev' into integration
...
# Conflicts:
# esphome/components/ethernet/__init__.py
# esphome/components/ethernet/ethernet_component_esp32.cpp
2026-03-23 12:45:25 -10:00
J. Nick Koston
9e645c72aa
Merge branch 'api/peel-first-write-iteration' into integration
2026-03-23 12:01:59 -10:00
J. Nick Koston
5ccb246e3b
Merge remote-tracking branch 'upstream/gpio-binary-sensor-field-packing' into integration
2026-03-23 12:01:49 -10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
332118db56
Bump pytest-cov from 7.0.0 to 7.1.0 ( #15123 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-23 11:44:26 -10:00
Clyde Stubbs
6956bf7e53
[text] Add text_sensor for read-only view of text component ( #15090 )
2026-03-24 10:24:25 +13:00
Daniel Kent and Jonathan Swoboda
11b829dda1
[spa06_spi] Add SPA06-003 Temperature and Pressure Sensor - SPI support (Part 3 of 3) ( #14523 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-03-23 15:59:17 -04:00
J. Nick Koston
1e16b30380
[ethernet] Add ENC28J60 SPI Ethernet support ( #14945 )
2026-03-23 19:18:58 +00:00
Daniel Kent
4c1363b104
[spi] Add LOG_SPI_DEVICE macro ( #15118 )
2026-03-23 15:07:40 -04:00
J. Nick Koston
d7e0d5af63
Merge branch 'dev' into api/peel-first-write-iteration
2026-03-23 08:57:13 -10:00
J. Nick Koston
9da0c5bc85
[wifi] Fix roaming attempt counter reset on disconnect during scan ( #15099 )
2026-03-23 08:47:15 -10:00
J. Nick Koston
4b0c711f77
[ci] Ban std::bind in new C++ code ( #14969 )
2026-03-23 08:23:35 -10:00
J. Nick Koston
9385f16128
[text_sensor] Guard raw_callback_ behind USE_TEXT_SENSOR_FILTER, save 4 bytes per instance ( #15097 )
2026-03-23 08:23:22 -10:00
J. Nick Koston
36d2e58b11
[api] Make ProtoDecodableMessage::decode() non-virtual ( #15076 )
2026-03-23 08:23:08 -10:00
J. Nick Koston
03d6b36fe0
[gpio] Compile out interlock fields when unused ( #15111 )
2026-03-23 08:22:38 -10:00
J. Nick Koston
3b5b51b4f0
[time] Point to valid IANA timezone list on validation failure ( #15110 )
2026-03-23 08:22:25 -10:00
Clyde Stubbs
e8c5dfca3e
[lvgl] Various fixes ( #15098 )
2026-03-23 12:09:30 -04:00
Kevin Ahrendt
5a984b54cf
[audio] Bump microOpus to avoid creating an extra opus-staged directory ( #14974 )
2026-03-23 08:31:05 -04:00
J. Nick Koston
08a63950ac
Address review: use stored interrupt_type_ in setup(), update comment
2026-03-23 01:46:31 -10:00
J. Nick Koston
b3b8bd11da
Merge branch 'dev' into gpio-binary-sensor-field-packing
2026-03-23 01:42:47 -10:00
J. Nick Koston
410142eb5a
Merge branch 'gpio-binary-sensor-field-packing' into integration
2026-03-23 01:42:15 -10:00
J. Nick Koston
00d34e9fe8
[gpio] Remove redundant last_state_ and pack GPIOBinarySensor fields
...
Remove last_state_ from GPIOBinarySensorStore — it was always set to
the same value as state_ in the ISR and never written elsewhere, making
the comparison `new_state != last_state_` equivalent to
`new_state != state_`.
Move use_interrupt_ and interrupt_type_ into the store to fill the
padding freed by removing last_state_, eliminating all internal padding.
Store layout (12B, zero padding):
isr_pin_.arg_* 4B
component_* 4B
state_ 1B (volatile)
changed_ 1B (volatile)
use_interrupt_ 1B
interrupt_type_ 1B
Saves 4 bytes per GPIOBinarySensor instance (64B → 60B).
2026-03-23 01:35:24 -10:00
J. Nick Koston
f3e0d7fab0
Merge branch 'light-state-field-alignment' into integration
2026-03-23 01:19:16 -10:00
J. Nick Koston
c1b2b110c5
Use brace initialization for is_transformer_active_
2026-03-23 01:17:27 -10:00
J. Nick Koston
ffd3bb760e
[light] Reorder LightState fields to eliminate padding
...
Move restore_mode_ (uint8_t) next to next_write_ and
is_transformer_active_ (both bool) so all three pack into
a single 4-byte slot. Previously restore_mode_ sat alone
at the end of the struct with 3 bytes of trailing padding.
Saves 4 bytes per LightState instance.
2026-03-23 01:16:36 -10:00
J. Nick Koston
d5a4c06162
Merge branch 'compile-out-gpio-switch-interlock' into integration
2026-03-23 01:09:55 -10:00
J. Nick Koston
574009c6be
[gpio] Compile out interlock fields when unused
...
Save 16 bytes per GPIOSwitch instance (FixedVector<Switch*> 12B +
uint32_t 4B) by guarding interlock fields and logic behind
USE_GPIO_SWITCH_INTERLOCK, which is only defined when the interlock
config option is present.
2026-03-23 01:08:21 -10:00
J. Nick Koston
5822640d2f
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-23 00:05:25 -10:00
Simone Rossetto and J. Nick Koston
43879964bd
[wireguard] bump esp_wireguard to 0.4.4 for mbedtls 4.0+ compatibility ( #15104 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-22 23:03:19 -10:00
J. Nick Koston
30049d6838
Merge remote-tracking branch 'upstream/ci-ban-std-bind' into integration
2026-03-22 21:40:05 -10:00
J. Nick Koston
f744568689
Merge remote-tracking branch 'upstream/component-8byte-optimization' into integration
2026-03-22 21:40:00 -10:00
J. Nick Koston
bd7bdc0e2d
Merge remote-tracking branch 'upstream/devirtualize-decode' into integration
2026-03-22 21:39:51 -10:00
J. Nick Koston
010d7699f2
Use walrus operator in _generate_component_source_table
2026-03-22 21:30:42 -10:00
J. Nick Koston
099bea00f6
Add test for _generate_source_table_code empty input
2026-03-22 21:30:22 -10:00
J. Nick Koston
40f9d09828
Merge branch 'dev' into ci-ban-std-bind
2026-03-22 21:27:45 -10:00
J. Nick Koston
ebb11206e3
Fix stale comment on component_source_index_ field
2026-03-22 21:25:24 -10:00
J. Nick Koston
a92281f899
Add tests for register_component_source, remove redundant index check
...
- Test empty name returns 0
- Test deduplication returns same index
- Test overflow warns and returns 0
- Remove duplicate index==0 check in get_component_log_str() since
component_source_lookup() already handles it
2026-03-22 21:24:13 -10:00
J. Nick Koston
d755922aae
Merge remote-tracking branch 'upstream/dev' into devirtualize-decode
2026-03-22 21:18:09 -10:00
J. Nick Koston
f059a1c2ea
[api] Remove USE_API guards from api_pb2_service (aligned with parent PR)
2026-03-22 21:18:04 -10:00
J. Nick Koston
0ec2a288a3
Merge branch 'dev' into component-8byte-optimization
2026-03-22 21:16:55 -10:00
J. Nick Koston
33bb87b813
Simplify to uint8_t index, add friend declarations, fix tests
...
- Drop 9-bit index scheme in favor of plain uint8_t (max 255 unique
source names, overflow warns in Python and returns 0)
- Add friend declarations for setup()/original_setup() so generated
code can call protected set_component_source_()
- Move get_component_log_str() out of line
- Fix test mocks to provide CORE.data dict
2026-03-22 21:16:18 -10:00
J. Nick Koston
5560c9eef7
[test] Fix flakey ld2412 integration test race condition ( #15100 )
2026-03-22 21:10:51 -10:00
J. Nick Koston
f4097d5a95
[api] Devirtualize API command dispatch ( #15044 )
2026-03-23 19:57:40 +13:00
Keith Burzinski and Claude Sonnet 4.6
225330413a
[uart] Rename FlushResult to UARTFlushResult with UART_FLUSH_RESULT_ prefix ( #15101 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-23 01:55:14 -05:00
J. Nick Koston
e67b5a78d0
[esp32] Patch DRAM segment for testing mode to fix grouped component test overflow ( #15102 )
2026-03-23 01:51:40 -05:00
J. Nick Koston
a6b9dd321d
[core] Shrink Component from 12 to 8 bytes per instance
...
Replace 4-byte component_source_ pointer with a 9-bit index into a
PROGMEM lookup table generated by Python codegen. Source names are
deduplicated at codegen time (same pattern as EntityStringPool).
Shrink warn_if_blocking_over_ from uint16_t (ms) to uint8_t
(centiseconds), saturating at 255 (2550ms).
Saves 4 bytes per component instance (typical configs: 120-200 bytes).
2026-03-22 19:55:34 -10:00
J. Nick Koston
9ad332457e
Merge branch 'deprecate-sensor-raw-state' into integration
2026-03-22 19:19:53 -10:00
J. Nick Koston
5519c2a5a3
[sensor] Narrow pragma to just the raw_state access line, matching select pattern
2026-03-22 19:19:09 -10:00
J. Nick Koston
a1b1df3f71
Merge remote-tracking branch 'upstream/deprecate-sensor-raw-state' into integration
2026-03-22 19:10:28 -10:00
J. Nick Koston
cab07c537e
[sensor] Narrow pragma scope to only functions accessing deprecated raw_state
...
Scope the deprecation warning suppression to just the constructor
and publish_state() instead of the entire file, so unrelated
deprecation warnings aren't accidentally hidden.
2026-03-22 18:56:15 -10:00
J. Nick Koston
5e8497d611
Merge remote-tracking branch 'origin/fix-roaming-counter-reset' into integration
2026-03-22 18:52:39 -10:00