Skip to content

ESP-IDF Release v3.1.1

Compare
Choose a tag to compare
@igrr igrr released this 01 Nov 13:43
· 36543 commits to master since this release

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