Commit Graph
51670 Commits
Author SHA1 Message Date
Shu Chen 247726d332 Merge branch 'feat/support_multipan_feature_rcp_20260603_v6.0' into 'release/v6.0'
feat(openthread): support multipan feature for RCP (v6.0)

See merge request espressif/esp-idf!51778
2026-09-03 09:07:44 +00:00
Mahavir Jain b3c5d5266a Merge branch 'fix/crt_bundle_cert_header_oob_v6.0' into 'release/v6.0'
Validate cert header extent before reading it in bundle check (v6.0)

See merge request espressif/esp-idf!51998
2026-09-03 13:44:33 +05:30
Mahavir Jain cb7bc8f7d8 Merge branch 'fix/fix_esp_mbedtls_read_return_code_v6.0' into 'release/v6.0'
fix(esp-tls): correct return codes and harden TLS 1.3 ticket handling (v6.0)

See merge request espressif/esp-idf!51864
2026-09-03 13:43:55 +05:30
Mahavir Jain 0ae148cd64 Merge branch 'fix/esp_tee_stk_ptr_bug_v6.0' into 'release/v6.0'
fix(esp_tee): Validate the stack pointer at the privilege switch boundary (v6.0)

See merge request espressif/esp-idf!51486
2026-09-03 13:43:27 +05:30
Mahavir Jain cce28a3aa4 Merge branch 'fix/esp32s2_aes_dma_psram_partial_block_hang_v6.0' into 'release/v6.0'
Avoid ESP32-S2 Crypto DMA stall on PSRAM output with partial blocks (v6.0)

See merge request espressif/esp-idf!51875
2026-09-03 13:42:56 +05:30
Mahavir Jain 78f0f418c8 Merge branch 'fix/disable-key-mgr_v6.0' into 'release/v6.0'
Disable Key Manager support (v6.0)

See merge request espressif/esp-idf!51391
2026-09-03 13:42:49 +05:30
Mahavir Jain e06143eb5e Merge branch 'feat/esp_http_server-ws-strictness-foundation-and-handshake_v6.0' into 'release/v6.0'
feat(esp_http_server): update websocket server to check RFC6455 headers (v6.0)

See merge request espressif/esp-idf!51862
2026-09-03 13:42:26 +05:30
Roland Dobai 72263842d0 Merge branch 'fix/mcp_support_major_2_v6.0' into 'release/v6.0'
fix(tools): mcp-server supports python package mcp > 2 (v6.0)

See merge request espressif/esp-idf!51570
2026-09-03 09:46:12 +02:00
Roland Dobai de3aafb212 Merge branch 'fix/mcp_subprocess_stdin_v6.0' into 'release/v6.0'
fix(tools): detach MCP tool subprocess stdin from JSON-RPC pipe (v6.0)

See merge request espressif/esp-idf!52283
2026-09-03 09:45:39 +02:00
Roland Dobai d6ccd2a7df Merge branch 'feature/use_zcmp_by_default_v6.0' into 'release/v6.0'
feat(build): add ZCMP workaround post-build check (v6.0)

See merge request espressif/esp-idf!51326
2026-09-03 09:36:29 +02:00
Roland Dobai cc99a0626f Merge branch 'fix/cxx_libgcc_cxx_self_reference_v6.0' into 'release/v6.0'
fix(cxx): avoid self-referential generator expression in libgcc_cxx (v6.0)

See merge request espressif/esp-idf!51594
2026-09-03 09:23:14 +02:00
Roland Dobai 390a69bd8d Merge branch 'fix/kconfig_bool_defaults_v6.0' into 'release/v6.0'
fix(kconfig): use 'n' instead of '0'/'false' for bool defaults

See merge request espressif/esp-idf!52031
2026-09-03 09:21:40 +02:00
Roland Dobai b0d2e1c9bf Merge branch 'feat/idf_component_include_optional_v6.0' into 'release/v6.0'
feat(cmakev2/component): add OPTIONAL flag to idf_component_include (v6.0)

