This is the list of changes since release v3.3.
1. Important Notes
- Removed aws-iot component and related example, if you need to implement aws-iot, please refer to https://github.com/espressif/esp-aws-iot.
- Removed ibm-mqtt component and related example, if you need to implement MQTT, please refer to https://github.com/espressif/esp-mqtt.
- Added support policy for each SDK version.
- Supported WPA3/PMF/802.11kv.
- Updated GCC to version 8.4.0, you can run
./install.sh
in the root directory of RTOS SDK to install GCC and its related components. - For security, with RTOS v3.4, if user sets a password to connect to an AP, then it cannot connect to an open AP with the same SSID.
- Supported SmartConfig V2 and provided example.
2. Changes in Functions and Features:
2.1 App Update
- Added
App description
section in the compiled firmware.
2.2 COAP
- Synced COAP component and example from ESP-IDF.
- Added examples of COAP multicast client and sever.
2.3 Driver
- Supported SPI Flash GD25Q64 QIO mode.
- Added API reference document for I2S.
- Removed
i2s_bbpll_clk_enable
since I2S clock is enabled by default during initialization. - LEDC: Fixed PWM duty setting error.
- Supported float number in PWM.
- Optimized PWM hardware timer enable/disable, to ensure it will not be affected by other hardware drivers.
- Fixed an issue of ADC read.
2.4 ESP Common
- Added
esp-common
component, moved some common functions into it, synced from ESP-IDF.
2.5 ESP Event
- Added
esp-event
component. - Optimized example to use esp-event APIs.
2.6 ESP HTTP Client
- Synced
esp_http_client
component and example from ESP-IDF.
2.7 ESP MQTT
- Synced
esp-mqtt
component and example from ESP-IDF.
2.8 ESP TLS
- Fixed an incorrect definition issue in example.
- Fixed a compiling error with mbedTLS.
- Fixed a
wolfSSL_set_tlsext_host_name
missing error when compiling with wolfSSL.
2.9 FatFS
- Added FatFS.
2.10 Free ModBus
- Added free-modbus.
- modbus protocol supports TCP transmission.
2.11 FreeRTOS
- Added a hardware detection for task stack overflow.
- Optimized interrupt workflow to speed it up.
- Added
errno
for thread safety. - Added a feature to modify task stack depth dynamically.
2.12 Heap
- Added a configuration to enable/disable heap trace. If it is disabled, then malloc/free will be speeded up.
- Add integer overflow checks
2.13 LwIP
- Synced
esp-lwip
component and example from ESP-IDF. - Added a configuration to enable
auto-config
for IPv6 address. - Fixed an issue that system returns OK even if it actually fails to send data when ran out of Wi-Fi TX buffer.
- Increased the default TCP buffer size for sending data from 2880 bytes to 5760 bytes.
- Added an iperf example to test TCP/UDP throughput.
- Optimized the time that DHCP client needs to get an IP address.
- Supported enabling more LwIP debug log in menuconfig.
- Added IPv6 ICMP example.
- Fixed an issue of IPv6 multicast.
2.14 MbedTLS
- Fixed compiling error of unit test.
- Improved calculate speed of bignum.
2.15 mDNS
- Synced mDNS component and example from ESP-IDF.
2.16 System
- Supported print "%" with ets_printf.
- Supported GDB stub in panic.
- Added rtc uninitialized section and data uninitialized section.
- Fixed a deep sleep failure issue.
- Refactored ets timer to save memory.
- Supported link application firmware to the SPI flash's first 8MB space.
- Optimized compilation configuration, user can configure it by
. ./export.sh
. - Added
esp_random
to get hardware random number. - Fixed an issue of calling
esp_restart
. - Changed the default frequency to be 160MHz since CPU starts.
- Added non-mask watchdog to monitor the system in critical section.
- Changed the task priority of
app_main
from 15 to be 1. - Added fast boot mode, the system start-up time is about 20ms in this mode.
- Added a function to get the value of RTC hardware clock.
- Fixed a deep sleep time overflow issue.
- Fixed an issue of calling
ets_printf
when read/write SPI flash. - Updated GCC to version 8.4.0.
- Disabled warning detection by default when compiling with cmake.
- Added a configuration to support 40MHz crystal oscillator.
- Fixed an issue of closing NMI
- Fixed an issue that the system may fail to wake up if set it deep sleep for a very short time (1~6us).
2.17 TCP Transport
- Synced TCP transport component and example from ESP-IDF.
2.18 TCPIP Adapter
- Added
esp_netif_init
andesp_netif_deinit
to sync the same framework with ESP-IDF. - Increased efficiency of getting an IP address by disabling power save function during DHCP.
2.19 Util
- Removed Util component, and move arithmetic codes into mbedtls component and esp8266 component.
2.20 VFS
- Synced VFS component from ESP-IDF to support FatFS.
2.21 Wear Levelling
- Added
wear-levelling
component for FatFS.
2.22 Wi-Fi
- Updated libphy.a to version 1163.0, which saved more memory and optimized Wi-Fi performance.
- Optimized Wi-Fi sleep arithmetic to save more power in modem/light sleep mode.
- Refactor softap sleep arithmetic to increase efficiency of sending data to station.
- Refactored MAC arithmetic of sending data to increase efficiency and save memory.
- Supported WPA3.
- Supported PMF.
- Supported PMF & ESP-NOW coexistence.
- Fixed a connecting fail issue of iPhone in ESP8266 softAP mode.
- Fixed a possible beacon attack issue during beacon auth mode change.
- Fixed a possible system restart issue when Wi-Fi and PWM are used at the same time.
- Fixed some ESP-Now issues.
- Supported getting frequency offset by scanning.
- Supported rssi info and phy mode in
esp_wifi_sta_get_ap_info()
api. - Fixed an issue that softAP may fail to store PMK if system powers down unexpectedly.
- Fixed some Wi-Fi country code issues.
- Supported receiving multicast packets in ESP-NOW.
- Fixed an issue that Wi-Fi mode changed when enters deep sleep.
esp_wifi_scan_start()
returns error, if user calls it during station connecting to an AP.- Fixed an issue that device will send 802.11 ACK even if sta or softap is stopped.
- Fixed an issue that softap checked dis-assoc packet sequence with data sequence.
- Fixed an issue that softap still does 4-way handshake when station tries to connect to it with wrong ssid.
- Refactored Wi-Fi connecting arithmetic to improve its performance if there are many APs with a same SSID but different passwords.
- Fixed an issue that device may receive packets which are forwarded by AP but originally sent by itself.
- Fixed an issue that device will rewrite flash even if sets the same station config.
- Supported 802.11kv, added Wi-Fi roaming example.
- Changed default DTIM in softAP mode from 2 to be 1.
- Added a configuration to set maximum and minimum packet length in sniffer mode.
- Improved the performance of catching packets in the air in sniffer mode.
- Fixed cipher mode error when scanning AP info.
- Optimized SmartConfig efficiency.
- Changed SmartConfig to use
esp_event
to sync status. - For security, with RTOS v3.4, if user sets a password to connect to an AP, then it cannot connect to an open AP with the same SSID.
- Supported SmartConfig V2 and provided example.
- Fixed an issue that Wi-Fi RX buffer may fail to release with some specific router.
- Fixed connecting fail issues with some specific routers.
- Fixed an issue that if scanning more than 5 seconds then it will fail.
- Fixed an issue that if ESP8266 station connects to a router and also enables ESP-Now, its key pn will be updated incorrectly and Wi-Fi data may loss.
- Fixed a possible system crash issue when AMPDU registers were rewrote
- Fixed dump CCMP length error
- Fixed RF state error when scan again in scan callback function
2.23 Wi-Fi Provisioning
- Synced Wi-Fi Provisioning component and example from ESP-IDF.
2.24 WPA Supplicant
- Refactored WPA Supplicant to support WPA3, and keep the same framework with ESP-IDF.