Jesse Hills
ecec3a19c7
[debug] Remove Arduino core dependency from RP2 platform code ( #18267 )
2026-08-11 08:22:20 -04:00
J. Nick Koston
9823ad6abc
[tests] Fix flaky modbus server/controller integration tests ( #18258 )
2026-08-10 23:56:32 -05:00
J. Nick Koston
51b0240fb8
[rp2] Fix %f formatting in logs ( #18256 )
2026-08-10 22:05:19 -05:00
Jesse Hills
f697cf2011
[api] Add DeviceCapabilities message for optional-feature flags ( #17984 )
2026-08-11 14:52:19 +12:00
Jesse Hills
8728aaa616
[core] Use MAC address size constants in BLE components ( #18252 )
2026-08-11 14:21:03 +12:00
J. Nick Koston
eab9a47aa2
[bluetooth_proxy] Retry dropped services-done, disconnect and scanner-state notifications ( #18225 )
2026-08-11 14:20:39 +12:00
Jesse Hills
c2ba2fbfc4
[ld24xx] Use MAC address size constants instead of literals ( #18253 )
2026-08-11 14:18:09 +12:00
J. Nick Koston
3de01d2a2e
Bump aioesphomeapi to 45.8.0 ( #18251 )
2026-08-10 19:56:35 -05:00
dependabot[bot]
791d6659c0
Bump platformdirs from 4.11.0 to 4.11.1 ( #18250 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-11 00:43:35 +00:00
Boris Krivonog and J. Nick Koston
007c677da1
[mitsubishi_cn105] Refactor property encoding/decoding ( #16709 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-10 18:58:34 -05:00
Bonne Eggleston and Claude Fable 5
2a0f2d59f0
[modbus_server] Add coil/discrete-input support ( #17464 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-10 18:13:12 -05:00
c8d2c3691a
[mitsubishi_cn105] Add vertical vane direction select ( #16723 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-08-10 17:58:37 -05:00
Josef Zweck and J. Nick Koston
82a63658f9
[hoermann_hcp] Add Hörmann HCP garage door component ( #17355 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-10 17:20:20 -05:00
Bonne Eggleston
596827c51c
[modbus_client] Add read/write multiple registers (FC 0x17) ( #18215 )
2026-08-10 15:18:48 -05:00
J. Nick Koston
8a16ead8ce
[web_server] Fix basic auth with long credentials ( #18237 )
2026-08-10 14:49:14 -05:00
dependabot[bot]
334afdefb5
Update argcomplete requirement from >=3.7.0 to >=3.7.2 ( #18243 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 15:44:32 -04:00
dependabot[bot]
e7a2980b9c
Bump ruff from 0.16.1 to 0.16.2 ( #18245 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-10 15:44:30 -04:00
dependabot[bot]
b5a78c6c46
Bump CodSpeedHQ/action from 5.0.2 to 5.0.3 ( #18246 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-10 19:36:22 +00:00
J. Nick Koston
671b6216a7
Merge branch 'dev' into neutral-ble-client
2026-08-10 14:30:42 -05:00
dependabot[bot]
8650d175f4
Bump aiohappyeyeballs from 2.6.2 to 2.7.1 ( #18244 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-10 14:26:41 -05:00
2999e7b925
[modbus] Add API for reading/writing coils and discrete inputs in server mode ( #17264 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-10 14:23:49 -05:00
207ae2e4cb
[bk72xx_ble] Support active scanning by packing the GAPM start command ( #18169 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: bdraco <663432+bdraco@users.noreply.github.com >
2026-08-10 14:02:37 -05:00
Boris Krivonog
9e78a768a2
[mitsubishi_cn105] Extract top-level hub ( #16987 )
2026-08-10 14:02:16 -05:00
J. Nick Koston
e4d08a73b0
[ufm01] Prefix PassiveReadResult enumerators to avoid Realtek SDK macro collision ( #18240 )
2026-08-10 13:03:01 -05:00
J. Nick Koston
4cf7ad9c63
[ble_device_base] Treat a partially bound merger as unbound ( #18235 )
2026-08-10 13:02:27 -05:00
J. Nick Koston
293d0b90d9
[core] Document enum class value naming to avoid platform SDK macro collisions ( #18241 )
2026-08-10 13:02:02 -05:00
J. Nick Koston
8f1e439792
[bluetooth_proxy] Finish the connection scan before reserving a slot ( #18239 )
2026-08-10 12:56:16 -05:00
J. Nick Koston
ad733272e5
[bluetooth_proxy] Pair the advertisement flush time with hub_ to close alignment holes ( #18234 )
2026-08-10 12:40:22 -05:00
J. Nick Koston
b7c6245388
[wifi] Save fast connect settings and reset roaming bookkeeping after driver initiated roams ( #18167 )
2026-08-10 12:39:32 -05:00
2184ec2928
[ethernet] Add CH390 SPI ethernet support ( #18226 )
...
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-08-10 12:24:16 -05:00
J. Nick Koston
bae7f19323
[core] Extend '/' in names deprecation window to 2027.7.0 ( #18236 )
2026-08-10 11:32:02 -05:00
56ec21d950
[ufm01] Improve startup with reset retry and passive polling fallback ( #17567 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-10 12:31:31 -04:00
J. Nick Koston
2798ef4de2
[ota] Enforce the backend contract with a concept ( #18192 )
2026-08-10 11:20:38 -05:00
J. Nick Koston
e90b4abe9c
[core] Enforce the preferences contracts with concepts ( #18191 )
2026-08-10 11:20:24 -05:00
J. Nick Koston
5764ca607d
Merge remote-tracking branch 'upstream/dev' into neutral-ble-client
...
# Conflicts:
# esphome/components/ble_device_base/ble_gatt_client.h
# esphome/components/bluetooth_connection/__init__.py
# esphome/components/bluetooth_connection/bluetooth_connection.cpp
# esphome/components/bluetooth_connection/bluetooth_connection.h
# esphome/components/bluetooth_connection/bluetooth_connection_bluedroid.cpp
# esphome/components/bluetooth_connection/bluetooth_connection_bluedroid.h
# esphome/components/bluetooth_connection/bluetooth_connection_hub.cpp
# esphome/components/bluetooth_connection/bluetooth_connection_hub.h
# esphome/components/bluetooth_proxy/__init__.py
# esphome/components/bluetooth_proxy/bluetooth_proxy.cpp
# esphome/core/defines.h
# tests/component_tests/bluetooth_proxy/test_platform_gates.py
# tests/components/ble_device_base/__init__.py
# tests/components/bluetooth_proxy/test-passive.esp32-c6-idf.yaml
2026-08-10 10:50:00 -05:00
J. Nick Koston
f3d1fc0d64
[bluetooth_proxy] Migrate esp32 onto the neutral GATT backend ( #18198 )
2026-08-10 10:47:56 -05:00
J. Nick Koston
c8c929d487
[ble_device_base] Merge adv and scan response before delivery on rp2 ( #18217 )
2026-08-10 10:06:06 -05:00
J. Nick Koston
d9567b2974
Normalize marker-wrapped callable keys in the schema dump ( #18218 )
2026-08-10 10:05:37 -05:00
J. Nick Koston
02fa18b74f
[core] Skip colorama init for terminal and dashboard runs ( #18224 )
2026-08-10 09:44:01 -05:00
Kevin Ahrendt
3656375516
[sendspin] Bump sendspin-cpp to v0.7.1 ( #18232 )
2026-08-10 09:00:29 -05:00
Mustafa KURU and Jonathan Swoboda
b0a9bfd381
[ld6002b] Add area and zone configuration (5/5) ( #17823 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-08-10 09:59:32 -04:00
J. Nick Koston
25cb440005
[core] Use Happy Eyeballs for remote file downloads ( #18050 )
2026-08-10 17:29:00 +12:00
J. Nick Koston
0f59ef36a9
[core] Store the validated-config cache as JSON to drop YAML off the upload fast path ( #18106 )
2026-08-10 17:26:41 +12:00
esphome[bot]
3de8c7f95c
Bump bundled esphome-device-builder to 1.9.5 ( #18223 )
2026-08-10 01:49:54 +00:00
J. Nick Koston
273c80ecd3
Address review: state the table lifetime where it is freed
...
Every teardown path routes through release_services(), so the
materialized table cannot outlive its link - said at free_service_table_
so the next reviewer need not re-derive it.
2026-08-09 19:59:06 -05:00
J. Nick Koston
1933126ad7
Address review: de-vacuous the reject test, loud node overflow, walker logs
...
- The rejection test registers the hub and matches the extra-keys error,
so the missing-tracker error can no longer satisfy it vacuously
- register_ble_node logs and drops loudly at capacity: a push_back past
a StaticVector's bound is a silent no-op, and an undersized slot count
must show at boot, not as an unresolvable node
- Every walker failure names the failing call and status; the descriptor
cap gets its own message so a >64-descriptor characteristic is
diagnosable instead of a permanent silent backoff loop
2026-08-09 19:37:32 -05:00
J. Nick Koston
64034b5b23
Use the set_core_config fixture instead of hand-poking CORE.data
...
The conftest fixture is the one spelling for platform setup; the
ledger tests already use it.
2026-08-09 19:16:18 -05:00
J. Nick Koston
830854d661
Address review: pin the neutral arm's rejection of esp32-only keys
...
The schema split's accept side was tested; the reject side was not - a
key leaking from the legacy arm into the neutral schema would have
passed silently.
2026-08-09 19:12:52 -05:00
J. Nick Koston
87b7076cd1
Address review: fail the empty table before CONNECTED, one slot spelling
...
- The empty-table bailout ran after state_ went CONNECTED, so its
teardown's terminal report read as a completed connection and fired
on_disconnect with no preceding on_connect - the exact trigger
contract violation the sibling error branch avoids. The check now
runs first and the teardown resolves through connect_failed; a
node-less client still reaches CONNECTED through the single
assignment after the guard
- The esp32 arm claims its slot through consume_gatt_slot like every
other claimant (behavior-identical: it forwards to the same esp32
validator), so the ledger's one-spelling contract holds
2026-08-09 18:52:49 -05:00
J. Nick Koston
5ec7047151
Address review: empty-table failure semantics, async abort guard, StaticVector nodes
...
- A zero-service table on a client with nodes is treated as a failed
discovery (warn, release, charge the backoff, disconnect): a real GATT
peer always exposes at least GAP/GATT, so an empty table means the
materialization failed and the connection must retry instead of
sitting inert behind a successful on_connect
- The fan-out abort guard also tests cancel_requested_, covering the
normal async teardown a node starts from on_connected (the state-only
check caught just the synchronous refusal)
- nodes_ becomes a StaticVector sized by ESPHOME_BLE_CLIENT_MAX_NODES:
the client requests a baseline slot, each neutral write action (which
registers itself in its constructor) requests one, and the define
rides defines.h for analysis - no realloc machinery on the rp2 target
- The Bluedroid empty-table return logs its quiet cases; the
service_table=False stub notes the misconfiguration it implies
2026-08-09 18:34:13 -05:00