See merge request espressif/esp-idf!49571
2026-09-03 09:20:16 +02:00
Ivan Grokhotkov 5e6f53cdb3 Merge branch 'update/version_6_0_3' into 'release/v6.0'
Update version to 6.0.3

See merge request espressif/esp-idf!52269
2026-09-02 14:51:45 +02:00
Marek FialaandCursor 3b3c7c7abf fix(tools): send mcp-server startup diagnostics to stderr
idf.py mcp-server printed startup, shutdown, and error messages on
stdout. On the stdio MCP transport, stdout is the JSON-RPC channel, so
those non-JSON lines can confuse or break strict clients. Route them to
stderr like the other diagnostics in mcp_ext.py.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 08:10:42 +02:00
Marek Fiala cac2e57758 fix(tools): detach MCP tool subprocess stdin from JSON-RPC pipe
idf.py mcp-server tool handlers were spawning idf.py without redirecting
stdin, so the child inherited the long-lived MCP JSON-RPC transport and
could hang indefinitely on tools/call. Pass stdin=subprocess.DEVNULL on
every spawn of idf.py.

Closes https://github.com/espressif/esp-idf/issues/18961
2026-09-01 08:10:42 +02:00
Martin Vychodil 76f5dedd99 change(version): Update version to 6.0.3 v6.0.3 2026-08-31 19:19:05 +02:00
harshal.patil 1d4a1e0624 test(mbedtls): add partial-block PSRAM coverage for AES and AES-GCM
Extend the CTR test data length to 6433 bytes so the trailing partial
block is exercised with external RAM buffers (which stalls the ESP32-S2
Crypto DMA on an unfixed driver), and add AES-GCM PSRAM tests verified
against internal RAM references.
2026-08-25 14:50:15 +05:30
harshal.patil 4025a2f8b9 fix(mbedtls/aes): fix ESP32-S2 Crypto DMA stall on PSRAM output with partial blocks
The ESP32-S2 Crypto DMA in-channel stalls silently when a receive
descriptor list transitions from external to internal RAM. The AES
driver hits this when a PSRAM-output operation has a trailing partial
block, as the internal stream descriptor is linked after the external
RAM data descriptors.

- esp_aes_process_dma(): process the block-aligned part and the partial
  block as two separate DMA operations, keeping each descriptor list
  uniform
- crypto_dma_ll_reset(): also reset the in-channel (per the TRM receive
  reset sequence), otherwise stale state from a preceding external-RAM
  operation corrupts the next operation's output

The GCM DMA path is unaffected; it never operates on PSRAM buffers.
2026-08-25 14:50:15 +05:30
Jan BeranandCursor aa81a64417 fix(kconfig): use 'n' instead of '0'/'false' for bool defaults
Bool symbols in nimble, BTDM, and two examples used invalid default
literals. The parser already falls back to 'n'; set that explicitly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-25 09:43:39 +02:00
harshal.patil 710ce291ac fix(mbedtls): validate cert header extent before reading it in bundle check
esp_crt_check_bundle() read the 4-byte certificate header (name_len,
key_len) via esp_crt_get_len() after only checking that the cert's
start offset lies inside the bundle, so a crafted bundle whose first
or last certificate starts within the final 3 bytes caused a transient
out-of-bounds read of up to 3 bytes before the extent check rejected
it. Require the whole header to lie inside the bundle before reading
it.
2026-08-24 20:56:43 +05:30
Jiang Jiang Jian 5e8921d589 Merge branch 'lwip/dns_stack_corruption_fix_v6.0' into 'release/v6.0'
docs(lwip): clarify DNS_MAX_HOST_IP range and addr_cnt in Kconfig (v6.0)

See merge request espressif/esp-idf!49192
2026-08-21 10:40:24 +08:00
Jiang Jiang Jian e24f64d20d Merge branch 'bugfix/dpp_stray_auth_confirm_v6.0' into 'release/v6.0'
fix(esp_wifi): Harden dpp Auth confirm and drop mismatched auth confirms

