Skip to content

Releases: espressif/esp-idf

ESP-IDF Release v3.1.4

22 Apr 03:57
Compare
Choose a tag to compare

Documentation for release v3.1.4 is available at https://docs.espressif.com/projects/esp-idf/en/v3.1.4/

ESP-IDF v3.1.4 is a bugfix-only update for ESP-IDF v3.1.3. Release v3.1.4 is compatible with apps written for ESP-IDF v3.1.x.

This is the list of changes since release v3.1.3:

Known Issues

  • Calling esp_wifi_stop() can lead to a memory leak under some rare circumstances

Major Bug Fixes

  • cmake build system: Apply PSRAM compiler workaround correctly
  • gpio driver: Fixed issue with holding GPIO levels in deep sleep
  • Added configuration option for Wi-Fi IRAM optimization, allows reducing IRAM usage
  • Decouple mesh from Wi-Fi libraries, reducing binary size if Wi-Fi is used without Mesh
  • Fixed Wi-Fi STA failing to connect to some APs (Xiaomi hotspots, some others) after reset
  • Updated some Wi-Fi configuration option ranges and defaults for better performance, especially when using PSRAM
  • Fixed iPhone failing to connect to ESP32 AP (enabling AP BAR receive)
  • Fixed BLE adv reports not returned when sleep is enabled
  • Added flow control support for BLE adv reports
  • Fixed two BLE connection params update issues:
  • Fixed iOS and Windows 10 compatibility error with BLE HID

Wi-Fi Related

  • Updated some Wi-Fi configuration option ranges and defaults for better performance, especially when using PSRAM
  • New configuration option for Wi-Fi IRAM optimization, allows reducing IRAM usage.
  • Decouple mesh from Wi-Fi libraries, reducing binary size if Wi-Fi is used without Mesh
  • Added option to configure number of Wi-Fi management short buffers
  • Fixed several Wi-Fi scan bugs
  • Fixed a crash caused by Wi-Fi static TX buffer alloc/free
  • Fixed iPhone failing to connect to ESP32 AP (enabling AP BAR receive)
  • Fixed ESP32 STA failing to connect to some APs (Xiaomi hotspots, some others) after reset
  • Fixed bug that STA incorrectly deletes BA when receiving DelBA request
  • Added additional out of memory checks in Wi-Fi library
  • Fixed the bug that STA incorrectly receives packets when scanning in connected status
  • Increased the block scan internal timeout value

Bluetooth Related

  • Fixed crash when inquiry stops
  • Added vendor HCI command functionality
  • Fixed assert(8192 0) in rwble.c 234
  • Fixed some warnings when Bluedroid logging was disabled

Coexistence

  • Fixed LC protection cause memory corrupted (Strange crash like IllegalInstruction, LoadProhibited and ...)
  • Fixed Bluetooth disconnecting due to too many reset BB
  • Fixed bug where no TBTT would be generated after receiving wrong Wi-Fi beacon (when coexistence is enabled)

BLE Related

  • Fixed iOS and Windows 10 compatibility error with BLE HID
  • Fixed uncommon crash when BE performs re-connect/re-scan/re-adv
  • Fixed two connection params update issues:
    • Connection parameters update cause link loss while data is being sent
    • BLE disconnect while connection parameters is reject by LL_REJECT_IND
  • Fixed not checking scan window and interval when setting scan parameters
  • Fixed BLE not sending or receiving packets under some conditions
  • Fixed esp_ble_gatts_get_attr_value() API error
  • Added flow control support for BLE adv reports
  • Fixed adv reports not returned when sleep is enabled

Blufi

  • Fixed a bug when preparing to write

LWIP related

  • Fixed LWIP autoip memory leak

Ethernet related

  • Increase Ethernet task stack size and make configurable

mDNS related

  • Fixed memory leak when query for services receives multiple PTR entries for one instance
  • Fixed possible crash when mdns_free called while action queue not empty
  • Fixed invalid query_txt
  • Fixed memory leak in pbuf if tcpip_adapter failed to get network interface
  • Fixed possible crash when packet queued for transmit referenced a deleted service
  • Fixed a race condition when updating packet data from a user task if allocation/queueing failed
  • Fixed a possible deadlock in mdns deinit when calling mdns_free()
  • Fixed concurrent access to mdns PCBs when starting the service thread
  • Fixed a possible crash when probing a particular interface whose network has naming conflicts
  • Fixed task synchronization to use a semaphore not a mutex

