Commit Graph
7545 Commits
Author SHA1 Message Date
Martin Vychodil 62041d5fc6 Merge branch 'fix/sdmmc_dma_aligned_buffer_leak_v6.0' into 'release/v6.0'
fix(sdmmc): release aligned buffer on card deinit (v6.0)

See merge request espressif/esp-idf!52258
2026-09-03 23:35:18 +08:00
Roland Dobai 186ce4d6b5 Merge branch 'fix/windows_tests_v6.0' into 'release/v6.0'
ci(tools): Fix Windows pytest_build_system idf_copy gitlinks and log_cli hang (v6.0)

See merge request espressif/esp-idf!52334
2026-09-03 16:00:30 +02:00
Jiang Jiang Jian a9bd063094 Merge branch 'feat/optimize_bootloader_size_v6.0' into 'release/v6.0'
change(bootloader): optimize bootloader size (v6.0)

See merge request espressif/esp-idf!51597
2026-09-03 19:52:35 +08:00
Jiang Jiang Jian 3db3117d2d Merge branch 'feat/cmake_add_partition_flash_binary_function_v6.0' into 'release/v6.0'
feat(esp_partition): Add esp_partition_register_target Cmake function (v6.0)

See merge request espressif/esp-idf!51045
2026-09-03 19:50:11 +08:00
Roland Dobai 6fee1abe82 Merge branch 'fix/kconfig_test_format_v6.0' into 'release/v6.0'
fix: KConfig test output format (v6.0)

See merge request espressif/esp-idf!52367
2026-09-03 11:11:14 +02:00
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 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
Daniel Paul 700bd3dd8d fix: KConfig test output format 2026-09-03 09:14:19 +02:00
Jakub Kocka 3bde59c969 refactor(tools): Addressed pre-commit findings 2026-09-02 18:15:04 +02:00
Jakub Kocka 4450c2946b ci(tools): Clip idf.py failure logs so Windows log_cli cannot stall
pytest.ini enables log_cli, so logging the full ninja stdout after a
failed first-time build is one multi-MB ERROR. That hung shard 3/6 for
hours after the hints test. Log the last 80 lines; keep the full output
on the exception and at DEBUG.
2026-09-02 15:17:46 +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 2026-08-31 19:19:05 +02:00
Adam Múdry 233fa3f948 fix(sdmmc): release aligned DMA buffer on card deinit 2026-08-31 14:14:22 +02:00
Marius Vikhammer 66459e9ddd change(bootloader): optimize bootloader size
Trim bootloader size by moving some logs to DEBUG. Allows
compiling bootloader on P4 with CONFIG_ESPTOOLPY_FLASHMODE_QIO
without changing partition table offset
2026-08-21 10:12:50 +08:00
Adam Múdry 109cd54902 feat(esp_partition): Add esp_partition_flash_binary() CMake function
Add a new CMake function esp_partition_flash_binary() that provides a
unified API for registering partition data binaries to be flashed. It
replaces the direct esptool_py_flash_target calls scattered across
components (spiffs, fatfs, nvs_flash) with a single function that:

- Resolves partition offset from the partition table automatically
- Determines encryption requirements (auto-detect or ALWAYS_PLAINTEXT)
- Creates per-partition flash targets (e.g. idf.py <partition>-flash)
- Optionally includes the binary in `idf.py flash` via FLASH_IN_PROJECT

On the linux target, the function registers binaries for pre-loading
into the emulated flash. A build-time manifest (linux_flash_data.txt)
is generated via file(GENERATE), and partition_linux.c reads it at
runtime to copy each binary into the memory-mapped flash buffer at
the correct offset.

The partition_ops example is updated to use the new function and
includes a custom_partition with pre-built data to demonstrate the
full workflow, including on the linux target.
2026-08-06 14:35:47 +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
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
Alexey Lapshin fbaf869fb9 feat(build): add RISC-V ZCMP post-link workaround check
Validate linked RISC-V executables when
CONFIG_COMPILER_ENABLE_RISCV_ZCMP is enabled on affected chips.
Disassemble each function and reject mstatus.MIE clears that lack an
earlier mintthresh write of 0xff.

Handle csrrci, csrrw, and register-mask csrrc patterns while ignoring
csrrs. Add build-only coverage for valid and invalid sequences with
CMake v1 and v2.

