Commit Graph

7512 Commits

Author SHA1 Message Date
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
Chen Chen
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
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
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
Jiang Jiang Jian
f3f37ec3d3 Merge branch 'docs/ble-uart-tutorial_v6.0' into 'release/v6.0'
docs(ble): added ESP-BLE-UART OpenCode Companion Guide (6.0)

See merge request espressif/esp-idf!49384
2026-06-29 15:38:35 +08:00
Fu Hanxi
aef705e678 feat(build): support env var IDF_PY_BUILD_JOBS for ninja jobs 2026-06-29 08:52:15 +02:00
Fu Hanxi
5658aee2b5 ci: log per-job ccache stats 2026-06-29 08:52:15 +02:00
Island
98effc1d13 Merge branch 'feat/format_bt_hci_to_btsnoop_v6.0' into 'release/v6.0'
refactor(bt): migrate bt_hci_to_btsnoop to esp-pylib (6.0)

See merge request espressif/esp-idf!49710
2026-06-29 14:39:47 +08:00
Mahavir Jain
732111f75a Merge branch 'feat/esp_tee_backports_v6.0' into 'release/v6.0'
feat(esp_tee): Feature/fixes backports to `release/v6.0`

See merge request espressif/esp-idf!48486
2026-06-29 11:21:13 +05:30
Roland Dobai
31260fd35e Merge branch 'fix/cmakev2_manager_seed_known_components_v6.0' into 'release/v6.0'
fix(cmakev2/manager): seed known_components for namespace rewrite (v6.0)

See merge request espressif/esp-idf!48686
2026-06-29 07:42:02 +02:00
Roland Dobai
63f60b019b Merge branch 'contrib/github_pr_18556_v6.0' into 'release/v6.0'
fix(tools): idf_tools.py uninstall: initialize archive_version before use (GitHub PR) (v6.0)

See merge request espressif/esp-idf!48825
2026-06-29 07:38:37 +02:00
Roland Dobai
1c097b7acd Merge branch 'feat/replace_click_witch_rich_click_v6.0' into 'release/v6.0'
feat(tools): Replaced click with rich_click (v6.0)

See merge request espressif/esp-idf!49021
2026-06-29 07:37:36 +02:00
Roland Dobai
100484f2da Merge branch 'feat/mcp_server_accept_project_dir_v6.0' into 'release/v6.0'
feat(tools): mcp-server accepts project_dir from chat (v6.0)

See merge request espressif/esp-idf!50033
2026-06-29 07:37:09 +02:00
Jan Beran
f56cc44a05 fix: force colors in output of RunTool and ensure_build_directory 2026-06-25 09:18:20 +02:00
Marek Fiala
56fb3657a2 feat(tools): Improved verification of ESP-IDF project
Closes https://github.com/espressif/esp-idf/issues/18675
2026-06-25 09:14:01 +02:00
Marek Fiala
14d3b3cbc0 feat(tools): mcp-server added create-project tool 2026-06-25 09:14:01 +02:00
Marek Fiala
a2adc0ab1e feat(tools): mcp-server accepts project_dir from chat
At the same time, it's possible to start idf.py mcp-server
outside ESP-IDF project directory.

Added ESP-IDF mcp server tests
2026-06-25 09:14:01 +02:00
Zhou Xiao
d3409dbac6 docs(ble): add BLE UART tutorial and opencode bridge demo
- Add BLE UART service example with OpenCode companion docs
- Add BLE UART bridge demo for opencode integration
- Add BLE UART common library improvements
2026-06-22 10:20:47 +08:00
Aditya Patwardhan
7101770dc6 change(version): Update version to 6.0.2 2026-06-19 12:18:37 +05:50
Zhang Hai Peng
3d532e7b14 refactor(bt): migrate bt_hci_to_btsnoop to esp-pylib
Replace argparse with rich-click and use esp_pylib.logger for
standardized console output and fatal error handling.


(cherry picked from commit 3a7896f2c5)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-06-16 15:34:08 +08:00
Laukik Hase
39a4cf5e56 feat(esp_tee): Clear out all sensitive buffers explicitly after TEE crypto operations 2026-06-12 10:04:07 +05:30
Aditya Patwardhan
94be07050f change(secure_boot): mark ECDSA based Secure Boot V2 as insecure on affected SoCs
ECDSA based Secure Boot V2 is not functional for certain input vectors on
ESP32-C5/C61/H2/P4 and on the preview targets ESP32-H4/H21. RSA based Secure
Boot V2 is the recommended scheme where the SoC supports it. This issue will be
fixed in a future hardware ECO revision; more details will be shared through the
hardware errata document.

A new hidden Kconfig option SECURE_BOOT_V2_ECDSA_INSECURE marks the affected
mass-production SoCs (ESP32-C5/C61/H2/P4). On these SoCs, when hardware Secure
Boot V2 is enabled, the ECDSA (V2) signing scheme is no longer offered by
default; it must be turned on explicitly via SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
under "Allow potentially insecure options" (CONFIG_SECURE_BOOT_INSECURE). App
signing without hardware Secure Boot is not affected. Note that ESP32-C61 has no
RSA based Secure Boot V2, so it has no Secure Boot scheme enabled by default.

The preview targets ESP32-H4 and ESP32-H21 mark ECDSA Secure Boot V2 as not
supported in their SoC capabilities instead of using the option above. As
ESP32-H4 has no other Secure Boot V2 scheme, Secure Boot is disabled entirely on
it; ESP32-H21 retains RSA based Secure Boot V2.

