Skip to content

Commit ebf7f4b

Browse files
authored
Merge pull request #6368 from esphome/bump-2026.3.2
2026.3.2
2 parents e6c62a7 + ad961dc commit ebf7f4b

6 files changed

Lines changed: 77 additions & 27 deletions

File tree

.github/workflows/check-component-index.yml

Lines changed: 41 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -159,26 +159,44 @@ jobs:
159159
}
160160
161161
// 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.');
199+
} else {
200+
throw e;
201+
}
202+
}

data/version.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
release: 2026.3.1
1+
release: 2026.3.2
22
version: '2026.3'

src/content/docs/changelog/2026.3.0.mdx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,31 @@ For detailed migration guides and API documentation, see the [ESPHome Developers
527527

528528
</details>
529529

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)
552+
553+
</details>
554+
530555
{/* markdownlint-disable MD013 */}
531556

532557
## Full list of changes

src/content/docs/components/esp8266.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ esp8266:
3939
- **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.
4040
- **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.
4141
- **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`.
4243

4344
## GPIO Pin Numbering
4445

src/content/docs/components/psram.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ psram:
1919
## Configuration variables
2020
2121
- **mode** (*Optional*): Defines the operating mode the PSRAM should utilize. One of `quad`, `octal` or `hex`.
22-
Defaults to `quad` for ESP32, ESP32-C5, ESP32-S2 and `hex` for ESP32-P4. ESP32-S3 has no default and *requires* this option to be set.
22+
Defaults to `quad` for ESP32, ESP32-C5, ESP32-C61, ESP32-S2 and `hex` for ESP32-P4. ESP32-S3 has no default and *requires* this option to be set.
2323
See notes below.
2424
- **speed** (*Optional*, int): The speed at which the PSRAM should operate. One of `40MHz` (default), `80MHz` or `120MHz`.
2525
- **enable_ecc** (*Optional*, bool): For octal mode, enable ECC (Error Correction Code) for the PSRAM (default is off.)
@@ -35,7 +35,7 @@ psram:
3535

3636
## Modes
3737

38-
The ESP32, ESP32-C5 and ESP32-S2 PSRAM is only available in `quad` mode, and ESP32-P4 only supports `hex` mode. These are the defaults
38+
The ESP32, ESP32-C5, ESP32-C61 and ESP32-S2 PSRAM is only available in `quad` mode, and ESP32-P4 only supports `hex` mode. These are the defaults
3939
when using those variants. For ESP32-S3, the `mode` option is required and must be set to `quad` or `octal`.
4040
Typically on ESP32-S3 modules, a 2MB PSRAM will use quad mode, while 8 or 16MB will use octal mode, but check
4141
the datasheet for the module you are using to be sure.

src/content/docs/guides/supporters.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -772,6 +772,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
772772
- [Frankster-NL (@Frankster-NL)](https://github.com/Frankster-NL)
773773
- [frauhottelmann (@frauhottelmann)](https://github.com/frauhottelmann)
774774
- [Joe Groocock (@frebib)](https://github.com/frebib)
775+
- [Frédéric Metrich (@FredM67)](https://github.com/FredM67)
775776
- [Fredrik Erlandsson (@fredrike)](https://github.com/fredrike)
776777
- [freeasabeer (@freeasabeer)](https://github.com/freeasabeer)
777778
- [FreeBear-nc (@FreeBear-nc)](https://github.com/FreeBear-nc)
@@ -1075,6 +1076,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
10751076
- [Jonathan Jefferies (@jjok)](https://github.com/jjok)
10761077
- [John K. Luebs (@jkl1337)](https://github.com/jkl1337)
10771078
- [Justin Maxwell (@jkmaxwell)](https://github.com/jkmaxwell)
1079+
- [Jason Kölker (@jkoelker)](https://github.com/jkoelker)
10781080
- [Jan Kundrát (@jktjkt)](https://github.com/jktjkt)
10791081
- [Jeppe Ladefoged (@jladefoged)](https://github.com/jladefoged)
10801082
- [Jean-Luc Béchennec (@jlbirccyn)](https://github.com/jlbirccyn)
@@ -1216,6 +1218,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
12161218
- [Kodey Converse (@krconv)](https://github.com/krconv)
12171219
- [krikk (@krikk)](https://github.com/krikk)
12181220
- [KristopherMackowiak (@KristopherMackowiak)](https://github.com/KristopherMackowiak)
1221+
- [Keith Roehrenbeck (@kroehre)](https://github.com/kroehre)
12191222
- [kroimon (@kroimon)](https://github.com/kroimon)
12201223
- [krunkel (@krunkel)](https://github.com/krunkel)
12211224
- [kryptonitecb3 (@kryptonitecb3)](https://github.com/kryptonitecb3)
@@ -1255,6 +1258,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
12551258
- [Dominik Wagenknecht (@LeDominik)](https://github.com/LeDominik)
12561259
- [leejoow (@leejoow)](https://github.com/leejoow)
12571260
- [Benny de Leeuw (@leeuwte)](https://github.com/leeuwte)
1261+
- [LeeWiu (@LeeWiu)](https://github.com/LeeWiu)
12581262
- [Thayne (@Legot)](https://github.com/Legot)
12591263
- [lein1013 (@lein1013)](https://github.com/lein1013)
12601264
- [Lennart (@lennart-k)](https://github.com/lennart-k)
@@ -1406,6 +1410,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
14061410
- [mcflypl (@mcflypl)](https://github.com/mcflypl)
14071411
- [mckaymatthew (@mckaymatthew)](https://github.com/mckaymatthew)
14081412
- [mcmuller (@mcmuller)](https://github.com/mcmuller)
1413+
- [Michael Curry (@mcurry-va)](https://github.com/mcurry-va)
14091414
- [Miguel Diaz Gonçalves (@mdiazgoncalves)](https://github.com/mdiazgoncalves)
14101415
- [Matthew Donoughe (@mdonoughe)](https://github.com/mdonoughe)
14111416
- [Michal Dvořák (@mdvorak)](https://github.com/mdvorak)
@@ -1991,6 +1996,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
19911996
- [Niklas Wagner (@Skaronator)](https://github.com/Skaronator)
19921997
- [Rafael Treviño (@skasi7)](https://github.com/skasi7)
19931998
- [Dennis Skinner (@Skinner927)](https://github.com/Skinner927)
1999+
- [Jon R. Helms (@skipfire)](https://github.com/skipfire)
19942000
- [Brian Slesinsky (@skybrian)](https://github.com/skybrian)
19952001
- [Jordan W. Cobb (@skykingjwc)](https://github.com/skykingjwc)
19962002
- [Alex-Yves CREPIN (@Slicit)](https://github.com/Slicit)
@@ -2364,4 +2370,4 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
23642370
- [Christian Zufferey (@zuzu59)](https://github.com/zuzu59)
23652371
- [Zynth-dev (@Zynth-dev)](https://github.com/Zynth-dev)
23662372

2367-
*This page was last updated March 23, 2026.*
2373+
*This page was last updated April 1, 2026.*

0 commit comments

Comments
 (0)