Stop the hardware stack guard before switching stacks during restart,
and keep ZCMP disabled for TEE test apps that still require the
workaround.
2026-07-30 12:14:54 +07:00
Mahavir Jain c9fc9d6103 Merge branch 'fix/esp_image_format_v6.0' into 'release/v6.0'
fix(esp_image_format): Fix some memory-safety issues (v6.0)

See merge request espressif/esp-idf!50180
2026-07-24 17:16:22 +05:30
morris 16c8013af4 feat(build): support aligned embedded binary data
Allow callers to align embedded binary start symbols for DMA-capable
assets.
2026-07-24 11:48:17 +08:00
Jiang Jiang Jian f44059890c Merge branch 'feature/upgrade-esp-rom-elfs_v6.0' into 'release/v6.0'
feat(tools): tools: update esp-rom-elf to version 20260528 (v6.0)

See merge request espressif/esp-idf!50847
2026-07-23 18:20:13 +08:00
Konstantin Kondrashov 666dc3b438 fix(bootloader): increase partition table offset for ESP32-P4 in affected test configs 2026-07-21 13:35:35 +03:00
Alexey Gerenkov c0992a3a5a Merge branch 'sysview_test_fixes_v6.0' into 'release/v6.0'
Sysview test fixes v6.0

See merge request espressif/esp-idf!50729
2026-07-20 18:45:30 +08:00
Alexey Lapshin 795b2ec96f feat(tools): tools: update esp-rom-elf to version 20260528
Closes https://github.com/espressif/esp-idf/issues/18755
2026-07-20 10:58:29 +07:00
Jiang Jiang Jian 04ccdc72e0 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20260703_v6.0' into 'release/v6.0'
feat(tools): update openocd version to v0.12.0-esp32-20260703 (v6.0)

See merge request espressif/esp-idf!50503
2026-07-20 10:30:15 +08:00
Jiang Jiang Jian 55afa16a8a Merge branch 'backport/bdl_ioctl_checker_v6.0' into 'release/v6.0'
feat(esp_blockdev): add build-time ioctl command reservation overlap checker (v6.0 backport)

See merge request espressif/esp-idf!50217
2026-07-20 10:21:59 +08:00
morris 4edbc85a4a Merge branch 'bugfix/uart_sw_flow_ctrl_xoff_char_v6.0' into 'release/v6.0'
fix(uart): fix uart sw flow ctrl XOFF char write to wrong reg on ESP32C6 (v6.0)

See merge request espressif/esp-idf!50524
2026-07-15 11:52:07 +08:00
Erhan Kurubas f5cca63bb0 test(usb_serial_jtag): pin console uart to ttyUSBx port 2026-07-14 12:15:35 +02:00
Chen ChenandCursor 269d582181 fix: update flash encryption mock build check
Use a non-deprecated bootloader support API in the mock build test.
Keep the test focused on validating the generated bootloader support mock.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 17:30:39 +08:00
Vincent Hamp f6ed4a607c fix(mocks): add missing esp_hal_* includes 2026-07-14 17:30:39 +08:00
Guo Zifan 7d904f636f docs(ble): rename BLE Log Console migration notice
(cherry picked from commit 9fb982d53b)

Co-authored-by: guozifan <guozifan@espressif.com>
2026-07-10 10:43:57 +08:00
Guo Zifan 6621170151 docs(ble): update BLE Log Console repository link
(cherry picked from commit ce515cbc09)

Co-authored-by: guozifan <guozifan@espressif.com>
2026-07-10 10:43:57 +08:00
Guo Zifan 4eb7dde736 remove(ble): migrate BLE Log Console out of ESP-IDF
(cherry picked from commit d8d7c3d904)

