Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
dfe1a82
Fix bug (#5572)
swoboda1337 Nov 11, 2025
a3dc6ef
[st7701s] [mipi_rgb] Document deprecation of st7701s in favor of mipi…
jspiros Nov 11, 2025
87d2fd1
Add documentation for wifi.ap_active condition in WiFi component
AzonInc Nov 11, 2025
82d51d4
Merge branch 'current' into wifi-ap-status
AzonInc Nov 11, 2025
0a5ab1b
[network, speaker] Document network optimization changes (#5599)
kahrendt Nov 12, 2025
655b58b
Fix bug (#5572)
swoboda1337 Nov 11, 2025
5a46fda
[st7701s] [mipi_rgb] Document deprecation of st7701s in favor of mipi…
jspiros Nov 11, 2025
9b7fd66
Bump version to 2025.10.5
swoboda1337 Nov 12, 2025
e8c86d6
Update changelog for 2025.10.5
swoboda1337 Nov 12, 2025
ade6671
Update supporters for 2025.10.5
swoboda1337 Nov 12, 2025
136c4d9
Bump version to 2025.12.0-dev
swoboda1337 Nov 12, 2025
d6fb7cd
Merge pull request #5603 from esphome/bump-2025.10.5
swoboda1337 Nov 12, 2025
7f872d9
Merge branch 'current' into next
swoboda1337 Nov 12, 2025
6f768c2
Bump version to 2025.11.0b1
swoboda1337 Nov 12, 2025
97fbdae
Update changelog for 2025.11.0b1
swoboda1337 Nov 12, 2025
26e77c5
Fix pr description
swoboda1337 Nov 12, 2025
451471c
Add to component index (#5605)
swoboda1337 Nov 12, 2025
8fdfaf7
Merge pull request #5604 from esphome/bump-2025.11.0b1
swoboda1337 Nov 12, 2025
a99f785
Merge branch 'beta' into next
swoboda1337 Nov 12, 2025
22faa44
[CI] Consolidate ci workflows (#5606)
jesserockz Nov 12, 2025
c62590b
Merge branch 'current' into next
jesserockz Nov 12, 2025
051d790
Add documentation for wifi.ap_active condition in WiFi component
AzonInc Nov 11, 2025
0159856
Merge branch 'wifi-ap-status' of github.com:AzonInc/esphome-docs into…
AzonInc Nov 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: CI

on:
pull_request:
types: [opened, reopened, synchronize]
types: [opened, edited, reopened, synchronize]

permissions:
contents: read
Expand Down Expand Up @@ -40,3 +40,30 @@ jobs:

- name: Run production build
run: make production
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

- name: Set up Python 3.12
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: 3.12

- name: Install dependencies
run: pip install -r requirements_test.txt

- name: Register problem matchers
run: |
echo "::add-matcher::.github/workflows/matchers/ci-custom.json"

- name: markdownlint-cli
uses: nosborn/github-action-markdown-cli@508d6cefd8f0cc99eab5d2d4685b1d5f470042c1 # v3.5.0
with:
config_file: ".markdownlintrc"
files: .

- name: Lint
run: python lint.py
42 changes: 0 additions & 42 deletions .github/workflows/lint.yml

This file was deleted.

12 changes: 12 additions & 0 deletions content/changelog/2025.10.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,18 @@ continue working, but custom components and advanced setups may require updates.

</details>

## Release 2025.10.5 - November 11

<details>
<summary></summary>

- [const] Add CONF_ROWS [esphome#11249](https://github.com/esphome/esphome/pull/11249) by [@stuartparmenter](https://github.com/stuartparmenter)
- [core] Don't allow python 3.14 [esphome#11527](https://github.com/esphome/esphome/pull/11527) by [@swoboda1337](https://github.com/swoboda1337)
- [usb_uart] Fixes for transfer queue allocation [esphome#11548](https://github.com/esphome/esphome/pull/11548) by [@clydebarrow](https://github.com/clydebarrow)
- [lvgl] Fix rotation with unusual width [esphome#11680](https://github.com/esphome/esphome/pull/11680) by [@clydebarrow](https://github.com/clydebarrow)

</details>

## Full list of changes

### New Features
Expand Down
567 changes: 567 additions & 0 deletions content/changelog/2025.11.0.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion content/changelog/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ description: "Changelog"
title: "Changelog"
---

{{< redirect url="/changelog/2025.10.0.html" >}}
{{< redirect url="/changelog/2025.11.0.html" >}}
Binary file added content/changelog/images/changelog-2025.11.0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions content/components/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,7 @@ Sensors are organized into categories; if a given sensor fits into more than one
"AM2315C","components/sensor/am2315c","am2315c.jpg","Temperature & Humidity",""
"AM2320","components/sensor/am2320","am2320.jpg","Temperature & Humidity",""
"b-parasite","components/sensor/b_parasite","b_parasite.jpg","Moisture & Temperature & Humidity & Light",""
"BH1900NUX","components/sensor/bh1900nux","bh1900nux-evk-001.png","Temperature",""
"BME280","components/sensor/bme280","bme280.jpg","Temperature & Humidity & Pressure",""
"BME68x via BSEC2","components/sensor/bme68x_bsec2","bme680.jpg","Temperature & Humidity & Pressure & Gas",""
"BME680 via BSEC","components/sensor/bme680_bsec","bme680.jpg","Temperature & Humidity & Pressure & Gas",""
Expand Down
4 changes: 4 additions & 0 deletions content/components/display/st7701s.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ params:
This display driver supports displays with 16 bit parallel interfaces, often referred to as "RGB". It currently
supports the ST7701S chip.

> [!WARNING]
> This component has been made redundant since the ST7701S is now supported by the {{< docref "mipi_rgb" >}}.
> This component will be removed in a future release.

This driver has been tested with the following displays:

- Seeed Sensecap Indicator
Expand Down
17 changes: 16 additions & 1 deletion content/components/media_player/speaker.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ media_player:

- **media_pipeline** (*Optional*, Pipeline Schema): Configuration settings for the media pipeline. Same options as the `announcement_pipeline`.
- **buffer_size** (*Optional*, positive integer): The buffer size in bytes for each pipeline. Must be between `4000` and `4000000`. Defaults to `1000000`.
- **codec_support_enabled** (*Optional*, boolean): Enables the MP3 and FLAC decoders and optimizes the WiFi configuration for streaming high quality audio. Defaults to `true`.
- **codec_support_enabled** (*Optional*, boolean): Enables the MP3 and FLAC decoders. Defaults to `true`.
- **task_stack_in_psram** (*Optional*, boolean): Run the audio tasks in external memory. Defaults to `false`.
- **volume_increment** (*Optional*, percentage): Increment amount that the `media_player.volume_up` and `media_player.volume_down` actions will increase or decrease volume by. Defaults to `5%`.
- **volume_initial** (*Optional*, percentage): The default volume that mediaplayer uses for first boot where a volume has not been previously saved. Defaults to `50%`.
Expand Down Expand Up @@ -171,6 +171,17 @@ Configuration variables:

Decoding audio files is CPU and memory intensive. PSRAM external memory is strongly recommended. To use the component on a memory constrained device, define only the announcement pipeline, decrease the buffer size, set `codec_support_enabled` to false, and set the pipeline transcode setting format to `WAV` with a low sample rate and only 1 channel.

### Network Optimizations

The speaker media player automatically enables high-performance networking to optimize audio streaming. This configures both WiFi and TCP/IP settings for better throughput and lower latency. The optimization level is PSRAM-aware:

- **With PSRAM guaranteed** ({{< docref "psram" >}} configured with `ignore_not_found: false`): Aggressive settings with 512KB TCP windows and 512 WiFi RX buffers
- **Without PSRAM guaranteed**: Conservative optimized settings with 65KB TCP windows and 64 WiFi buffers

If you experience out-of-memory issues, you can disable these optimizations by setting `enable_high_performance: false` in the {{< docref "network" >}} component configuration.

### Audio Codec Performance

In general, decoding FLAC has the lowest CPU usage, but requires a strong WiFi connection. Decoding MP3 requires less data to be sent over WiFi but is more CPU intensive to decode. Decoding WAV is only recommended at low sample rates if streamed over a network connection.

Increasing the buffer size may reduce stuttering, but do not set it to the entire size of the external memory. Each pipeline allocates the configured amount, and this setting also does not take into account other smaller buffers allocated throughout the audio stack.
Expand All @@ -183,12 +194,16 @@ Only set `task_stack_in_psram` to true if you have many components configured an

While you are troubleshooting, simplify your setup as much as possible. Only configure the `announcement_pipeline` and do not use `resampler` or `mixer` speakers.

### Audio Issues

If you can't hear anything, check whether your hardware requires a GPIO pin to be high or low to enable the speaker. Verify you have the correct speaker channel configured: try setting your speaker configuration to stereo if you are unsure which channels are available.

If the audio quality is poor, check your output speaker configuration. Experiment with the bits per sample, channels, and sample rate settings. In general, higher sample rates improve audio quality: try using `44100` Hz or `48000` Hz instead of `16000` Hz.

If there is a noticeable delay before a pause command takes effect, reduce the buffer duration in the output speaker. Be sure to adjust both the hardware speaker component settings and the `mixer` speaker component settings, if used.

If audio stutters, and your device has PSRAM, add ({{< docref "psram" >}} configured with `ignore_not_found: false`) so that the networking stack uses higher performance optimization settings.

## See also

- {{< docref "/components/speaker" >}}
Expand Down
30 changes: 27 additions & 3 deletions content/components/network.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: "Network component"
title: "Network component"
params:
seo:
description:
description:
image: network-wifi.svg
---

Expand All @@ -15,12 +15,36 @@ networks (WiFi, Ethernet).
network:
enable_ipv6: true
min_ipv6_addr_count: 2
enable_high_performance: true
```

## Configuration variables

- **enable_ipv6** (*Optional*, boolean): Enables IPv6 support. Defaults to `false`.
- **min_ipv6_addr_count** (*Optional*, integer): ESPHome considers the network to be connected when it has one IPv4 address and this number of IPv6 addresses. Defaults to `0` so as to not hang on boot with networks where IPv6 is not enabled. `2` is typically a reasonable value for configurations requiring IPv6.
- **enable_high_performance** (*Optional*, boolean): Explicitly enables or disables high-performance networking optimizations. Only supported on ESP32 devices. When not specified, this is automatically enabled by components that benefit from optimized network settings. Set to `false` to disable these optimizations if they cause memory issues on your device. Defaults to component-driven behavior.

## High-performance networking

The network component can automatically apply optimized settings for components that require high throughput or low latency, such as media streaming. When enabled, this feature configures both the lwIP TCP/IP stack and WiFi driver with settings optimized for performance.

### PSRAM-Aware Optimizations

The optimization level depends on whether PSRAM is guaranteed to be available (configured via the {{< docref "psram" >}} component with `ignore_not_found: false`):

**With PSRAM guaranteed:**

- TCP send/receive buffers: 512KB windows with window scaling enabled
- WiFi RX buffers: 512 dynamic buffers
- WiFi TX buffers: 32 static buffers
- AMPDU aggregation: Optimized block acknowledgment windows

**Without PSRAM (or when not guaranteed):**

- TCP send/receive buffers: 65KB windows
- WiFi RX buffers: 64 dynamic buffers
- WiFi TX buffers: 64 dynamic buffers
- AMPDU aggregation: Standard block acknowledgment windows

> [!NOTE]
> The [lwIP](https://savannah.nongnu.org/projects/lwip/) library used for the network component currently only implements IPv6 SLAAC according to [RFC4862](https://datatracker.ietf.org/doc/rfc4862/). The interface identifier (IID) is directly generated from the device MAC address.
Expand All @@ -29,5 +53,5 @@ network:

## See Also

- {{< docref "/components/wifi" >}}
- {{< docref "/components/ethernet" >}}
- {{< docref "wifi/" >}}
- {{< docref "ethernet/" >}}
14 changes: 14 additions & 0 deletions content/components/wifi.md
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,20 @@ on_...:

The lambda equivalent for this is `!id(wifi_id).is_disabled()`.

### `wifi.ap_active` Condition

This [Condition](/automations/actions#all-conditions) checks if WiFi AP is currently active or not.

```yaml
on_...:
- if:
condition: wifi.ap_active
then:
- logger.log: WiFi AP is active!
```

The lambda equivalent for this is `id(wifi_id).is_ap_active()`.

## See Also

- {{< docref "captive_portal/" >}}
Expand Down
5 changes: 4 additions & 1 deletion content/guides/supporters.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
- [Ian Blais (@aeonsablaze)](https://github.com/aeonsablaze)
- [Johan Bloemberg (@aequitas)](https://github.com/aequitas)
- [Andrew Erickson (@aerickson)](https://github.com/aerickson)
- [Ben (@af3556)](https://github.com/af3556)
- [Attila Farago (@afarago)](https://github.com/afarago)
- [Kjell Braden (@afflux)](https://github.com/afflux)
- [Alejandro Galfrascoli (@AGalfra)](https://github.com/AGalfra)
Expand Down Expand Up @@ -952,6 +953,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
- [Jake Crosby (@jake-nz)](https://github.com/jake-nz)
- [jakehdk (@jakehdk)](https://github.com/jakehdk)
- [Jake Shirley (@JakeShirley)](https://github.com/JakeShirley)
- [Jakob S. (@jakicoll)](https://github.com/jakicoll)
- [Jonathan Kollasch (@jakllsch)](https://github.com/jakllsch)
- [Jakob Reiter (@jakommo)](https://github.com/jakommo)
- [jakub-medrzak (@jakub-medrzak)](https://github.com/jakub-medrzak)
Expand Down Expand Up @@ -1279,6 +1281,7 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
- [Piotr Majkrzak (@majkrzak)](https://github.com/majkrzak)
- [Major Péter (@majorpeter)](https://github.com/majorpeter)
- [Dmitry (@mak-42)](https://github.com/mak-42)
- [Makerfabs (@Makerfabs)](https://github.com/Makerfabs)
- [Max Slotov (@makstech)](https://github.com/makstech)
- [Kasper Malfroid (@malfroid)](https://github.com/malfroid)
- [Malle355 (@Malle355)](https://github.com/Malle355)
Expand Down Expand Up @@ -2268,4 +2271,4 @@ ESPHome was originally founded by [Otto Winter (@OttoWinter)](https://github.com
- [Christian Zufferey (@zuzu59)](https://github.com/zuzu59)
- [Zynth-dev (@Zynth-dev)](https://github.com/Zynth-dev)

*This page was last updated November 4, 2025.*
*This page was last updated November 11, 2025.*
2 changes: 1 addition & 1 deletion data/version.yaml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
release: 2025.11.0-dev
release: 2025.11.0b1
version: '2025.11'
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
{{- $foundLocal := false -}}

{{- if $entries -}}
{{- $currentPage := strings.TrimPrefix "content/" .Page.File.Path | strings.TrimSuffix ".md" -}}
{{- range $entries -}}
{{- if eq .page .Page.File.Path -}}
{{- if eq .page $currentPage -}}
{{- $foundLocal = true -}}
{{- end -}}
{{- end -}}
Expand Down