The security documentation keeps the ECDSA Secure Boot V2 content visible and
adds a warning describing the limitation (including that ECDSA Secure Boot V2 on
ESP32-C61 is not recommended for production). CI apps that exercise ECDSA Secure
Boot V2 on the affected SoCs set CONFIG_SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
accordingly.
2026-06-10 18:06:48 +05:30
Marek Fiala
e5322213a9 fix(tools): Patch rich-click version < 1.9.5 2026-05-29 10:52:17 +02:00
Marek Fiala
ab20f29305 fix(tools): Patch rich-click version < 1.9.0 2026-05-29 10:52:17 +02:00
Marek Fiala
b6872d32a0 feat(tools): Visibly grouped custom extension actions in idf.py --help 2026-05-29 10:52:17 +02:00
Marek Fiala
007e0139d7 feat(tools): Replaced click with rich_click 2026-05-29 10:52:09 +02:00
Ivan Grokhotkov
f8e6997cd0 feat(tools): update qemu version to esp_develop_9.2.2_20260417 2026-05-25 16:49:47 +02:00
bakamake
7d43f7f6e8 fix(tools): idf_tools.py uninstall: initialize archive_version before use
Closes https://github.com/espressif/esp-idf/pull/18556
2026-05-22 10:00:42 +02:00
Frantisek Hrbata
534674859a fix(cmakev2/manager): seed known_components for namespace rewrite
When a component's manifest declared a managed dep `<ns>/<name>` and the
project had a local `components/<name>` shadowing it, configure failed
with `IDF: Failed to resolve component '<ns>__<name>'`.

cmakev1 does a project-wide injection so the manager's _choose_component
sees every component name in known_components and rewrites the
namespaced dep to its locally-shadowing short name. cmakev2 invokes the
manager per component with a single-component requirements file, so
known_components has only one entry and the rewrite cannot fire --
`<ns>__<name>` is written verbatim into MANAGED_REQUIRES and the
force-include at component.cmake:995 aborts.

Seed the per-component requirements file with one __COMPONENT_SOURCE
entry per discovered component so handle_project_requirements() builds
the same known_components list cmakev1 produces. The seeded entries are
inert on the cmake side -- the __component_set_property shim ignores
__COMPONENT_SOURCE -- they exist purely to feed the manager's rewrite.

Add a regression test in tools/test_build_system/buildv2/test_component.py.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-05-19 11:38:39 +02:00
Roland Dobai
29dcff2cdc fix(tools): seed IDF_VERSION before idf.py parses dependencies.lock
Any idf.py invocation could hang indefinitely with no output while
spawning an unbounded chain of "idf.py --version" subprocesses,
eventually exhausting system memory.

During init_cli(), idf.py parses the project's dependencies.lock to
vet trusted component-provided idf_ext.py extensions. If the lock
contains a component whose manifest has an "if: idf_version" clause,
evaluating it calls idf-component-manager's _get_idf_version(). Outside
a CMake build the IDF_VERSION environment variable is not set, so that
function falls back to running "idf.py --version" as a subprocess,
which re-enters init_cli() and recurses without bound.

During a normal CMake build the component manager runs as a subprocess
that already has IDF_VERSION in its environment (see build/config.env),
so the fallback is never reached. The recursion happens only because
idf.py runs component-manager code in-process during its own CLI
startup, outside that context.

Seed IDF_VERSION into os.environ early in init_cli(), before any
dependencies.lock parsing, using the subprocess-free
idf_version_from_cmake() helper. This gives in-process component-manager
code the same IDF_VERSION a CMake build would provide.
2026-05-15 16:30:46 +02:00
Jiang Jiang Jian
91b378565a Merge branch 'feat/test_lp_core_debugging_v6.0' into 'release/v6.0'
feat(ulp): add pytest for debugging example (v6.0)

See merge request espressif/esp-idf!48255
2026-05-15 14:08:07 +08:00
Jiang Jiang Jian
8f7209c611 Merge branch 'feature/update-gdb-to-17.1_20260402_v6.0' into 'release/v6.0'
feat(tools): update gdb version to 17.1_20260402 (v6.0)

See merge request espressif/esp-idf!47481
2026-05-15 13:54:50 +08:00
Mahavir Jain
36f3329a23 Merge branch 'feature/recovery_bootloader_support_v6.0' into 'release/v6.0'
feat(bootloader): Support recovery bootloader for ESP32P4 (v6.0)

See merge request espressif/esp-idf!48468
2026-05-15 09:52:49 +05:30
Alexey Lapshin
f9aafe76f3 feat(tools): update gdb version to 17.1_20260402 2026-05-15 10:01:30 +08:00
Jiang Jiang Jian
1a89b339a1 Merge branch 'feat/support_change_multiple_phy_init_bin_path_v6.0' into 'release/v6.0'
feat/support change multiple phy init bin path v6.0

See merge request espressif/esp-idf!48354
2026-05-14 10:54:01 +08:00
Jiang Jiang Jian
9a5f750747 Merge branch 'fix/fix_register_rw_half_word_check_v6.0' into 'release/v6.0'
fix(ci): fix register rw half word check (v6.0)

See merge request espressif/esp-idf!47696
2026-05-13 20:20:17 +08:00
Konstantin Kondrashov
2fcf83e2f3 fix(test_apps): Increase CONFIG_PARTITION_TABLE_OFFSET to 0x9000
Fix some test apps that have a partition table offset of 0x8000,
which left no room for the bootloader for some chips.
2026-05-13 10:18:40 +03:00