Co-authored-by: guozifan <guozifan@espressif.com>
2026-07-10 10:43:56 +08:00
Song Ruo Jing b5e03248bb fix(stdio): add console input ability when selects ESP_CONSOLE_UART_CUSTOM_NUM_1 2026-07-09 19:24:07 +08:00
Aditya Patwardhan aa70f6de09 fix(esp-tls): update secure element build hint for PSA integration
(cherry picked from commit 5f1074045f)
2026-07-09 11:17:03 +05:30
Aditya Patwardhan 9c1dcca1af fix(esp-tls): address MR review comments for SE PSA driver
- esp_tls_mbedtls: require cert when PSA-backed server/client key is set
- esp_tls_mbedtls: drop redundant pk_init/x509_crt_init (calloc handles it)
- psa SE driver: copy callbacks/opaque_key by value (no lifetime coupling)
- psa SE driver: replace atomic CAS with simple null check on register
- psa SE driver: use sig_len from sign callback with bounds validation
- psa SE driver: validate pubkey_len returned by export_pubkey callback
- psa SE driver: check hash sub-alg in RSA PKCS1V15 branch of validate_request
- psa SE driver: align secure_element_register_callbacks doc with value-copy impl
- esp_https_server: initialize server_key in HTTPD_SSL_CONFIG_DEFAULT
- mbedtls: move SECURE_ELEMENT_DRIVER_ENABLED to esp_config.h for parity
  with ESP_ECDSA_DRIVER_ENABLED; drop target_compile_definitions
- docs: fix esp_tls_cfg_t -> esp_http_client_config_t cross-reference
- docs: check psa_import_key() status in ESP-TLS PSA example
- hints/error_output: point at CONFIG_MBEDTLS_SECURE_ELEMENT_DRIVER_ENABLED

(cherry picked from commit 08b567ef3b)
2026-07-09 11:17:02 +05:30
Aditya Patwardhan d93ab71681 feat(esp-tls): Add unified private key interface via esp_key_config_t
Add ESP_KEY_SOURCE_BUFFER and ESP_KEY_SOURCE_PSA key sources so all
hardware backends (DS, ECDSA, secure element) are accessed via PSA
key IDs through a single esp_tls_cfg_t.client_key field.

(cherry picked from commit 36090b7161)
2026-07-09 11:14:11 +05:30
Euripedes Rocha 011ebc5186 Merge branch 'feat/eth_test_component_v6.0' into 'release/v6.0'
feat(esp_eth): updated test_apps to use Ethernet test component (v6.0)

See merge request espressif/esp-idf!49659
2026-07-09 06:50:52 +02:00
Samuel Obuch c6d9730850 feat(tools): update openocd version to v0.12.0-esp32-20260703 2026-07-08 12:12:22 +02:00
Erhan Kurubas 737f1f3a38 test(espcoredump): run test_tcb_corrupted with custom stack 2026-07-08 08:47:26 +02:00
Ondrej Kosta 9e3ec66892 feat(ci): support downloading extra app artifacts in pytest
Add app_extra S3 artifact type, extend idf-ci download plumbing, and
expose a download_app_extra pytest fixture for managed_components deps.
2026-07-08 08:01:45 +02:00
harshal.patil d11534bfa1 fix(panic): handle absent IROM/DROM alignment gap in spiram-xip memprot tests
The spiram-xip IROM/DROM alignment tests assumed the XIP region always
leaves an alignment gap before the next MMU page: they executed into the
gap and expected an instruction access fault followed by a register dump.
When the section ends exactly on an MMU page boundary there is no gap - the
device prints "<IROM/DROM> alignment gap not added into heap" and returns,
the framework restarts cleanly (esp_restart_noos, no panic), and the test
timed out waiting for a register dump.
2026-07-01 11:00:05 +05:30
Tomáš Rohlínek 0188e1fe7b feat(esp_blockdev): add build-time ioctl command reservation overlap checker
(cherry picked from commit a9f545bcea)
2026-06-30 16:53:44 +02:00
morris 3160a1a73f docs(dma2d): added async color convert programming guide 2026-06-30 12:00:13 +08:00
Jiang Jiang Jian a30c384b00 Merge branch 'feature/update-qemu-to-esp_develop_9.2.2_20260417_v6.0' into 'release/v6.0'
feat(tools): update qemu version to esp_develop_9.2.2_20260417 (v6.0)

See merge request espressif/esp-idf!48884
2026-06-30 11:53:00 +08:00
Fu Hanxi 3a77af68b2 Merge branch 'ci/stable-build-jobs-v6.0' into 'release/v6.0'
Ci/stable build jobs v6.0

See merge request espressif/esp-idf!48715
2026-06-29 10:03:00 +02:00