Bootloader related

  • Fixed issues when bootloader was compiled for a different CPU frequency than the app (#2731)

System Related

  • freertos: Made xPortGetCoreID() function volatile, fixing an issue where core ID may not be correctly updated when called twice in an un-pinned function. (#3093)
  • heap: Added checks for integer overflows
  • psram: Fixed issue where some files (*lock.c, *creat.c) were incorrectly linked to IRAM when PSRAM was enabled

Peripheral Driver Related

  • gpio: Added new APIs for holding GPIO levels in deep sleep
  • rmt: Added missing get function to RMT API: rmt_get_idle_level() (#2666)
  • rmt: Suppressed error message from rmt_wait_tx_done() if wait_time==0 (allows for polling) (#2666)
  • spi: Fixed bug connecting SPI peripheral to read-only pins (#2455)

Protocol Related

  • esp_tls config structure cacert_pem_bytes is now a mutable integer

Storage Related

  • nvs: Fixed out of memory issues due to lazy NVS HashListBlock cleanup (#1642)

Tooling Related

  • idf_size: Fixed sorting of libraries in idf_size.py output
  • kconfig: Fixed compatibility with very old versions of "flex"
  • build system: Fixed some situations where EXTRA_COMPONENT_DIRS finds components in the wrong directories.
  • cmake build system: Apply PSRAM compiler workaround correctly
  • cmake build system: Disable stack protector in startup code (#2990)
  • cmake: Fix some cases where python scripts were executed directly, not via PYTHON variable (
  • nvs_util: Fixed support for writing multiple single pages of big blob data (#3011)
  • nvs_util: Disable multipage blob support by default (requires configuration option to be supported in IDF v3.1 projects)

Obtaining v3.1.4

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v3.1.4 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.1.4
cd esp-idf-v3.1.4/

This is the recommended way of obtaining v3.1.4 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v3.1.4.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server:
https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v3.1.4.zip

ESP-IDF Pre-release v3.3-beta3

13 May 12:18
Compare
Choose a tag to compare
Pre-release

Documentation for release v3.3-beta3 is available at https://docs.espressif.com/projects/esp-idf/en/v3.3-beta3/

v3.3-beta3 is a prerelease of ESP-IDF v3.3. See below for a list of known issues in this beta release.

ESP-IDF v3.3-beta3 is a minor update for ESP-IDF v3.2.x. Release v3.3-beta3 is compatible with apps written for ESP-IDF v3.x, but features in v3.3-beta3 may not be available in earlier versions.

This is the list of changes since release v3.2:

Known Issues

  • WPS does not work properly
  • esp_smartconfig_stop not return under some rare circumstances
  • BT SPP may ASSERT when use with Wi-Fi
  • Watchdog timeout when using an RSA 4096-bit key to connect to WPA2-Enterprise (EAP-TLS) AP.

Major New Features

Wi-Fi Related

New Functionality

Bug Fixes

  • Reduced cases where Wi-Fi needs to listen for RX when waking from sleep state, depending on beacon contents
  • Fixed thread safety bug in WPS
  • Reduced IRAM usage of libnet80211.a
  • Fixed Wi-Fi baseband reset issue after baseband switched to 11b weak signal mode
  • Fixed bug that if set_config() was called before connecting to an encrypted AP, PMK would be recalculated
  • Fixed STA HT20/40 coexist
  • Fixed compliance by disallowing WEP/TKIP with HT rates
  • Improved WPA2 support
  • Fixed SoftAP mode multicast and broadcast saving and flushing when the associated stations enable 802.11 legacy power saving mode (called modem sleep in ESP32).

ESP-MESH Related

New Functionality

Bug Fixes

  • Fixed failure of mesh stop caused by block-sending.
  • Fixed when FIXED_ROOT is set, 2nd layer devices can not receive mesh event ESP_ERR_MESH_NO_PARENT_FOUND.
  • Fixed when FIXED_ROOT is set and the root turns off mesh function, 2nd layer devices do not look for new parents.
  • Now disconnects from parent/router when the DSSS channel in received beacon is different from the home channel.

Wi-Fi/Bluetooth Coexistence Related

  • Reduced binary size when coexistence is not enabled, or if only BT is used
  • Fixed issue that spike transmit power of WiFi could be higher than configured when Bluetooth coexistence enabled

Bluetooth Related

BLE Related

New Functionality

Bug Fixes

  • Fixed btc_gatts_arg_deep_copy() and bta_gatts_indicate_handle()
  • Fixed interrupt watchdog timeout in Bluetooth controller
  • Fixed BLE assert(512) or assert(1536) in rwble.c at line 222

Controller Related

  • Supported vendor HCI commands

RF PHY Related

Ethernet related

New Functionality

  • Added support for IP101 PHY

Bug Fixes

  • Cleaned up invalid register mappings for LAN8720 PHY
  • Fixed the power and init functions for LAN8720 PHY
  • Enforced that only ETH_CLOCK_GPIO_IN mode can be used if PSRAM is in use (due to GPIO16 and GPIO17 being occupied by PSRAM)
  • Fixed OTA when using Ethernet
  • Fixed multicast when using Ethernet
  • Fixed potential memory leak of ethernetif structure

LWIP related

tcpip_adapter related

  • Fixed zero initialization of unused system_event_t fields
  • Added field to pass client IP address along with SYSTEM_EVENT_AP_STAIPASSIGNED (#2949)

Network Protocol Related

mDNS related

  • Fixed uninitialized memory bug after some operation failed and strdup() step skipped

HTTP Client

New Functionality

  • Added support for TLS Client authentication (#2688)
  • Added capability to load certificates from the ESP-TLS global CA store

Bug Fixes

  • URI schemes are now treated as case insensitive
  • Fixed infinite loop on esp_http_client_fetch_headers()
  • Fixed bug where member paths were not correctly cleaned up following an error
  • Fixed issue where esp_http_client_open() would set wrong content length (#2967)

HTTP Server

New Functionality

  • Added new "esp_https_server" component allowing HTTP server with TLS connection (#2578)
  • Added uri_match_fn field in config structure which allows a custom URI matching function to be set
  • Added feature to invoke user configurable handlers for server errors (#3005)

Bug Fixes

  • Updated and fixed problems with httpd_sess_get_ and httpd_sess_set_ APIs
  • New helper APIs for sending string content
  • Remove use of 'template' C++ keyword (#2956)
  • Now only accepts new socket connections if server has capacity to handle more concurrent connections
  • Fixed support for LF terminated headers

HTTPS OTA Library

  • Added config option to (optionally) allow insecure HTTP updates
  • Added support for configurable OTA buffer size (#2998)

Unified Provisioning Library

  • Fixed correct conn_id being passed to protocomm_req_handle in transport_simple_ble_write() and transport_simple_ble_exec_write()
  • Fixed case when simple_ble_start() is used with Bluetooth Dual Mode (Classic & BLE)

mbedTLS

  • Fixed AWS-IoT and ESP-TLS builds if ALPN is disabled in mbedTLS config
  • cmake: mbedTLS project is now built using the upstream project's CMakeLists file

ESP-TLS

  • New esp_tls_init_global_ca_store() function (#2654)

App Trace Related

System Related

New Functionality

Read more

ESP-IDF Release v3.2

11 Apr 03:36
Compare
Choose a tag to compare

Documentation for release v3.2 is available at https://docs.espressif.com/projects/esp-idf/en/v3.2/

ESP-IDF v3.2 is a minor update for ESP-IDF v3.1.x. Release v3.2 is compatible with apps written for ESP-IDF v3.1.x, but features in v3.2 may not be available in earlier versions.

This is the list of changes since release v3.1.3:

Known Issues

  • Watchdog timeout when using an RSA 4096-bit key to connect to WPA2-Enterprise (EAP-TLS) AP.
  • ESP32 SoftAP mode may fail to deliver multicast packets to stations which have power save modes enabled.

Major New Features

Breaking Changes

  • RMT peripheral: Removed incorrect rmt_item16_t register access type. Use existing rmt_item32_t instead.
  • ESP-MESH: When Mesh IE encryption is enabled, Mesh V3.1 devices cannot connect to Mesh V3.2 devices. Devices with unencrypted Mesh IE can connect between versions, although features added in V3.2 will not work well in a mixed-version mesh.

Changes not compatible with earlier versions

These changes do not require any action when updating to V3.2, but will require consideration if moving from V3.2 to an earlier version.

  • NVS: Support has been added for NVS blobs larger than 1984 bytes. NVS partitions created from earlier ESP-IDF versions will be automatically updated when written from ESP-IDF V3.2. NVS partitions written from ESP-IDF V3.2 are not compatible with the NVS format used by earlier versions of ESP-IDF. It is possible to support the updated NVS partition format in ESP-IDF v3.1.x via the "Enable multi-page blob support" config option.
  • Wear Levelling: Wear Levelling flash partition format has been updated to Version 2, to support flash encryption. Version 1 Wear Levelling partitions will be automatically updated to Version 2. Version 2 partitions are not compatible with ESP-IDF V3.1.x or earlier.

Wi-Fi Related

  • Added internal API to enable or disable transmitting WiFi MAC frame with fixed rate.
  • Fixed bug that ESP32 crashes because of WiFi static TX buffer alloc/free.
  • Enabled Soft-AP receiving BAR to fix the issue that iphone fails to connect to Soft-AP.
  • Fixed the issue that STA fails to connect to some APs after reset.
  • wpa_supplicant: Implemented BIGNUM and ECC crypto wrapper apis for ESP using mbedtls.
  • Fixed the index of the invalid channel state information(CSI) data.
  • Corrected a mistake of CSI sub-carrier index in Wi-Fi documentation.

Smartconfig Related

  • Added support for broadcast packets sent by newer versions of ESP-TOUCH (useful for 5GHz router compatibility). Multicast packets sent by earlier versions of ESP-TOUCH are also still supported.
  • Fixed the declaration of remote_ip in sc_ack_send_task()

ESP-MESH Related

  • Note: When Mesh IE encryption is enabled, Mesh V3.1 devices cannot connect to Mesh V3.2 devices. Devices with unencrypted Mesh IE can connect between versions, although features added in V3.2 will not work well in a mixed-version mesh.

New Functionality

  • Removed dependencies which cause mesh code to be linked even if mesh is not used
  • Dynamically malloc the routing table
  • Support for not configuring the network channel
  • Support not configuring the router BSSID even if the router is hidden
  • Added allow_channel_switch to mesh configuration
  • Added allow_router_switch to mesh router configuration
  • Support handling beacon without IE of DS Parameter Set
  • Support dynamically modify IE encrypt after mesh is started
  • Automatically detect and resolve root conflicts when router BSSID is not set
  • Modify the max routes limitation from 300 to 1000
  • Add an event MESH_EVENT_NETWORK_STATE that contains information about whether there is a root in the current network
  • Add APIs esp_mesh_disconnect() and esp_mesh_connect()
  • RAM usage reduced 3KB RAM by removing an unnecessary task

Fixes

  • Fixed STAs can not detect disconnection from AP when encrypt transmission is used
  • Fixed memory leak when esp_mesh_stop() is called, the memory occupied by the transmitting remove announcement is not released
  • esp_mesh_connect() will be ignored if mesh automatic reconnection is enabled
  • Fixed vote reason is cleared before vote is done
  • Fixed issues in the example of manual_networking when mesh network is encrypted
  • When root can not connect to the router due to NO_MORE_STAS (reason code:5), root will stop re-connection and perform MESH_NWK_LOOK_FOR_NETWORK
  • Fixed disconnection caused by receiving a deauth frame from non-parent node during scanning
  • Fixed routing table redundant issue due to remove announcing is not 100% reliable
  • Fixed when a STA has not yet completed the 4-way handshake but the max replay count is reached, AP does not deauth the STA
  • New logic: During parent selection, the AP which is found without extended associated IE will be considered it has the same router BSSID as device itself
  • When STA leaves from AP, AP will now always post SYSTEM_EVENT_AP_STADISCONNECTED to mesh layer regardless of whether the STA has passed the encrypted authentication or not
  • Fixed ap_loss that occurs when the parent turns off the mesh function and becomes a normal Wi-Fi with a different SSID
  • Fixed in the process of re-voting to select the root, the device votes for itself even though it does not meet the conditions of being a root
  • Fixed issues in esp_mesh_recv_toDS() when stopping the mesh
  • When the user specifies a parent for the device, the device will now set the authmode and password of its Soft-AP mode to the same value as the specified parent
  • Fixed failure of mesh stop caused by block-sending
  • Fixed when FIXED_ROOT is set, 2nd layer devices can not receive mesh event ESP_ERR_MESH_NO_PARENT_FOUND
  • Fixed when FIXED_ROOT is set and the root turns off mesh function, 2nd layer devices do not look for new parents
  • Now disconnects from parent/router when the DSSS channel in received beacon is different from the home channel

Bluetooth Related

Coexist

Fixes

  • Fixed LC protection cause memory corrupted (Strange crash like IllegalInstruction, LoadProhibited and ...)

Classic BT

  • Added Secure Simple Pairing
  • Added Legacy Pairing

BLE Related

New Functionality

  • Added esp_ble_gap_clear_rand_addr() function to clear random address
  • Added sequential check when add include service
  • Added “service from” param in ESP_GATTC_SEARCH_CMPL_EVT
  • Added gatts send service change indication API
  • Added peer addr type check when set adv params
  • Added auto disconnection when ACCEPT_SPECIFIED_SEC_AUTH operation is failed
  • Added set/clear static passkey option in esp_ble_gap_set_security_param()
  • Added attr_handle for ESP_GATTS_CONF_EVT
  • Added advertisement data filter in scan duplicate

Fixes

  • Optimize bluetooth memory debug
  • Fixed PASSERT_PARAM(2051 0) error generated in llc_util.c
  • Fixed wrong return callback status ESP_GATT_STACK_RSP when do multiple read
  • Fixed remove/get bond list failed
  • Fixed crash when BLE do SMP connect and disconnect stress test
  • Fixed wrong prefered connection interval when setting in adv params
  • Fixed memory leak in service change char
  • Fixed iPhoneX get error when getting wifi list
  • Fixed crash when test multi_connection
  • Fixed reconnect failed in SMP when slave using static random address
  • Fixed stop adv error in dual core
  • Fixed register multi service change when register multi gattc
  • Fixed connection params update issues
    • connection parameters update cause link loss while data is being sent
    • BLE disconnect while connection parameters is reject by LL_REJECT_IND
  • Fixed BLE connection crash when there's higher priority task or interrupt run on the same CPU.
  • Fixed invalid handle value in gatts conf event when GATT server sends indication
  • Fixed crash caused by writin...
Read more

ESP-IDF Pre-release v3.2-rc

03 Apr 08:00
Compare
Choose a tag to compare
Pre-release

Documentation for release v3.2-rc is available at https://docs.espressif.com/projects/esp-idf/en/v3.2-rc/

v3.2-rc is a prerelease Release Candidate of ESP-IDF v3.2. See below for a list of known issues in this release candidate.

ESP-IDF v3.2 is a minor update for ESP-IDF v3.1.x. Release v3.2 is compatible with apps written for ESP-IDF v3.1.x, but features in v3.2 may not be available in earlier versions.

This is the list of changes since release v3.1.3:

Known Issues

  • Watchdog timeout when using an RSA 4096-bit key to connect to WPA2-Enterprise (EAP-TLS) AP.
  • ESP32 SoftAP mode may fail to deliver multicast packets to stations which have power save modes enabled.

Major New Features

Breaking Changes

  • RMT peripheral: Removed incorrect rmt_item16_t register access type. Use existing rmt_item32_t instead.
  • ESP-MESH: When Mesh IE encryption is enabled, Mesh V3.1 devices cannot connect to Mesh V3.2 devices. Devices with unencrypted Mesh IE can connect between versions, although features added in V3.2 will not work well in a mixed-version mesh.

Changes not compatible with earlier versions

These changes do not require any action when updating to V3.2, but will require consideration if moving from V3.2 to an earlier version.

  • NVS: Support has been added for NVS blobs larger than 1984 bytes. NVS partitions created from earlier ESP-IDF versions will be automatically updated when written from ESP-IDF V3.2. NVS partitions written from ESP-IDF V3.2 are not compatible with the NVS format used by earlier versions of ESP-IDF. It is possible to support the updated NVS partition format in ESP-IDF v3.1.x via the "Enable multi-page blob support" config option.
  • Wear Levelling: Wear Levelling flash partition format has been updated to Version 2, to support flash encryption. Version 1 Wear Levelling partitions will be automatically updated to Version 2. Version 2 partitions are not compatible with ESP-IDF V3.1.x or earlier.

Wi-Fi Related

  • Added internal API to enable or disable transmitting WiFi MAC frame with fixed rate.
  • Fixed bug that ESP32 crashes because of WiFi static TX buffer alloc/free.
  • Enabled Soft-AP receiving BAR to fix the issue that iphone fails to connect to Soft-AP.
  • Fixed the issue that STA fails to connect to some APs after reset.
  • wpa_supplicant: Implemented BIGNUM and ECC crypto wrapper apis for ESP using mbedtls.
  • Fixed the index of the invalid channel state information(CSI) data.
  • Corrected a mistake of CSI sub-carrier index in Wi-Fi documentation.

Smartconfig Related

  • Added support for broadcast packets sent by newer versions of ESP-TOUCH (useful for 5GHz router compatibility). Multicast packets sent by earlier versions of ESP-TOUCH are also still supported.
  • Fixed the declaration of remote_ip in sc_ack_send_task()

ESP-MESH Related

  • Note: When Mesh IE encryption is enabled, Mesh V3.1 devices cannot connect to Mesh V3.2 devices. Devices with unencrypted Mesh IE can connect between versions, although features added in V3.2 will not work well in a mixed-version mesh.

New Functionality

  • Removed dependencies which cause mesh code to be linked even if mesh is not used
  • Dynamically malloc the routing table
  • Support for not configuring the network channel
  • Support not configuring the router BSSID even if the router is hidden
  • Added allow_channel_switch to mesh configuration
  • Added allow_router_switch to mesh router configuration
  • Support handling beacon without IE of DS Parameter Set
  • Support dynamically modify IE encrypt after mesh is started
  • Automatically detect and resolve root conflicts when router BSSID is not set
  • Modify the max routes limitation from 300 to 1000
  • Add an event MESH_EVENT_NETWORK_STATE that contains information about whether there is a root in the current network
  • Add APIs esp_mesh_disconnect() and esp_mesh_connect()
  • RAM usage reduced 3KB RAM by removing an unnecessary task

Fixes

  • Fixed STAs can not detect disconnection from AP when encrypt transmission is used
  • Fixed memory leak when esp_mesh_stop() is called, the memory occupied by the transmitting remove announcement is not released
  • esp_mesh_connect() will be ignored if mesh automatic reconnection is enabled
  • Fixed vote reason is cleared before vote is done
  • Fixed issues in the example of manual_networking when mesh network is encrypted
  • When root can not connect to the router due to NO_MORE_STAS (reason code:5), root will stop re-connection and perform MESH_NWK_LOOK_FOR_NETWORK
  • Fixed disconnection caused by receiving a deauth frame from non-parent node during scanning
  • Fixed routing table redundant issue due to remove announcing is not 100% reliable
  • Fixed when a STA has not yet completed the 4-way handshake but the max replay count is reached, AP does not deauth the STA
  • New logic: During parent selection, the AP which is found without extended associated IE will be considered it has the same router BSSID as device itself
  • When STA leaves from AP, AP will now always post SYSTEM_EVENT_AP_STADISCONNECTED to mesh layer regardless of whether the STA has passed the encrypted authentication or not
  • Fixed ap_loss that occurs when the parent turns off the mesh function and becomes a normal Wi-Fi with a different SSID
  • Fixed in the process of re-voting to select the root, the device votes for itself even though it does not meet the conditions of being a root
  • Fixed issues in esp_mesh_recv_toDS() when stopping the mesh
  • When the user specifies a parent for the device, the device will now set the authmode and password of its Soft-AP mode to the same value as the specified parent
  • Fixed failure of mesh stop caused by block-sending
  • Fixed when FIXED_ROOT is set, 2nd layer devices can not receive mesh event ESP_ERR_MESH_NO_PARENT_FOUND
  • Fixed when FIXED_ROOT is set and the root turns off mesh function, 2nd layer devices do not look for new parents
  • Now disconnects from parent/router when the DSSS channel in received beacon is different from the home channel

Bluetooth Related

Coexist

Fixes

  • Fixed LC protection cause memory corrupted (Strange crash like IllegalInstruction, LoadProhibited and ...)

Classic BT

  • Added Secure Simple Pairing
  • Added Legacy Pairing

BLE Related

New Functionality

  • Added esp_ble_gap_clear_rand_addr() function to clear random address
  • Added sequential check when add include service
  • Added “service from” param in ESP_GATTC_SEARCH_CMPL_EVT
  • Added gatts send service change indication API
  • Added peer addr type check when set adv params
  • Added auto disconnection when ACCEPT_SPECIFIED_SEC_AUTH operation is failed
  • Added set/clear static passkey option in esp_ble_gap_set_security_param()
  • Added attr_handle for ESP_GATTS_CONF_EVT
  • Added advertisement data filter in scan duplicate

Fixes

  • Optimize bluetooth memory debug
  • Fixed PASSERT_PARAM(2051 0) error generated in llc_util.c
  • Fixed wrong return callback status ESP_GATT_STACK_RSP when do multiple read
  • Fixed remove/get bond list failed
  • Fixed crash when BLE do SMP connect and disconnect stress test
  • Fixed wrong prefered connection interval when setting in adv params
  • Fixed memory leak in service change char
  • Fixed iPhoneX get error when getting wifi list
  • Fixed crash when test multi_connection
  • Fixed reconnect failed in SMP when slave using static random address
  • Fixed stop adv error in dual core
  • Fixed register multi service change when register multi gattc
  • Fixed connection params update issues
    • connection parameters update cause link loss while data is being sent
    • BLE disconnect while connection parameters is reject by LL_REJECT_IND
  • Fixed BLE connection crash when there's higher...
Read more

ESP-IDF Pre-release v3.2-beta3

15 Mar 04:58
Compare
Choose a tag to compare
Pre-release

Documentation for release v3.2-beta3 is available at https://docs.espressif.com/projects/esp-idf/en/v3.2-beta3/

v3.2-beta3 is a prerelease of ESP-IDF v3.2. See below for a list of known issues in this beta release.

ESP-IDF v3.2 is a minor update for ESP-IDF v3.1.x. Release v3.2 is compatible with apps written for ESP-IDF v3.1.x, but features in v3.2 may not be available in earlier versions.

This is the list of changes since release v3.1.3:

Known Issues

  • Bluetooth modem sleep may infrequently cause BLE scans to fail until next reset
  • Rare ASSERT or crash caused by BLE connect/scan/adv when Wi-Fi triggers lots of interrupts (for example, Wi-Fi is running a throughput test) or high priority task swtich (equal to or greater than Bluetooth controller task priority).
  • Rare ASSERT or crash caused by BLE scan/adv stop or disconnect because memory corrupted in BLE controller memory pool.
  • BLE controller will ASSERT during scan if host is not able to handle adv reports in time (for example, application is printing a lot of logs so CPU can't process adv reports).
  • If LWIP Auto IP is enabled, switching Wi-Fi mode will cause a memory leak.
  • Watchdog timeout when using an RSA 4096-bit key to connect to WPA2-Enterprise (EAP-TLS) AP.
  • SoftAP mode doesn't support Wi-Fi power save. Stations with Wi-Fi power save enabled could lose some packets sent from SoftAP.
  • Rare memory leak in Wi-Fi Mesh
  • FreeRTOS xPortGetCoreID() function may return wrong core on un-pinned tasks
  • Rare crash in mDNS
  • When system is printing to an unbuffered stream, mesh task stack overflow may occur

Major New Features

Breaking Changes

  • RMT peripheral: Removed incorrect rmt_item16_t register access type. Use existing rmt_item32_t instead.
  • ESP-MESH: When Mesh IE encryption is enabled, Mesh V3.1 devices cannot connect to Mesh V3.2 devices. Devices with unencrypted Mesh IE can connect between versions, although features added in V3.2 will not work well in a mixed-version mesh.

Changes not compatible with earlier versions

These changes do not require any action when updating to V3.2, but will require consideration if moving from V3.2 to an earlier version.

  • NVS: Support has been added for NVS blobs larger than 1984 bytes. NVS partitions created from earlier ESP-IDF versions will be automatically updated when written from ESP-IDF V3.2. NVS partitions written from ESP-IDF V3.2 are not compatible with the NVS format used by earlier versions of ESP-IDF. It is possible to support the updated NVS partition format in ESP-IDF v3.1.x via the "Enable multi-page blob support" config option.
  • Wear Levelling: Wear Levelling flash partition format has been updated to Version 2, to support flash encryption. Version 1 Wear Levelling partitions will be automatically updated to Version 2. Version 2 partitions are not compatible with ESP-IDF V3.1.x or earlier.

Wi-Fi Related

  • Added internal API to enable or disable transmitting WiFi MAC frame with fixed rate.
  • Fixed bug that ESP32 crashes because of WiFi static TX buffer alloc/free.
  • Enabled Soft-AP receiving BAR to fix the issue that iphone fails to connect to Soft-AP.
  • Fixed the issue that STA fails to connect to some APs after reset.
  • wpa_supplicant: Implemented BIGNUM and ECC crypto wrapper apis for ESP using mbedtls.
  • Fixed the index of the invalid channel state information(CSI) data.
  • Corrected a mistake of CSI sub-carrier index in Wi-Fi documentation.

Smartconfig Related

  • Added support for broadcast packets sent by newer versions of ESP-TOUCH (useful for 5GHz router compatibility). Multicast packets sent by earlier versions of ESP-TOUCH are also still supported.
  • Fixed the declaration of remote_ip in sc_ack_send_task()

ESP-MESH Related

  • Note: When Mesh IE encryption is enabled, Mesh V3.1 devices cannot connect to Mesh V3.2 devices. Devices with unencrypted Mesh IE can connect between versions, although features added in V3.2 will not work well in a mixed-version mesh.

New Functionality

  • Removed dependencies which cause mesh code to be linked even if mesh is not used
  • Dynamically malloc the routing table
  • Support for not configuring the network channel
  • Support not configuring the router BSSID even if the router is hidden
  • Added allow_channel_switch to mesh configuration
  • Added allow_router_switch to mesh router configuration
  • Support handling beacon without IE of DS Parameter Set
  • Support dynamically modify IE encrypt after mesh is started
  • Automatically detect and resolve root conflicts when router BSSID is not set
  • Modify the max routes limitation from 300 to 1000
  • Add an event MESH_EVENT_NETWORK_STATE that contains information about whether there is a root in the current network
  • Add APIs esp_mesh_disconnect() and esp_mesh_connect()
  • RAM usage reduced 3KB RAM by removing an unnecessary task

Fixes

  • Fixed STAs can not detect disconnection from AP when encrypt transmission is used
  • Fixed memory leak when esp_mesh_stop() is called, the memory occupied by the transmitting remove announcement is not released
  • esp_mesh_connect() will be ignored if mesh automatic reconnection is enabled
  • Fixed vote reason is cleared before vote is done
  • Fixed issues in the example of manual_networking when mesh network is encrypted
  • When root can not connect to the router due to NO_MORE_STAS (reason code:5), root will stop re-connection and perform MESH_NWK_LOOK_FOR_NETWORK
  • Fixed disconnection caused by receiving a deauth frame from non-parent node during scanning
  • Fixed routing table redundant issue due to remove announcing is not 100% reliable
  • Fixed when a STA has not yet completed the 4-way handshake but the max replay count is reached, AP does not deauth the STA
  • New logic: During parent selection, the AP which is found without extended associated IE will be considered it has the same router BSSID as device itself
  • When STA leaves from AP, AP will now always post SYSTEM_EVENT_AP_STADISCONNECTED to mesh layer regardless of whether the STA has passed the encrypted authentication or not
  • Fixed ap_loss that occurs when the parent turns off the mesh function and becomes a normal Wi-Fi with a different SSID
  • Fixed in the process of re-voting to select the root, the device votes for itself even though it does not meet the conditions of being a root
  • Fixed issues in esp_mesh_recv_toDS() when stopping the mesh
  • When the user specifies a parent for the device, the device will now set the authmode and password of its Soft-AP mode to the same value as the specified parent
  • Fixed failure of mesh stop caused by block-sending
  • Fixed when FIXED_ROOT is set, 2nd layer devices can not receive mesh event ESP_ERR_MESH_NO_PARENT_FOUND
  • Fixed when FIXED_ROOT is set and the root turns off mesh function, 2nd layer devices do not look for new parents
  • Now disconnects from parent/router when the DSSS channel in received beacon is different from the home channel

Bluetooth Related

Coexist

Fixes

  • Fixed LC protection cause memory corrupted (Strange crash like IllegalInstruction, LoadProhibited and ...)

Classic BT

  • Added Secure Simple Pairing
  • Added Legacy Pairing

BLE Related

New Functionality

  • Added esp_ble_gap_clear_rand_addr() function to clear random address
  • Added sequential check when add include service
  • Added “service from” param in ESP_GATTC_SEARCH_CMPL_EVT
  • Added gatts send service change indication API
  • Added peer addr type check when set adv params
  • Added auto disconnection when ACCEPT_SPECIFIED_SEC_AUTH operation is failed
  • Added set/clear static passkey option in esp_ble_gap_set_security_param()
  • Added attr_handle for ESP_GATTS_CONF_EVT
  • Added advertisement data filter in scan duplicate

Fixes

  • Optimize bluetooth memory debug
  • Fixed PASSERT_PARAM(2051 0) error generated in llc_util.c
  • Fixed wrong return call...
Read more

ESP-IDF Release v3.1.3

18 Feb 05:27
Compare
Choose a tag to compare

Documentation for release v3.1.3 is available at https://docs.espressif.com/projects/esp-idf/en/v3.1.3/

ESP-IDF v3.1.3 is a bugfix-only update for ESP-IDF v3.1.2. Release v3.1.3 is compatible with apps written for ESP-IDF v3.1.x.

This is the list of changes since release v3.1.2:

Major Bug Fixes

  • Fixed an issue where wrong number of cache pages would be mapped if the address was less than 0x20 bytes more than a 64KB page boundary. This bug is also fixed in esptool v2.6, so images generated by the newer esptool will boot correctly even on older bootloaders.
  • Fixed simultaneous use of Bluetooth modem sleep and Dynamic Frequency Scaling
  • Fixed crash during simultaneous use of Wi-Fi, Bluetooth and modem sleep
  • I2C driver: Fixed I2C bus reset issues

Wi-Fi Related

  • Fixed WPS thread safety bug
  • Fixed bug that STA can scan for a channel outside the country regdomain range
  • Fixed issue that Wi-Fi cannot receive packets after waking from light sleep (BBPLL reset issue)
  • Reduced time spent awake to receive more data following either beacons with no buffered data or broadcast data
  • Defragmentation now only applied to data and management frames (other frame types will not be fragmentated)
  • Fixed a bug in APSTA mode where the BA index was incorrectly removed
  • Fixed a bug with incomplete TX state
  • Correctly documented a limitation of CSI data on ESP32 hardware

Bluetooth Related

  • Fixed some bugs where PHY/RTC functions in flash were incorrectly called from ISRs
  • Added PM lock to disable light sleep when Bluetooth is enabled (until underlying issue is fixed)
  • Fixed simultaneous use of Bluetooth modem sleep and Dynamic Frequency Scaling
  • Fixed accept specified SEC auth error
  • Forced some controller variables to always be linked into DRAM
  • Fixed auth_mode error when reconnecting with SMP
  • Fixed crash when checking controller congestion after disconnect

BLE Related

  • Fixed a bug that some advertisements will be lost when scan duplicate filter is enabled
  • Fixed incorrectly saving keys when BLE auth mode is not bonded
  • When scan duplicate filter is enabled, receiving of very similar advertisements is now limited

Classic BT Related

  • Fixed Legacy Pairing failed if remote device name unset
  • Fixed discovery failing to find device after disabling SSP

LWIP related

  • Fixed a mbox thread-safe issue which could lead to a crash in sys_arch_mbox_fetch()

mDNS related

  • Fixed issue where sending search packets after search completed could lead to a crash.
  • Fixed locking in timer task
  • Resolved memory leak when TXT record received multiple times
  • Fixed some error handling cases if malloc() failed
  • Fixed memory leak when mDNS service was stopped
  • Fixed some cases where mDNS queries were not correctly sent depending on order of events
  • Fixed a thread safety issue when sending UDP packets via LWIP

Bootloader related

  • Fixed IROM and DROM swapped in log messages
  • Fixed an issue where wrong number of cache pages would be mapped if the address was less than 0x20 bytes more than a 64KB page boundary. This bug is also fixed in esptool v2.6, so images generated by the newer esptool will boot correctly even on older bootloaders

System Related

  • Debugging: Backtraces starting from inside an ISR now continue out of the ISR
  • Added workaround for Tensilica Erratum 572 (IllegalInstruction exception when zero overhead loop buffer is enabled)
  • The panic handler now dumps a sample of instruction memory following an IllegalInstructionException
  • OTA: Fixed an invalid image error when flash encryption is enabled and an OTA update passes the image in multiple chunks
  • bootloader_support: Fixed a linking bug where bootloader version of __assert_func() could be incorrectly linked to the app
  • VFS: select() on UART now returns immediately when data is buffered
  • VFS: Fixed a bug where esp_vfs_unregister() would remove a parent VFS entry instead of the correct one
  • SHA: When SHA hardware acceleration is enabled, SHA contexts are now aable to be shared between tasks (ie digest finished by a different task to the initiating task).
  • SHA: Replaced semaphores with spinlocks to improve hardware SHA performance

Tooling Related

  • idf_monitor: Now prints a useful error message if the toolchain isn't available
  • idf_monitor: Fixed some Python exceptions when running under MSYS2

Peripheral Driver Related

  • UART: Fixed uart read error bug when using driver with both cores
  • i2c: Slow down I2C bus during bus reset (PR2493 PR2496
  • i2c: Correctly handle an I2C slave device still sending data during bus reset PR2496

Obtaining v3.1.3

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v3.1.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.1.3
cd esp-idf-v3.1.3/

This is the recommended way of obtaining v3.1.3 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v3.1.3.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server:
https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v3.1.3.zip

ESP-IDF Release v3.1.2

03 Jan 06:09
Compare
Choose a tag to compare

Documentation for release v3.1.2 is available at https://docs.espressif.com/projects/esp-idf/en/v3.1.2/

ESP-IDF v3.1.2 is a bugfix-only update for ESP-IDF v3.1.1. Release v3.1.2 is compatible with apps written for ESP-IDF v3.1.x.

This is the list of changes since release v3.1.1:

Wi-Fi Related

  • Fix bug that MIC verification fails on soft-AP mode
  • Modify mesh root to have same behavior as normal Wi-Fi STA in state change
  • sniffer: Fix bug where control packets were not captured
  • sniffer: Fix issue where disabling sniffer would permanently disable Wi-Fi STA mode, if both were being used together.
  • Fix crash in soft-AP mode
  • Fix ACM (Admission Control Management) bug
  • Enable RX BAR (Block ACK Request)
  • Fix issue which causes an iOS device to use 802.11g data rate when connecting to ESP32 AP, instead of 802.11n.
  • Fix issue which causes an ESP32 in station mode to disconnect from certain APs which announce two SSIDs.
  • Fix occasional failure of esp_restart() or esp_wifi_stop() in Wi-Fi/BT coexist mode.
  • Add a timer which is started by esp_wifi_stop(). Stop Wi-Fi forcibly once the timer expires.

Bluetooth Related

BLE Related

  • Add set default passkey function to set static passkey
  • Add option to only accept specified Authentication
  • Add BLE disconnect when ACCEPT_SPECIFIED_SEC_AUTH failed
  • Check peer_addr_type field of esp_ble_adv_params_t and return error if the value is invalid
  • Fix rare BLE assert(32768, 0) or assert(65536, 0) crashes in controller rwble.c
  • Fix BLE asserts when Wi-Fi coexistence is enabled

Classic BT Related

  • Allow dynamic allocation of SBC encoder/decoder buffer used in A2DP
  • SPP: Fix service_name buffer size
  • SPP: Add profile descriptor list

Controller Related

  • Fix ACL RX buffer corruption if a high priority task blocks the Bluetooth task
  • Fix a crash which may happen when BT controller is disabled while BLE is in use
  • Fix Wi-Fi issues (timeouts, buffer errors) after disabling controller
  • Fix Wi-Fi issues (RX failures, TX timeouts, lack of buffers) which occur when disabling BT controller
  • Fix interrupt watchdog timeout when Wi-Fi coexistence is enabled

Bluetooth Sniffer Mode

  • Fix miscalculation of sniff anchor point resulting in connection supervision timeout
  • Allow setting sniff attempts larger than 255

Ethernet related

  • Fix potential memory leak when L2_TO_L3_RX_BUF_MODE is not selected

LWIP related

  • Fix rare crash when closing a TCP socket, due to race between sys_arch_mbox_fetch/sys_arch_mbox_post and sys_arch_mbox_free

mDNS related

  • Fix crash on network change

System Related

  • Do not attempt to load PHY init data when NVS is not initialized
  • Allow interrupts to be allocated and freed on different cores
  • Support 64MBit PSRAM (1.8V and 3.3V)
  • Fix deadlock when accessing AES, SHA, MPI hardware accelerators (#2295)
  • freertos: use xTaskQueueMutex to protect tick count
  • mbedtls: Fix compilation errors when CONFIG_MBEDTLS_HARDWARE_AES is disabled
  • esp_timer: Add semaphore to prevent deleting timers while callbacks are dispatched

Storage Related

  • fatfs: Fix a potential deadlock caused by logging in critical sections

Peripheral Driver Related

  • i2c: enable I2C master hardware filter by default
  • spi: fix crash when ISR callbacks are not in IRAM but driver configuration enables ISRs in IRAM.

Obtaining v3.1.2

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v3.1.2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.1.2
cd esp-idf-v3.1.2/

This is the recommended way of obtaining v3.1.2 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v3.1.2.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server:
https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v3.1.2.zip

ESP-IDF Release v3.0.7

14 Dec 07:35
Compare
Choose a tag to compare

Documentation for release vDocumentation for release v3.0.7 is available at https://docs.espressif.com/projects/esp-idf/en/v3.0.7/

ESP-IDF v3.0.7 is a bugfix-only update for ESP-IDF v3.0.6. Release v3.0.7 is compatible with apps written for ESP-IDF v3.0.x.

The latest stable version of ESP-IDF is v3.1.1.

This is the list of changes since release v3.0.6:

WiFi Related

  • Fix the bug that sniffer can't catch control packets
  • Fix a crash in soft-AP mode
  • Fix ACM (Admission Control Management) bug
  • Do not attempt to load PHY init data when NVS is not initialized
  • Enable RX BAR (Block ACK Request)
  • Fix issue which causes an iOS device to use 802.11g data rate when connecting to ESP32 AP, instead of 802.11n.
  • Fix issue which causes an ESP32 in station mode to disconnect from certain APs which announce two SSIDs.

Bluetooth Related

  • Fix a bug in managing ACL RX buffer pointer
  • Fix a crash which may happen when BT controller is disabled while BLE is in use.
  • Fix Wi-Fi issues (RX failures, TX timeouts, lack of buffers) which occur when disabling BT controller.
  • Check peer_addr_type field of esp_ble_adv_params_t and return error if the value is invalid.

lwIP related

  • Fix rare crash when closing a TCP socket, due to race between sys_arch_mbox_fetch/sys_arch_mbox_post and sys_arch_mbox_free.

System Related

  • Fix deadlock when accessing AES, SHA, MPI hardware accelerators (#2295)

Obtaining v3.0.7

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v3.0.7 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.0.7
cd esp-idf-v3.0.7/

This is the recommended way of obtaining v3.0.7 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v3.0.7.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server:
https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v3.0.7.zip

ESP-IDF Release v3.1.1

01 Nov 13:43
Compare
Choose a tag to compare

Documentation for release v3.1.1 is available at https://docs.espressif.com/projects/esp-idf/en/v3.1.1/

ESP-IDF v3.1.1 is a bugfix update for ESP-IDF v3.1. Release v3.1.1 is fully compatible with apps written for ESP-IDF v3.x.x.

(If updating from apps written for ESP-IDF v3.0.x that use esp_ping, note one change in the v3.1 release notes.)

This is the list of changes since release v3.1:

Security Related

Bluetooth Related

  • Controller: Bluetooth modem sleep now enabled by default in configuration
  • Controller: Fix crash under some multiple connection scenarios
  • Controller: Fix possible hung controller after waking from sleep mode
  • Classic: Support Legacy Pairing
  • Classic: SCN 1 is no longer reserved for HFP only
  • Dual Mode: Fix bug that setting BR/EDR discovery mode will stop BLE advertising
  • Dual Mode: Fix bug removing a bonded device when both BLE & BT Classic are connected
  • BLE: Update private address after private address interval
  • BLE: Fix TX power reported in advertising data. If changing BLE TX power while advertising it is currently necessary to call esp_ble_gap_config_adv_data() to update the advertised value.
  • BLE: Fix failure to get bonded device list under some circumstances.
  • BLE: Fix failure to remove bonded device.
  • A2DP: Fix bug that sink device will also incorrectly register an A2DP source endpoint
  • A2DP: Fix incorrectly initialising AVDTP connection if A2DP service discovery fails
  • A2DP: Fix incorrectly initialising AVRC connection if A2DP connection setup fails
  • HFP: Fix incorrect length of HCI SCO packet size
  • SDP: Fix finding service by UUID always returns success
  • SMP: Don't incorrectly save key data when reconnecting
  • RFCOMM: Fix a crash
  • Blufi: Fix an MTU problem seen with iPhone X
  • Fix BTU task watchdog timeout after pairing with iPhone

WiFi/BT Coexistence Related

  • Fix BT hardware coexistence problems where disabling previously active Bluetooth controller causes WiFi to not operate correctly
  • Fix occasional watchdog timeout in WiFi when software coexistence is enabled
  • Fix issue where BT may stop receiving data if software coexistence is enabled
  • Fix BLE scan performance when software coexistence is enabled

WiFi Related

  • WPA2 Enterprise fixes
  • Fix error result calling esp_wifi_disconnect() if WiFi is not started or initialized.
  • Move two global variables to DRAM
  • Fix AMPDU RX sequence compatibility issue
  • Optimize scan compatibility when scanning all channels
  • Fix some modem sleep bugs
  • Update API to set CSI channel filter and HT_LTF data generation
  • Fix missing disconnect event if disconnected in an environment with multiple matching SSIDs
  • Fix BA session setup
  • Fix WiFi memory leak
  • Fix WiFi timer inaccuracy when sleep mode enabled

LWIP Related

  • Fix bug that SYSTEM_EVENT_STA_GOT_IP event was not sent when gateway is 0.0.0.0
  • Add option (enabled by default) to send gratuitous ARP periodically
  • Fix for failing to create a non-blocking TCP or UDP socket after multiple sockets are created and closed

mDNS Related

  • Fix mdns_service_txt_set() not correctly allocating memory for TXT records

Documentation Related

  • Update Eclipse setup guide for parallel builds

Examples Related

  • Expand content of Bluetooth A2DP source and sink examples, example READMEs
  • Fix default controller mode config in some Bluetooth examples
  • Release some controller memory in some Bluetooth examples

ESP-MESH Related

  • Restructure and update the Mesh documentation
  • Support setting mesh type, mesh ID, router and IE crypt func&key at any time after mesh is initalized
  • Support modifying parent at any time after mesh is configured
  • Modify manual networking example
  • Fix issues in root conflict handling
  • Add maximum length of beacon to component configuration
  • Fix issue when receiving a beacon without DSSS

System Related

  • NVS: Add optional support for blobs larger than 1984 bytes (CONFIG_MP_BLOB_SUPPORT). If enabled, blob size is limited by NVS partition size.
  • NVS: Add support for NVS Encryption when flash encryption is enabled (see NVS documentation for details)
  • Fix esp_read_mac() function when using two universal MAC addresses
  • sleep: keep RTC_SLOW_MEM powered on if RTC_NOINIT is used (previously, RTC_NOINIT values were lost).
  • Abort when a single core ESP32 boots a dual core firmware
  • Secure Boot: Fix secure boot digest generation for bootloader image length where (len%128 < 32)
  • Secure Boot: Support signing apps without enabling hardware secure boot. Allows the same OTA signature checks as when secure boot is enabled.
  • Secure Boot & Flash Encryption: Support 3/4 Coding Scheme (see website for details).
  • OTA/app_update: Fix intermittent failure of firmware updates, more prevalent when PSRAM is in use

Driver Related

  • sdio_slave: Fix recv crash if transaction finishes and loads at the same time
  • sdio_slave: Fix ret_queue crash when device is being reset by the master
  • spi_master: Fix command and address fields when LSB_FIRST is enabled
  • spi_slave: Fix RX DMA broken if master sends an unexpected transaction

Build System

  • cmake: "main" is a component again, similar to the GNU Make build system
  • cmake: Fix "make flash" and "ninja flash" targets when using CMake

Obtaining v3.1.1

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v3.1.1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.1.1
cd esp-idf-v3.1.1/

This is the recommended way of obtaining v3.1.1 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v3.1.1.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server:
https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v3.1.1.zip

ESP-IDF Release v3.0.6

01 Nov 11:15
Compare
Choose a tag to compare

Documentation for release v3.0.6 is available at https://docs.espressif.com/projects/esp-idf/en/v3.0.6/

ESP-IDF v3.0.6 is a bugfix-only update for ESP-IDF v3.0.5. Release v3.0.6 is compatible with apps written for ESP-IDF v3.0.x.

The latest stable version of ESP-IDF is v3.1.1.

This is the list of changes since release v3.0.5:

Security Related

WiFi Related

  • Fix WiFi timer inaccuracy when sleep mode enabled
  • Fix WiFi memory leak

Bluetooth Related

  • Dual Mode: Correct TX power levels (esp_power_level_t)
  • BLE: Fix crash on advertising start

Obtaining v3.0.6

For full installation instructions, see the ESP-IDF Programming Guide.

The source files attached to this release will not work due to our use of git submodules. Use one of the following methods instead:

Using git

To get this release, use the following commands:

git clone -b v3.0.6 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.0.6
cd esp-idf-v3.0.6/

This is the recommended way of obtaining v3.0.6 of ESP-IDF.

Download an archive with submodules included

Attached to this release is an esp-idf-v3.0.6.zip archive. It includes .git directory and all the submodules, so can be used out of the box. This archive is provided for users who have connectivity issues preventing them from cloning from GitHub.

This archive can also be downloaded from Espressif's download server:
https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v3.0.6.zip