See merge request espressif/esp-idf!51847
2026-08-20 20:58:31 +08:00
Jiang Jiang Jian 27515af469 Merge branch 'fix/fix_deepsleep_deadlock_if_threadsafe_claim_is_not_enabled_v6.0' into 'release/v6.0'
fix(esp_hw_support): fix deepsleep deadlock if threadsafe claim is not enabled (v6.0)

See merge request espressif/esp-idf!51190
2026-08-20 20:45:23 +08:00
Jiang Jiang Jian 4c194ed015 Merge branch 'fix/set_errno_if_usj_not_connect_in_vfs_v6.0' into 'release/v6.0'
fix(esp_driver_usb): set errno if usj not connect in vfs read/write (v6.0)

See merge request espressif/esp-idf!51199
2026-08-20 20:44:54 +08:00
Jiang Jiang Jian f13bc3334a Merge branch 'fix/owe_prevent_double_free_v6.0' into 'release/v6.0'
fix(wifi): Prevent double free in owe failure path(v6.0)

See merge request espressif/esp-idf!51639
2026-08-20 20:43:25 +08:00
Jiang Jiang Jian 71f4b17960 Merge branch 'fix/fix_esp32p4_missing_pvt_clock_v6.0' into 'release/v6.0'
fix(esp_hw_support): fix esp32p4 PVT clock lost (v6.0)

See merge request espressif/esp-idf!51867
2026-08-19 21:12:49 +08:00
Shreyas Sheth 40b0c613e0 fix(esp_wifi): Harden dpp Auth confirm and drop mismatched auth confirms 2026-08-19 14:26:23 +05:30
wuzhenghui b5bd8395fc fix(esp_hw_support): fix esp32p4 PVT clock lost 2026-08-19 11:50:48 +08:00
Ashish Sharma a04d78a7e7 fix(esp-tls): correct return codes and harden TLS 1.3 ticket handling 2026-08-19 11:45:42 +08:00
Ashish Sharma 7d53b4740b fix(ws): enforce RFC 6455 §4.2.1 handshake requirements 2026-08-19 11:43:09 +08:00
Ashish Sharma 64287ae681 test(http_server): add mock TCP client for black-box WS testing 2026-08-19 11:43:08 +08:00
Sajia 1d135bebcf fix(wifi): Prevent double free in owe failure path 2026-08-18 11:27:24 +08:00
Xu Si Yu ad4f977e04 fix(openthread): fix configuration-related issues 2026-08-17 14:15:55 +08:00
Xu Si Yu 1a4f49ac7d feat(openthread): support multipan feature for RCP 2026-08-14 18:48:30 +08:00
Xu Si Yu 0a99f34ac0 feat(openthread): initialize multiple_instances source directory 2026-08-14 18:48:30 +08:00
Xu Si Yu 0311dcf655 fix(ieee802154): clear RX buffer state on MAC init 2026-08-14 18:48:30 +08:00
Xu Si Yu a4398b1749 feat(802.15.4): reorganize source file structure 2026-08-14 18:48:30 +08:00
Xu Si Yu 76b8a72495 feat(openthread): reorganize source file structure 2026-08-14 18:48:30 +08:00
Shu Chen 88510ad34c feat(openthread): use the actual receive sensitivity for link quality evaluation 2026-08-14 18:48:30 +08:00
morris 9386236061 Merge branch 'fix/fix_mpll_init_flow_v6.0' into 'release/v6.0'
mpll: improved mpll init flow (v6.0)

See merge request espressif/esp-idf!51662
2026-08-14 10:23:20 +08:00
Armando (Dou Yiwen) 5af18cd40b fix(mpll): fix mpll calibration fail bug 2026-08-12 13:33:08 +08:00
harshal.patil 516e849636 change(security): disable Key Manager support on ESP32-C5/P4/S31
The Key Manager hardware peripheral in its current form needs further
design changes before it can be offered as a production feature.
Until a revised peripheral design is available, withdraw ESP-IDF
support for it on all Key Manager capable targets.
2026-08-11 09:41:38 +05:30
Frantisek Hrbata e7b24828b3 fix(cxx): avoid self-referential generator expression in libgcc_cxx
The cxx component re-injects its own archive late on the link line so its
stack-unwind wrappers take precedence over libgcc's (when C++ exceptions
are disabled). It does this through an INTERFACE helper, libgcc_cxx, that
carries `$<TARGET_FILE:${cxx}>`. That helper was linked back into the cxx
target with PUBLIC, which places it in the cxx archive's own
LINK_LIBRARIES, so the cxx target ends up transitively referencing its
own output file.

