Aug 15, 2018

@projectgus projectgus released this Aug 10, 2018 · 1928 commits to master since this release

Assets 3

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

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

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

Bluetooth Related

  • Add "scan duplicate for BLE Mesh" feature
  • Fix BLE slave can't receive long packets in Security Manager Protocol

LWIP Related

  • lwip: Disable default trusting of IP MAC addresses (ie not automatically adding to the ARP table without sending an ARP request)
  • lwip: Fix assertion in tcp_pcb_purge()
  • lwip: Add source based IP routing for unicast packets

WiFi Related

  • Fix duplicate AMPDU issue

System Related

  • esp_timer: Fix bug where timer overflow could cause WDT interrupt in esp_timer_impl_set_alarm() (#1891)
  • freertos: Fix SMP safety issues with queue sets

Driver Related

  • uart: Fix UART timeout bug when using ref_tick clock source

Obtaining v3.0.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.0.3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.0.3
cd esp-idf-v3.0.3/

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

Download an archive with submodules included

Attached to this release is an esp-idf-v3.0.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.

Aug 1, 2018
Merge branch 'test/workaround_ci_failures_v3.0' into 'release/v3.0'
CI: erase nvs partition before test (backport v3.0)

See merge request idf/esp-idf!2870

@projectgus projectgus released this Jul 20, 2018 · 1928 commits to master since this release

Assets 3

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

ESP-IDF v3.0.2 is a bugfix-only update for ESP-IDF v3.0.1. Release v3.0.2 is compatible with apps written for ESP-IDF v3.0 & v3.0.1.

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

Wi-Fi Related

  • Refactor locks to avoid rare interrupt watchdog crash.
  • Reduce Wi-Fi stack memory usage.

LWIP Related

  • Fix assert in tcp_pcb_purge()
  • Fix bug that stale TCP connections don't close when IP changes (ie Wi-Fi STA disassociates and reassociates).

System Related

  • Move esp_crosscore_isr_handle_yield() to IRAM. Fixes occasional crashes when writing to flash.
  • nvs: Don't expect items with bad CRC to be in cache

Documentation

  • Clarify some Eclipse setup steps

Obtaining v3.0.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.0.2 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.0.2
cd esp-idf-v3.0.2/

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

Download an archive with submodules included

Attached to this release is an esp-idf-v3.0.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.

Jun 21, 2018

@projectgus projectgus released this Jun 21, 2018 · 522 commits to master since this release

Assets 3

Documentation for release v3.1-beta1 is available at http://docs.espressif.com/projects/esp-idf/en/v3.1-beta1/.

This is a prerelease version with known issues (see below). The current release version is v3.0.1.

This is the list of changes since release v3.0. ESP-IDF v3.1 is compatible with apps written for v3.0 (apart from one breaking change in esp_ping, see below).

Known Issues

  • Bluetooth modem sleep mode (disabled by default) has stability issues
  • Bluetooth modem sleep mode can't work with Dynamic Frequency Scaling
  • Wi-Fi NULL mode is currently non-functional
  • When using BLE and Wi-Fi together, BLE advertising or scanning has a small chance of failing
  • Wi-Fi performance is not good when signal is weak

Breaking Changes

  • esp_ping units are now milliseconds (in v3.0 ping units were undocumented but they were treated as seconds)

Major Changes

  • Support for Wi-Fi & Bluetooth modem sleep
  • Support for Automatic Light Sleep to reduce overall power consumption (including Tickless FreeRTOS)
  • Multiple antenna support (automatic using external RF antenna switch)
  • Wi-Fi mesh functionality
  • OS adapter layer for Wi-Fi functionality (allows Wi-Fi libraries to run on other RTOS implementations)
  • SDIO Slave peripheral driver
  • Bootloader refactoring, configurable factory reset and test app trigger functionality
  • Partition table can be relocated to allow a larger bootloader binary

BLE

Link Layer

  • Fix the smartphone compatibility bug caused by LL Feature Exchange timing issue

GATT Client

  • Save GATTC cache in NVS and add an option to configure it through menuconfig
  • A new parameter incl_srvc_e_handle is added to the struct esp_gattc_incl_svc_elem_t while getting include service information
  • Fix the incorrect PID key result of the ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT event

GAP

  • Fix the bug where the start/stop advertising completed events sometimes are not accurate
  • Add the duplicate scan feature and add an option to configure the duplicate scan cache size through menuconfig
  • New API esp_ble_gap_config_local_icon to set the local GAP appearance icon
  • New API esp_ble_gap_get_local_used_addr to get the local address used (e.g. current random address used)

SMP

  • Fix the bug that lead to crash when deinit bluetooth with SMP disabled
  • Fix the incorrect results of the esp_ble_get_bond_device_list which is called after reboot

Blufi

  • New "get wifi list" command
  • New "report internal error report to phone" command
  • New "send/receive custom data" command

Examples

  • Add A2DP and BLE GATTS coex Demo
  • Add BLE Throughput Demo
  • Add HID Device Demo
  • Fix ble_spp_clientdemo error when SUPPORT_HEARTBEAT is enabled

Performance optimization

  • BLE throughput optimizations
  • Automatic registration of GATTC service change notify

Bluetooth Common Parts

  • Wi-Fi & Bluetooth coexistence support
  • Bluetooth modem sleep mode

Classic BT

  • HFP (Hands Free Profile) support
  • GAP device and sevice discovery
  • SPP profile (including VFS support to return a file descriptor)
  • dynamic memory allocation
  • A2DP: Source and sink functionality can be enabled/disabled at runtime (both cannot be enabled concurrently)
  • A2DP: Performance improvements
  • Allow setting BR/EDR TX power level

Wi-Fi

New Functionality

  • Wi-Fi & Bluetooth coexistence support
  • Modem sleep support
  • Mesh feature
  • Throughput optimizations
  • Support for Channel State Information (CSI)
  • Support to sniffer Wi-Fi control packets
  • Add parts of WPA Supplicant source to ESP-IDF
  • New event mask API
  • New esp_wifi_80211_tx function for sending 802.11 frames
  • WPS: Support WPS in APSTA mode
  • WPS: Add "set factory information" feature
  • Allow creating the Wi-Fi task pinned to either core

Bug Fixes

  • Fix issue where esp_wifi_stop never returns if start/stop is run repeatedly
  • Fix for connecting to WEP APs
  • Fix for de-authing station if Soft AP already has maximum connected
  • Thread safety fixes in Wi-Fi library
  • Fix issue that smartconfig crashes when switching channel
  • Fix smartconfig crash issue with SPI RAM
  • Fix the issue that esp_wifi_connect returns ESP_OK, but no system event posted (ap_loss) ([#1797](esp_wifi_connect returns ESP_OK, but no system event posted (ap_loss)))
  • WPA2 Enterprise PEAP connection fixes ([#1887](Enterprise PEAP connection issue))
  • Fix ESPNOW bug when add node in AP+STA mode

LWIP

New Functionality

  • Add VFS file descriptors in select
  • Add event SYSTEM_EVENT_AP_STAIPASSIGNED

Bug Fixes

  • Fix the issue that TCP connections don't abort when IP address is changed
  • Modify default value of MTU in dhcp offer to 1500
  • Fix the assertion issue caused by tcp_pcb_purge()

RF PHY

  • Fix for full calibration accidentally running twice
  • PHY performance improvements

Ethernet

Bug Fixes

  • Set direction of SMI MDC & MDIO pins correctly

Network Functionality

  • New esp-tls library (on top of mbedTLS) for high level TLS (SSL) functionality
  • New esp_http_client library for HTTP/S client functionality
  • mbedTLS: Update to v2.9.0
  • dhcpserver: Fix maximum number of leases (was one less than configured)
  • dhcpserver: Increase DHCP offer MTU size to 1500

Smartconfig

  • Moved to its own component (no longer part of 'esp32')

Soc-Level Functionality

New Functionality

  • Power Management: Support for automatic light sleep
  • Dump stack of both cores when Interrupt watchdog timeout occurs
  • New macros DMA_ATTR & WORD_ALIGNED_ATTR for declaring DMA-capable static buffers
  • Add option to continue running if PSRAM was enabled but not detected at boot
  • Support maximum CPU frequency rating efuse bits, if set from factory.
  • Power Management: Allow disabling a deep sleep wakeup source
  • Improve performance of DPORT access workaround
  • Support __NOINIT_ATTR and RTC_NOINIT_ATTR for static memory not cleared on reset

Bug Fixes

  • Power management: Dynamic frequency scaling stability improvements
  • Fix for runtime configuration of PSRAM (improves stability for 80MHz PSRAM)
  • Fix starting 32kHz crystal in some cases where crystal performance is borderline
  • Fix loss of precision when estimating XTAL frequency
  • Prevent Interrupt WDT from re-triggering in panic handler
  • Heap: Fix tracing of newlib internal allocations (not all of these were being included in the trace)

Core System Libraries

New Functionality

  • freeRTOS: Support tickless idle (works with Light Sleep)
  • newlib: Add support for adjtime()
  • New esp_err_to_name() function to look up error messages from esp_err_t codes.
  • New API esp_intr_set_in_iram() to change interrupt "in IRAM" status
  • pthreads: Allow configuring thread priority & stack size on creation
  • C11 Thread Local Storage support
  • Heap: New "record task" option for heap tracing
  • esp_timer: Add a function to get next alarm time

Bug Fixes

  • Remove debug logging from pthread conditional variables
  • Remove duplicate definition of system_restore
  • Increase default event task stack size by 256 bytes (prevent stack overflow at Debug log level)
  • Fix for idle task stack overflow under some circumstances
  • Refactors and stability fixes for ESP-IDF RingBuffers
  • Fix busy loop in esp_timer_impl_set_alarm (could trigger interrupt watchdog)

Bootloader

New Functionality

  • More modular bootloader. Minimal code in the bootloader component itself makes it easy to copy this component into a project to implement custom bootloader functionality.
  • New "reset to factory" and "start test app" config options to watch a GPIO and trigger behaviour on reset
  • Partition table can be relocated to allow a larger bootloader binary
  • Partition table now generated with MD5 checksum, checked on boot

Bug Fixes

  • Fix flash QIO mode configuration for some flash chips

Drivers

New Functionality

  • esp_adc_cal: Read factory calibration data from eFuse if present in chip
  • GPIO: Support digital pad hold function
  • I2S: Support "fixed_mclk" configuration
  • I2S: Support for expanding bit width for multi-data-bit input and output (not standard I2S)
  • LEDC: New thread-safe duty cycle & fade API
  • PCNT: Allow each unit to have its own interrupt handler
  • RMT: New function rmt_register_tx_end_callback(). Called when RMT ISR has queued all outgoing items
  • RMT: New API for sending generic uint8_t-typed data.
  • SDIO Slave: New driver
  • SDMMC: SDIO support at protocol layer
  • SDMMC: Add support for reading CD & WP pins in driver
  • SPI Master: Configuration item to place SPI send/receive code into IRAM for performance

Bug Fixes

  • Always reset various communication peripherals (UART, I2C, etc) on CPU reset
  • ADC: Fix bug where some peripherals (DAC, HALL) needed to be disabled before ADC conversion
  • esp_adc_cal: Simplify lookup table mode, due to inferior performance compared to linear mode for attenuations 0-2
  • GPIO: modify return value when gpio ISR service already exists.
  • I2C: Concurrency fixes
  • I2C: Add xQueue and xSemaphore static allocation support when intr_alloc_flag set to ESP_INTR_FLAG_IRAM.
  • I2S: Fix I2S ADC mode
  • LEDC: Fix duty cycle and fade overflow issues
  • SPI master: perform clock calculations in initialization not ISR
  • SPI master: Don't reconfigure peripheral if settings are unchanged
  • SPI master: Fix issue using GPIO0
  • SPI master: Fix issue with variable command and address flag
  • SPI master: Fix typo in LSBFIRST macro value
  • SPI master: Allow using GPIO34-39 as MISO
  • RMT: Remove logging which skewed timing
  • RMT: Fix for LoadProhibited crash
  • RMT: Fix TX stop API issue
  • SDMMC: Fix for slave sometimes falling into SPI mode
  • SDMMC: Fix init sequence ordering
  • SDMMC: Improve host clock generation (set highest possible clock divider)
  • SDMMC: Initializers are now C++ compatible
  • SDMMC: Various other command-related fixes
  • SDSPI: Handle error flags for R3 & R7 responses, and delayed R1 responses
  • SDSPI: Fix compatibility issues with multi-block reads
  • SDSPI: Initializers are now C++ compatible
  • UART: Remove unnecessary call to xSemaphoreGive()
  • UART: Fix UART FIFO overflow bug
  • UART: New pattern detect function
  • UART: Fix uart_get_baudrate incorrect return value when using ref_tick
  • Touch: Fix default touch channels enabled on startup
  • Touch: Improve the touchpad filter mode

Virtual Filesystem

  • Support for VFS file descriptors in select() (currently support mixing UART & socket fds in a single select() call)
  • Support access() function
  • UART driver: Support O_NONBLOCK flag

External Libraries

  • AWS IoT: Update AWS IoT SDK to v2.2.1
  • AWS IoT: Allow setting Thing Shadow settings via menuconfig
  • AWS IoT: Fine tune stack size for aws_iot examples
  • AWS IoT: Fix compilation when "Override Shadow RX buffer size" is enabled in menuconfig
  • micro-ecc: Update to version 1.0 (no code changes from previously used version)

Storage Subsystems

New Functionality

  • fatfs: Configurable allocation unit size
  • fatfs: Character encoding configurations
  • fatfs: Support for mounting read-only fatfs volumes without wear levelling
  • nvs: New host-side utility to create a prepopulated NVS partition
  • nvs: New functions for returning used/free entry counts
  • nvs: Fix for NVS sometimes leaving free chunks unwritten in a page
  • spiffs: New config option for logical page size

Bug Fixes

  • nvs: Fix recovery from power off during erase or free cycle
  • spiffs: Verify OBJ_NAME_LEN + OBJ_META_LEN is within limits
  • spiffs: Fix esp_spiffs_format() if partition is not mounted

Documentation

Build System

  • New hooks to remove build-time requirement for 'git' to be installed
  • Support for EXCLUDE_COMPONENTS project level variable
  • Build-time check that configured flash size fits in the partition table

Host-Side Tools

  • idf-monitor: Improve gdb session cleanup on Linux
  • idf-monitor: Fix cases where monitor would crash writing to console on WSL
  • espefuse: Support for reading ADC calibration data, where provided
  • idf-size: Sort output by total size
  • idf-size: Report per-symbol sizes from map file (new target make size-symbols)
  • JTAG: Support software breakpoints set in flash (pending release of openocd support)
  • gcov: Add GCOV debug stub support

Getting This Release

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-beta1 --recursive https://github.com/espressif/esp-idf.git esp-idf-v3.1-beta1
cd esp-idf-v3.1-beta1/

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

Download an archive with submodules included

Attached to this release is an esp-idf-v3.1-beta1.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.

@projectgus projectgus released this Jun 20, 2018 · 1928 commits to master since this release

Assets 3

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

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

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

Known Issues

(These bugs are scheduled for v3.0.2.)

  • Rare Wi-Fi interrupt WDT crash
  • Rare crash when writing to or erasing flash
  • When Wi-Fi STA disassociates and reassociates, stale TCP connections are not automatically closed

Bluetooth

  • Fix A2DP connection issues with iPhone 7
  • Fix notify memory leak
  • Fix crash on malloc failure
  • Fix esp_ble_gap_set_security_param() memory leak

Wi-Fi Related

  • Fix the issue that station fails to receive data in modem sleep mode if association ID is bigger than seven
  • Fix smartconfig crash issue with SPI RAM
  • Fix the issue that esp_wifi_connect() returns ESP_OK, but no system event posted (ap_loss) ([#1797](esp_wifi_connect() returns ESP_OK, but no system event posted (ap_loss)))

LWIP Related

  • Fix assertion issue in tcp_pcb_purge()

RF PHY

  • Log an error if storing PHY calibration data fails
  • Fix some situations where PHY calibration data may not be stored correctly
  • Reduce libphy IRAM usage

Drivers

  • I2S: Fix broken I2S ADC mode
  • UART: Fix uart buffer_full flag always being set

Obtaining v3.0.1

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 https://github.com/espressif/esp-idf.git esp-idf-v3.0.1
cd esp-idf-v3.0.1/
git checkout v3.0.1
git submodule update --init --recursive

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

Download an archive with submodules included

Attached to this release is an esp-idf-v3.0.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.

Jun 20, 2018
Merge branch 'feat/sdio_pullup' into 'master'
feature(sdio): add features to make SDIO slave compatible with more devkits

See merge request idf/esp-idf!2454
Jun 1, 2018
v3.0.1 Release Candidate

@igrr igrr released this Apr 24, 2018 · 1928 commits to master since this release

Assets 3

Documentation for release v3.0 is available at http://esp-idf.readthedocs.io/en/v3.0/.

This is the list of changes since release v3.0-rc1.

If upgrading from previous stable release V2.1, check the v3.0-rc1 release notes for changes which also apply.

Breaking Changes

Release v3.0 is largely compatible with apps written for ESP-IDF v3.0-rc1. However some breaking behaviour and significant API changes have been introduced:

  • Some I2S APIs which mixed return values and error codes have been deprecated. New APIs have been introduced to replace them.

    • i2s_write should be used instead of i2s_write_bytes and i2s_push_sample, which are deprecated.
    • i2s_read should be used instead of i2s_read_bytes and i2s_pop_sample, which are deprecated
  • A new parameter remote_addr_type is added for esp_ble_gattc_open() (esp_ble_gattc_open())

  • Modify the parameter of the ESP_GATTS_ADD_CHAR_DESCR_EVT BLE GATTS event, renaming the char_uuid parameter of this event to descr_uuid (!1484)

  • Modify the Classic BT AVRC events

    • Remove the feat_mask parameter from the ESP_AVRC_CT_CONNECTION_STATE_EVT event
    • Delete the ESP_AVRC_CT_MAX_EVT event
    • Add a new event ESP_AVRC_CT_REMOTE_FEATURES_EVT

Build System and tools

New functionality

  • Support C++ source files with .cc extension
  • idf_monitor now supports pausing log output from the console
  • Support editorconfig for editing ESP-IDF source files
  • Fix for reduced RTC core voltage when waking from sleep

Bug fixes

  • Restore application compatibility with pre-IDF v2.1 bootloaders
  • Fix SysView support when building in single core mode

Bootloader

  • Disable logging before UART is reconfigured by second stage bootloader (possibly setting a custom baud rate)
  • Always boost VDD_SDIO voltage 1.8V -> 1.9V if flash frequency is 80MHz

FreeRTOS

New Functionality

  • Backported FreeRTOS V9.0.0 task deletion behaviour: a deleted task will be immediately cleaned up if it is not currently running.
  • IDF ringbuffer: Add new APIs xRingbufferGetCurFreeSize(), xRingbufferIsNextItemWrapped(), xRingbufferCreateNoSplit()

Bug fixes

  • Fix for cross-core deleted tasks not being cleaned up in some circumstances.

System Library Features

New Functionality

  • spi_flash: New configuration options to detect invalid writes

Bug Fixes

  • Fix esp_timer accuracy issues
  • Fix realloc() behaviour when heap tracing is enabled
  • Fix realloc() memory corruption bug when heap poisoning is enabled
  • Fix memory fragmentation issue when splitting large free blocks
  • Fix compilation error when RTC used as clock source
  • Fix invalid SPIRAM clock changes by clock subsystem
  • Fix clock initialization in single core mode
  • Restrict linker size of DRAM to enforce static RAM limits, rather than erroring at runtime

Drivers

New functionality

  • ADC eFuse factory calibration functionality
  • I2S driver: New function i2s_write_expand() to automatically expand bit width of supplied samples to match hardware
  • UART driver: Allow reading character pattern detection position without modifying the pattern detection queue

Bug fixes

  • I2C driver: fixes for timeout recovery, thread safety
  • I2C driver: allow NACKing last byte read
  • I2S driver: fix inaccurate errors returned from some functions

TCP/IP

New Functionality

Bug Fixes

  • Fix closing TCP socket causes system crash bug
  • Fix the bug that incorrect event is posted when setting static IP of soft-AP or Ethernet

Known Issues

  • Long time TCP traffic stability test causes LWIP assert, it is only found in dual core mode with PSRAM is enabled
  • TCP traffic stability test causes Interrupt watchdog timeout, it is found in dual core mode and when the WiFi mode of the device is configured as WIFI_MODE_APSTA mode

WiFi

Bug Fixes

  • Fix a bug that system crashes when station disconnects from AP.
  • Fix the bug that receiving beacon time is not correct.
  • Fix the bug that esp_wifi_restore() will cause a fail wifi connection.(#233)
  • Fix the bug that in sniffer mode it asserts when receive misc data.(#1037,#1404)
  • Fix a memory leak in espnow
  • Fix the bug that wpa2 assert when disconnect from AP
  • Fix QoS bug in 11g mode
  • Fix esp_wifi_stop() never returns bug
  • Fix esp_wifi_deinit() causes system assert bug
  • Fix EAPOL retransmission causes system crash bug
  • Fix WPS not work correctly on WIFI_MODE_APSTA bug (#1045)
  • Fix sha256 signature of WPA2 causes system assert bug ([#1297](Unable to use wpa2_enterprise example on ESP32))

Performance Improvements

  • Optimize WiFi retransmission and timeout mechanism

BLE

Known Issues

  • Bluetooth controller will crash if ESP32 is overloaded, e.g. running the BLE throughput example and printing a lot of logs at the same time

Link Layer

  • Fix the bug where the LL_LENGTH_REQ packet is sent even if the remote device doesn't support this feature

GATT Server

  • Fix the incorrect result of the esp_ble_gatts_get_attr_value() event when the characteristic value that the event gets is written by the remote device using Prepare Write Request (#1612)

GAP

  • Fix the bug where the start/stop advertising completed events sometimes are not accurate
  • Fix the bug where the connection parameters update procedure sometimes fails in the period of pairing
  • Fix the bug where the connection parameter update procedure sometimes leads to disconnection
  • Fix the bug where the bonding list that read from the flash is not correct once the chip reboots

SMP

  • Fix the bug where the reconnection sometimes fails when the device is already paired (#1561)

Performance optimization

  • Improve the stability of the multi-connection

Bluetooth Common Parts

  • Fix some bugs related to the memory leakage (BLE SMP, A2DP, Timer)
  • Fix some bugs that may lead to crash (xQueueGenericSend, page scan procedure, etc)

Classic BT

  • Add the option to configure the stack size of A2DP sink task through menuconfig
  • Fix the bug where the restart of media task fails when the esp_a2d_sink_deinit() is called in the period of connection (#1522
    )
  • Fix the incorrect disc_rsn parameter value of the ESP_A2D_CONNECTION_STATE_EVT event when the receiving device acts as a master
  • Fix the incorrect remote_bda parameter value of the ESP_AVRC_CT_CONNECTION_STATE_EVT event
  • Fix the bug that causes the initiating side to lose the link key notification event when the receiving device is repairing in simple_pairing mode(#1275)
  • Fix the bug about string_to_bdaddr where the address of the device that read from the flash is not converted correctly when nano formatting options is enabled in the menuconfig

openssl wrapper

  • Fix compilation error when ALPN is disabled in mbedTLS configuration

mbedTLS

Bug Fixes

  • Backport security fixes from v2.8.0 to v2.6.0. Covers CVE-2018-0488, CVE-2018-0487, CVE-2017-18187, CVE-2018-9988, CVE-2018-9989.

Ultra Low Power Processor

Bug Fixes

  • Fix I_DELAY macro error when using new toolchain
  • Document execution time for ULP instructions

mDNS

Bug Fixes

  • Produce TXT records compatible with all mDNS parsers
  • Fix issue when mDNS service is NULL

External Libraries

  • cJSON updated to v1.7.1, includes some memory corruption fixes

Documentation

  • Add tutorials in some BLE examples
  • Modify the readme files in some BLE/BT examples
  • Improved RMT driver API documentation

Examples

New Examples

  • New RMT driver example

Bug Fixes

  • Fix some bugs for the Eddystone example (#1682)

Obtaining v3.0

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 pre-release, use the following commands:

git clone https://github.com/espressif/esp-idf.git esp-idf-v3.0
cd esp-idf-v3.0/
git checkout v3.0
git submodule update --init --recursive

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

Download an archive with submodules included

Attached to this release is an esp-idf-v3.0.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.