You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/workflows/check-component-index.yml
+41-23Lines changed: 41 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -159,26 +159,44 @@ jobs:
159
159
}
160
160
161
161
// Create REQUEST_CHANGES review with inline suggestions
162
-
await github.rest.pulls.createReview({
163
-
owner,
164
-
repo,
165
-
pull_number: pr_number,
166
-
commit_id: process.env.HEAD_SHA,
167
-
event: 'REQUEST_CHANGES',
168
-
body: [
169
-
`### ${process.env.REVIEW_MARKER}`,
170
-
'',
171
-
`Found ${data.suggestions.length} ImgTable block(s) with incorrect ordering below **Network Protocols**.`,
172
-
'Each table has at most one Core item (matching the section name, e.g. "Sensor Core" for the Sensor section), pinned first, followed by Template items (names starting with "Template "), then all remaining items sorted alphabetically.',
173
-
'',
174
-
'You can fix this automatically by running:',
175
-
'```',
176
-
'node script/check_component_index.mjs --fix',
177
-
'```',
178
-
'',
179
-
'See the inline suggestions below for the correct order in each section.'
180
-
].join('\n'),
181
-
comments
182
-
});
183
-
184
-
console.log('Posted REQUEST_CHANGES review with inline suggestions.');
162
+
const reviewBody = [
163
+
`### ${process.env.REVIEW_MARKER}`,
164
+
'',
165
+
`Found ${data.suggestions.length} ImgTable block(s) with incorrect ordering below **Network Protocols**.`,
166
+
'Each table has at most one Core item (matching the section name, e.g. "Sensor Core" for the Sensor section), pinned first, followed by Template items (names starting with "Template "), then all remaining items sorted alphabetically.',
167
+
'',
168
+
'You can fix this automatically by running:',
169
+
'```',
170
+
'node script/check_component_index.mjs --fix',
171
+
'```',
172
+
];
173
+
174
+
try {
175
+
await github.rest.pulls.createReview({
176
+
owner,
177
+
repo,
178
+
pull_number: pr_number,
179
+
commit_id: process.env.HEAD_SHA,
180
+
event: 'REQUEST_CHANGES',
181
+
body: [...reviewBody, '', 'See the inline suggestions below for the correct order in each section.'].join('\n'),
182
+
comments
183
+
});
184
+
console.log('Posted REQUEST_CHANGES review with inline suggestions.');
185
+
} catch (e) {
186
+
if (e?.status === 422) {
187
+
// Inline suggestions fail when unsorted lines are outside the PR diff.
188
+
// Fall back to a review without inline comments.
189
+
console.log(`Inline suggestions failed with 422, posting review without inline comments.`);
190
+
await github.rest.pulls.createReview({
191
+
owner,
192
+
repo,
193
+
pull_number: pr_number,
194
+
commit_id: process.env.HEAD_SHA,
195
+
event: 'REQUEST_CHANGES',
196
+
body: [...reviewBody, '', 'The unsorted blocks are outside this PR\'s diff. Try merging the latest base branch first, or run the fix command above.'].join('\n'),
197
+
});
198
+
console.log('Posted REQUEST_CHANGES review without inline suggestions.');
Copy file name to clipboardExpand all lines: src/content/docs/changelog/2026.3.0.mdx
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -527,6 +527,31 @@ For detailed migration guides and API documentation, see the [ESPHome Developers
527
527
528
528
</details>
529
529
530
+
## Release 2026.3.2 - April 1
531
+
532
+
<details>
533
+
<summary></summary>
534
+
535
+
-[time] Point to valid IANA timezone list on validation failure [esphome#15110](https://github.com/esphome/esphome/pull/15110) by [@bdraco](https://github.com/bdraco)
536
+
-[wifi] Fix roaming attempt counter reset on disconnect during scan [esphome#15099](https://github.com/esphome/esphome/pull/15099) by [@bdraco](https://github.com/bdraco)
537
+
-[wifi] Reduce ESP8266 roaming scan dwell time to match ESP32 [esphome#15127](https://github.com/esphome/esphome/pull/15127) by [@bdraco](https://github.com/bdraco)
538
+
-[sx127x] Fix FIFO read corruption [esphome#15114](https://github.com/esphome/esphome/pull/15114) by [@swoboda1337](https://github.com/swoboda1337)
539
+
-[datetime] Fix state_as_esptime() returning invalid timestamp [esphome#15128](https://github.com/esphome/esphome/pull/15128) by [@bdraco](https://github.com/bdraco)
540
+
-[wifi] Fix roaming counter reset from delayed disconnect and successful retry [esphome#15126](https://github.com/esphome/esphome/pull/15126) by [@bdraco](https://github.com/bdraco)
541
+
-[wifi] Filter fast_connect by band_mode and use background scan for roaming [esphome#15152](https://github.com/esphome/esphome/pull/15152) by [@swoboda1337](https://github.com/swoboda1337)
542
+
-[uart] Fix debug callback missing peeked byte and reading past end [esphome#15169](https://github.com/esphome/esphome/pull/15169) by [@swoboda1337](https://github.com/swoboda1337)
543
+
-[sgp4x] Fix NOx index_offset default (should be 1, not 100) [esphome#15212](https://github.com/esphome/esphome/pull/15212) by [@swoboda1337](https://github.com/swoboda1337)
544
+
-[esp32_ble_server] Fix set_value action with static data lists [esphome#15285](https://github.com/esphome/esphome/pull/15285) by [@bdraco](https://github.com/bdraco)
545
+
-[esp8266] Add enable_scanf_float option [esphome#15284](https://github.com/esphome/esphome/pull/15284) by [@bdraco](https://github.com/bdraco) (new-feature)
546
+
-[thermostat] Fix stale `max_runtime_exceeded` causing spurious supplemental heating/cooling [esphome#15274](https://github.com/esphome/esphome/pull/15274) by [@kbx81](https://github.com/kbx81)
547
+
-[haier] Fix hOn half-degree temperature setting [esphome#15312](https://github.com/esphome/esphome/pull/15312) by [@swoboda1337](https://github.com/swoboda1337)
548
+
-[tormatic] Fix UART stream desync on ESP32 [esphome#15337](https://github.com/esphome/esphome/pull/15337) by [@swoboda1337](https://github.com/swoboda1337)
549
+
-[uart] fix baud rate not applied on `load_settings()` for ESP32 (IDF) [esphome#15341](https://github.com/esphome/esphome/pull/15341) by [@edwardtfn](https://github.com/edwardtfn)
550
+
-[mixer] Fix memory leak in mixer task on stop/start cycles [esphome#15185](https://github.com/esphome/esphome/pull/15185) by [@kahrendt](https://github.com/kahrendt)
551
+
-[esp32_ble_tracker] Restart BLE scan after OTA failure [esphome#15308](https://github.com/esphome/esphome/pull/15308) by [@bdraco](https://github.com/bdraco)
Copy file name to clipboardExpand all lines: src/content/docs/components/esp8266.mdx
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,7 @@ esp8266:
39
39
- **enable_serial** (*Optional*, boolean): Force-enable the Arduino `Serial` object (UART0) for use in lambdas or external libraries. Most users will never need this option, as the `logger` and `uart` components automatically enable the required Serial objects. Only use this if you directly access `Serial` in a lambda and get a compilation error. Use the [UART component](/components/uart) instead when possible, as it works across all platforms. Defaults to automatic detection.
40
40
- **enable_serial1** (*Optional*, boolean): Force-enable the Arduino `Serial1` object (UART1) for use in lambdas or external libraries. Most users will never need this option, as the `logger` and `uart` components automatically enable the required Serial objects. Only use this if you directly access `Serial1` in a lambda and get a compilation error. Use the [UART component](/components/uart) instead when possible, as it works across all platforms. Defaults to automatic detection.
41
41
- **enable_full_printf** (*Optional*, boolean): Enable full `FILE*`-based printf support. By default, ESPHome wraps `printf()`, `vprintf()`, and `fprintf()` with lightweight stubs that use `vsnprintf()` + `fwrite()`, saving ~1.6 KB of flash. ESPHome logging writes directly to the UART via Arduino's `Serial`, not libc printf, so these functions are typically unused unless an external component calls them. Set to `true` only if an external component needs full `FILE*`-based printf. Defaults to `false`.
42
+
- **enable_scanf_float** (*Optional*, boolean): Enable float support for `scanf()`/`sscanf()`. By default, ESPHome removes the `-u _scanf_float` linker flag to save ~8 KB of flash. This means `sscanf()` with `%f` will silently fail to parse floating-point numbers. Nothing in ESPHome itself uses scanf; set to `true` only if you use `sscanf()` with `%f` in lambdas. Defaults to `false`.
0 commit comments