When CMake computes the cxx target's sources it walks the target's own
link implementation, encounters `$<TARGET_FILE:${cxx}>`, and to resolve the
file it needs the target's link language, which in turn needs its
sources. This loop makes generation fail with:

    The SOURCES of "..." use a generator expression that depends on the
    SOURCES themselves.

CMake only hits this when it reaches the cxx target standalone before the
target has been pulled into a link by a consumer, and whether that
happens depends on the project layout and target evaluation order. That
is why it surfaces only in some projects, while the examples build fine.

Link libgcc_cxx as INTERFACE instead of PUBLIC. A static archive is not
linked, so its private LINK_LIBRARIES are inert; consumers still receive
libgcc_cxx through INTERFACE_LINK_LIBRARIES, so the intended link order is
preserved. Removing the self-reference makes generation independent of
evaluation order.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-08-06 15:31:57 +02:00
Martin Vychodil a017026fc1 fix(test_build_system): require components in ioctl overlap checker tests
Wire esp_blockdev, comp_a, and comp_b into the test app dependency graph
so ioctl def files are registered and the POST_BUILD overlap checker runs.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit ddc9c5fc40)
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-08-05 16:00:45 +02:00
Marek FialaandCursor 85a6c1d8c1 fix(tools): support mcp Python SDK 2.0 for mcp-server
FastMCP was renamed to MCPServer in mcp 2.0, which made idf.py mcp-server
report a false "MCP dependencies not available" error. Prefer MCPServer
and keep a FastMCP fallback for mcp 1.x.

Closes https://github.com/espressif/esp-idf/issues/18904

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 15:36:43 +02:00
Jiang Jiang Jian c80598ef7f Merge branch 'fix/rtc_retain_mem_sb_fast_wakeup_ptr_v6.0' into 'release/v6.0'
fix(bootloader_support): fix RTC retain mem offset for secure boot fast wakeup (v6.0)

See merge request espressif/esp-idf!51267
2026-08-05 10:44:26 +08:00
Laukik Hase 47cabb21e8 fix(esp_tee): Validate REE-supplied memory bounds (esp_tee_app_config) before use 2026-08-04 12:11:43 +05:30
Laukik Hase b85a7b0e14 fix(esp_tee): Validate the stack pointer at the privilege switch boundary 2026-08-04 12:11:42 +05:30
Frantisek Hrbata 91576e4c19 feat(cmakev2/component): add OPTIONAL flag to idf_component_include
Add an OPTIONAL flag to idf_component_include so callers can ask
"include this component if it exists" without aborting the build
when the component is unknown.

Without OPTIONAL, the function behaves exactly as before -- it
calls __get_component_interface_or_die and the build aborts on a
miss. With OPTIONAL, the function performs a non-fatal interface
lookup and returns silently if the component is not known. When
combined with INTERFACE <variable>, the variable is set to the
empty string on miss and to the component's interface target on
hit, so callers can write:

    idf_component_include(button OPTIONAL INTERFACE button_iface)
    if(button_iface)
        target_sources(${COMPONENT_TARGET} PRIVATE button_glue.c)
        target_link_libraries(${COMPONENT_TARGET} PRIVATE ${button_iface})
    endif()

This gives consumers a public, non-fatal way to wire up integrations
with components that may or may not be in the build (managed
dependencies pulled in only by some board configurations, optional
feature glue, etc.) without reaching into the private
__get_component_interface helper or doing dual-namespace
COMPONENTS_DISCOVERED checks against both <name> and <ns>__<name>
forms.

Backward compatible: existing call sites do not pass OPTIONAL and
continue to fail loudly on miss.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-07-31 19:32:20 +08:00