Marius Vikhammer
296b6eab94
change(version): Update version to 5.4.4
v5.4.4
2026-04-14 14:31:36 +08:00
Jiang Jiang Jian
a52c67a67b
Merge branch 'fix/fix_ext_coex_154_stage_switch_v5.4' into 'release/v5.4'
...
fix(coex): fix ieee802.15.4 external coex tx/rx stage handling (v5.4)
See merge request espressif/esp-idf!46681
2026-04-13 15:22:19 +08:00
Jiang Jiang Jian
200e80503f
Merge branch 'bugfix/oob_read_in_continue_packet_v5.4' into 'release/v5.4'
...
fix(bt/bluedroid): fix ACL reassembly dropping valid continuation fragments (v5.4)
See merge request espressif/esp-idf!47380
2026-04-09 14:37:04 +08:00
Jin Cheng
04ddb36756
fix(bt/bluedroid): moved L2CAP length check into start packets only
2026-04-08 20:41:42 +08:00
Jon Gilmore
02b5d4bb13
fix(bt/bluedroid): fix ACL reassembly dropping valid continuation fragments
...
The minimum length check in `reassemble_and_dispatch()` applied the START packet minimum (`HCI_ACL_PREAMBLE_SIZE + L2CAP_LENGTH_SIZE` = 8 bytes) to **all** ACL packets, including continuation fragments. Continuation fragments only carry the 4-byte ACL preamble (handle + length) with no L2CAP header, so small but valid continuations (5-7 bytes) were incorrectly rejected as "too short."
This caused the first L2CAP PDU in a rapid burst of BLE GATT indications to be silently dropped. The partial reassembly was orphaned, then discarded when the next indication's START fragment arrived, producing:
```
E BT_HCI: ACL packet too short (len=5)
W BT_HCI: reassemble_and_dispatch found unfinished packet for handle with start packet. Dropping old.
```
Parse the ACL preamble first (requires only 4 bytes) to determine the boundary flag, then apply the L2CAP length check only to START packets. Continuation packets are now accepted with the correct minimum of `HCI_ACL_PREAMBLE_SIZE` (4 bytes).
- ESP32-S3 connected to a BLE peripheral that fragments indications at 40 bytes per L2CAP PDU
- Peripheral sends 8+ indications within ~200ms (burst of state changes)
- The final continuation fragment of the first indication is small (5-6 bytes after type stripping)
- 100% reproducible on every burst; confirmed on ESP-IDF 5.5.3, 5.5.4, and 6.0.0
Verified on ESP32-S3 with a Sub-Zero wall oven (SO3050PESP, firmware 8.5):
- **Before fix:** First indication in every burst lost (ACL reassembly failure)
- **After fix:** All indications in burst delivered correctly, including when the final continuation fragment is 5-6 bytes
Closes https://github.com/espressif/esp-idf/issues/18414
2026-04-08 20:41:42 +08:00
Jiang Jiang Jian
9c4bbcdace
Merge branch 'bugfix/fixed_disconnect_issues_v5.4' into 'release/v5.4'
...
Bugfix/fixed disconnect issues v5.4
See merge request espressif/esp-idf!47186
2026-04-01 16:18:12 +08:00
Xu Si Yu
3ab273d3ea
fix(coex): fix ieee802.15.4 external coex tx/rx stage handling
2026-04-01 15:42:53 +08:00
zhaoweiliang
b10d5d31f3
fix(ble): Fixed an occasional disconnection issue on ESP32-C6 and ESP32-H2
2026-03-31 19:36:24 +08:00
Jiang Jiang Jian
e20cf83b09
Merge branch 'docs/update_c2_feature_status_v5.4' into 'release/v5.4'
...
fix(docs): Updated BLE features support status (5.4)
See merge request espressif/esp-idf!46858
2026-03-30 12:16:41 +08:00
Wei Yuhan
48389747a8
docs(ble): Added BLE Multi Connection Guide
2026-03-27 16:50:41 +08:00
Wei Yuhan
e5b6b980e1
docs(ble): Removed esp32c5 and esp32c61 labels in the ble doc
2026-03-27 16:45:45 +08:00
Wei Yuhan
ea98ec65c4
fix(docs): Updated GATT Caching support status
2026-03-27 16:17:06 +08:00
Jiang Jiang Jian
e153ab93fa
Merge branch 'bugfix/idfci-8990_v5.4' into 'release/v5.4'
...
fix(bt): Fix crash due to functions not placed in IRAM(v5.4)
See merge request espressif/esp-idf!46942
2026-03-27 10:14:54 +08:00
xiongweichao
0ece0e924c
fix(bt): Fix crash due to functions not placed in IRAM
2026-03-26 21:06:55 +08:00
Jiang Jiang Jian
4d1dfc7c6e
Merge branch 'bugfix/wifi_cmd_version_in_iperf' into 'release/v5.4'
...
update wifi-cmd version in wifi iperf
See merge request espressif/esp-idf!47007
2026-03-26 17:59:21 +08:00
Jiang Jiang Jian
befa3a2c2f
Merge branch 'bugfix/sae_pwe_method_log_v5.4' into 'release/v5.4'
...
fix(esp_wifi): Add a log to print sae_pwe method used by station for wpa3 connection
See merge request espressif/esp-idf!46696
2026-03-26 10:51:26 +08:00
ding huan
3abe72dadc
fix(example): update wifi-cmd version in iperf
2026-03-25 19:57:33 +08:00
Jiang Jiang Jian
512ebf2cc0
Merge branch 'ci/update_github_permission_v5.4' into 'release/v5.4'
...
ci(github): update workflow permission (v5.4)
See merge request espressif/esp-idf!46930
2026-03-25 17:16:21 +08:00
Xiao Xufeng
ff014ae78c
ci(github): update workflow permission
2026-03-24 11:32:37 +08:00
Wei Yu Han
cbd7302d1a
fix(docs): Updated BLE features support status
...
(cherry picked from commit ad43685220 )
Co-authored-by: Wei Yuhan <weiyuhan@espressif.com >
2026-03-22 12:41:41 +08:00
Jiang Jiang Jian
a7d6fb261d
Merge branch 'fix/fix_phy_update_failure_on_c2_5.4' into 'release/v5.4'
...
fix(ble): fix conn timeout after phy update on ESP32-C2
See merge request espressif/esp-idf!46752
2026-03-21 14:24:34 +08:00
cjin
bc60ae40dd
fix(ble): fix conn timeout after phy update on ESP32-C2
2026-03-19 09:51:51 +08:00
Shreyas Sheth
6f14b721b3
fix(esp_wifi): Add a log to print sae_pwe method used by station for wpa3 connection
...
- Fix crash due to debug log for rssi while scanning
2026-03-17 12:01:04 +05:30
Jiang Jiang Jian
fe2cc0a64c
Merge branch 'fix/usj_fifo_bug_v5.4' into 'release/v5.4'
...
fix(usj):Fix usj fifo write/read on p4 (backport v5.4)
See merge request espressif/esp-idf!46638
2026-03-17 11:48:04 +08:00
Jiang Jiang Jian
5dc27530cc
Merge branch 'feat/bt_distance_test_v5.4' into 'release/v5.4'
...
feat(bt): Add APIs to read ACL real RSSI and read/write tx power of inq/iscan/page/pscan/ACL (v5.4)
See merge request espressif/esp-idf!46646
2026-03-17 11:14:50 +08:00
Jiang Jiang Jian
25a017a9d7
Merge branch 'feature/update_gdbstub_v5.4' into 'release/v5.4'
...
gdbstub: backport fixes (v5.4)
See merge request espressif/esp-idf!46581
2026-03-17 10:56:55 +08:00
Jiang Jiang Jian
b16c368b3c
Merge branch 'bugfix/fix_call_spp_start_discovert_twice_crash_v5.4' into 'release/v5.4'
...
fix(bt): fix crash when calling esp_spp_start_discovery twice in succession(v5.4)
See merge request espressif/esp-idf!46666
2026-03-17 10:13:27 +08:00
morris
6e907ccdbc
Merge branch 'bugfix/fix_legacy_touch_driver_stuck_after_dsleep_v5.4' into 'release/v5.4'
...
fix(legacy_touch): fixed the read stuck issue after deep sleep (v5.4)
See merge request espressif/esp-idf!46011
2026-03-17 10:11:22 +08:00
Jiang Jiang Jian
d6e5d76f66
Merge branch 'contrib/github_pr_18310_v5.4' into 'release/v5.4'
...
fix(esp_http_server): Dispatch PONG frames to WebSocket handler (GitHub PR) (v5.4)
See merge request espressif/esp-idf!46657
2026-03-17 09:23:52 +08:00
Jiang Jiang Jian
658e24e40f
Merge branch 'feat/support_wifi_infinite_retry_v5.4' into 'release/v5.4'
...
feat(protocol_examples_common): support infinite retries for example_handler_on_wifi_disconnect (v5.4)
See merge request espressif/esp-idf!46671
2026-03-17 09:22:12 +08:00
Jiang Jiang Jian
bdc4dc5e9e
Merge branch 'feat/expand_periph_skip_ls_no_to_v5.4' into 'release/v5.4'
...
fix(pm): expand the number of skip light sleep number
See merge request espressif/esp-idf!46625
2026-03-17 09:17:24 +08:00
Alexey Gerenkov
6ea0fe1c15
Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20260304_v5.4' into 'release/v5.4'
...
feat(tools): update openocd version to v0.12.0-esp32-20260304 (v5.4)
See merge request espressif/esp-idf!46365
2026-03-16 20:26:43 +08:00
Tan Yan Quan
969969ec36
feat(protocol_examples_common): support infinite retries for example_handler_on_wifi_disconnect
2026-03-16 19:49:30 +08:00
xiongweichao
76652f73bd
fix(bt): fix crash when calling esp_spp_start_discovery twice in succession
2026-03-16 19:40:29 +08:00
Jiang Jiang Jian
9e7abc9f01
Merge branch 'feat/p4_eco5_ccm_v5.4' into 'release/v5.4'
...
ISP: support ccm on P4 eco5 (v5.4)
See merge request espressif/esp-idf!44813
2026-03-16 19:23:57 +08:00
Jiang Jiang Jian
48b82d0690
Merge branch 'contrib/github_pr_16130_v5.4' into 'release/v5.4'
...
esp_adc: Release the peripheral after calibration (GitHub PR) (v5.4)
See merge request espressif/esp-idf!40002
2026-03-16 19:22:01 +08:00
Jiang Jiang Jian
165aff222d
Merge branch 'fix/esp32_adc_continuous_loss_sample_v5.4' into 'release/v5.4'
...
Fix/esp32 adc continuous loss sample (v5.4)
See merge request espressif/esp-idf!42830
2026-03-16 19:19:42 +08:00
Jiang Jiang Jian
00b61e28f2
Merge branch 'fix/adc_c6_get_high_result_v5.4' into 'release/v5.4'
...
fix(adc): fix ESP32C6 ADC get high result after enable (v5.4)
See merge request espressif/esp-idf!43229
2026-03-16 19:18:38 +08:00
Jiang Jiang Jian
500963afc5
Merge branch 'bugfix/fix_some_wifi_bugs_260313_v5.4' into 'release/v5.4'
...
fix(wifi): fix some wifi bugs 260313 v5.4(Backport v5.4)
See merge request espressif/esp-idf!46615
2026-03-16 19:18:09 +08:00
Ashish Sharma
e08f079ce3
feat(http_server): adds example to test server pong response
2026-03-16 16:56:13 +08:00
Peter Backeris
3d0e26170d
fix(esp_http_server): Dispatch PONG frames to WebSocket handler
...
PONG frames (opcode 0xA) were never dispatched to the user's WebSocket
handler despite an existing comment stating they should be. The dispatch
condition `ra->ws_type < HTTPD_WS_TYPE_CLOSE` excluded PONG (0xA)
since CLOSE is 0x8.
This caused a critical secondary bug: when the server sends PING frames
and the client responds with PONG, httpd_ws_recv_frame() is never
called for the PONG, leaving the remaining frame bytes (second_byte
plus 4-byte mask_key) unconsumed in the TCP buffer. On the next
WebSocket read, these orphaned bytes are misinterpreted as a new frame
header, causing either "WS frame is not properly masked" errors or
EAGAIN timeouts with garbage length values, effectively destroying
the connection.
Add `ra->ws_type == HTTPD_WS_TYPE_PONG` to the dispatch condition so
PONG frames reach the user handler, which calls httpd_ws_recv_frame()
to properly consume the frame bytes from the socket.
Closes https://github.com/espressif/esp-idf/issues/18227
2026-03-16 16:56:13 +08:00
Alexey Lapshin
2eebcf27c6
fix(esp_gdbstub): adapt xtensa headers
2026-03-16 15:17:34 +07:00
yangfeng
23a7b191ca
feat(bt): Add APIs to control transmit power level
...
- API to read ACL real RSSI
- APIs to read/write tx power of inq/iscan/page/pscan/ACL
2026-03-16 15:45:51 +08:00
laokaiyao
732ee2ddc8
fix(legacy_touch): fixed the read stuck issue after deep sleep
2026-03-16 15:26:47 +08:00
C.S.M
4bb47f5145
fix(usj):Fix usj fifo write/read on p4
2026-03-16 15:22:15 +08:00
Jiang Jiang Jian
4193d214e3
Merge branch 'bugfix/report_hid_close_evt_v5.4' into 'release/v5.4'
...
fix(hid): Fixed HID repeatedly reporting the close event (v5.4)
See merge request espressif/esp-idf!46612
2026-03-16 14:45:20 +08:00
Jiang Jiang Jian
c6ba36d69f
Merge branch 'bugfix/pm-673_v5.4' into 'release/v5.4'
...
backport v5.4: fix analog i2c master race cause by phy retention link
See merge request espressif/esp-idf!46437
2026-03-16 11:51:58 +08:00
Jiang Jiang Jian
0300db2e32
Merge branch 'fix/adc_continuous_iram_config_v5.4' into 'release/v5.4'
...
fix(adc): fix ESP32/S2 panic when use continuous ADC (v5.4)
See merge request espressif/esp-idf!43640
2026-03-16 11:02:50 +08:00
cjin
1c000d02bc
fix(pm): expand the number of skip light sleep number
2026-03-16 08:56:55 +08:00
yangfeng
01fb000eb6
fix(hid): Fixed HID repeatedly reporting the close event
2026-03-15 13:13:12 +08:00