Releases: espressif/arduino-esp32
Arduino Release v3.0.3 based on ESP-IDF v5.1.4+
The Arduino ESP32 version 3.0.2 is third bugfix release based on the ESP-IDF v5.1.4 (release notes).
For version migration, please check Migration Guide from v2.X to 3.X
Known issues
- ESP Rainmaker does not work with esp32c3 in #10036 (Rainmaker does not work with Bluetooth)
System changes
- IDF release/v5.1 by @me-no-dev in #10038
- fix(idf): Require openthread on H2 and C6 by @me-no-dev in #9934
- fix(libs): Update all libraries to match the core version by @me-no-dev in #10041
Arduino Lib builder changes
- feat(lwip): Use custom LwIP V6 Input hook by @me-no-dev in espressif/esp32-arduino-lib-builder#194
- Add patch to fix the maximum number of TCP PCBs in TIME_WAIT by @me-no-dev in espressif/esp32-arduino-lib-builder#191
- Add temporary fix for mmu map and late init of psram by @me-no-dev in espressif/esp32-arduino-lib-builder#188
Peripherals
RMT
UART
LedC
- feat(ledc): Allow attaching multiple pins to 1 channel by @P-R-O-C-H-Y in #10032
Libraries
WebServer
Http Client
- fix(httpc): Fix data read was less than expected by @me-no-dev in #9998
SDMMC
File System
Networking
- feat(net): Enable IPv6 immediately if already connected by @me-no-dev in #9948
- feat(eth): Allow setting the RX task stack size by @me-no-dev in #10003
Boards additions and updates
- feat(3rd party board): Adding ViraLink IoT Gate Boards by @armp30 in #9841
- Added LilyGo T3S3 variants by @lewisxhe in #9956
- feat (3rd_party_board): Add new Adafruit Feather C6 - rev B by @ladyada in #9961
- fix(nodemcu-32s): Fix Upload Speed menu on Windows by @me-no-dev in #10012
- add(board): Add LOLIN S3 Mini Pro by @wemos in #10021
- change(board): Add default 16MB partition to esp32wroverkit by @tutotio in #10016
- add(board): Add M5Stack NanoC6 Dev Kit by @lboue in #9942
CI and testing
- ci(tests): Fix cache cleaning by @lucasssvaz in #9932
- ci(tests): Fix conclusion status and badge pushing by @lucasssvaz in #10013
Examples
- Fixes WiFiProv.ino by @SuGlider in #9946
- fix(example): Add better WPS logging by @me-no-dev in #9999
- Update Zigbee_Temperature_Sensor.ino by @lboue in #10030
Documentation
- fix(docs): Correct i2s.srt api example by @szprytny in #9968
- docs(lib-builder): Add instructions to use the UI by @lucasssvaz in #9977
- docs(badge): Generate runtime tests badge by @lucasssvaz in #9979
- docs(component): Update to IDF 5.1 and add component manager instructions by @P-R-O-C-H-Y in #10005
Full Changelog: 3.0.2...3.0.3
New Contributors
- @armp30 made their first contribution in #9841
- @szprytny made their first contribution in #9968
- @tutotio made their first contribution in #10016
- @akira25 made their first contribution in #10035
Thanks everyone for your contribution! π―
Arduino Release v3.0.2 based on ESP-IDF v5.1.4+
The Arduino ESP32 version 3.0.2 is second bugfix release based on the ESP-IDF v5.1.4 (release notes).
For version migration, please check Migration Guide from v2.X to 3.X
System PR
- IDF release/v5.1 by @me-no-dev in #9770
- fix(version): Update version to 3.0.2 by @me-no-dev in #9902
- IDF release/v5.1 by @me-no-dev in #9928
- IDF release/v5.1 by @me-no-dev in #9900
Components
- feat(crypto): Add libsodium to the included components by @me-no-dev in #9821
- feat(uart): Add esp-modbus to the included components by @me-no-dev in #9855
Libraries
BLE
- fix(BLE): Arduino String shall not be used within std::map<> by @SuGlider in #9875
- Adds BLE Characteristic User Description 0x2901 Descriptor by @SuGlider in #9883
BluetoothSerial
OpenThread
Networking
- fix(client): Implement readBytes in NetworkClient for faster downloads by @me-no-dev in #9824
- fix(client): Fix NetworkClient::localIP() by @me-no-dev in #9845
- fix(wifi): Fix WiFi setTxPower and getTxPower by @me-no-dev in #9862
- ClientSecure.available() fix for connection closed by remote socket by @JAndrassy in #9869
- feat(net): Switch to typedefs for WiFiClient, WiFiServer, WiFiUdp and WiFiClientSecure by @me-no-dev in #9909
SDMMC
- feat(sdmmc): Add RAW disk functions by @lbernstone in #9796
HTTPClient
- feat(http): Allow to set Accept-Encoding header by @me-no-dev in #9863
- HTTPClient lib - add HTTPCLIENT_NOSECURE build flag by @vortigont in #9893
NetBIOS
- fix(netbios): Return interface address for NetBIOS name lookup by @earlephilhower in #9885
WebServer
- Added support for removing routes in WebServer library by @ayushsharma82 in #9832
- feat: added support for filters in WebServer library by @ayushsharma82 in #9842
- fix: removeRoute should remove all matching routes (WebServer) by @ayushsharma82 in #9851
OTA
- fix(ota): Magic byte check fails with encrypted firmware by @me-no-dev in #9852
- fix(ota): Allow password and partition change while idle by @me-no-dev in #9853
Peripherals
ADC
RMT
Boards additions & updates
- Added new UM FeatherS3 Neo board. by @UnexpectedMaker in #9788
- fix(xtal): Add a way to change the XTAL frequency for SparkFun ESP32 Thing by @me-no-dev in #9844
- change (3rd_party_board): XIAO_C3 delete the definition of pin A3 by @Lesords in #9798
- Add (3rd party board): DPTechnics Walter board support by @vThibo in #9817
- add(board): Add LILYGO T-ETH-Lite by @me-no-dev in #9865
- fix(boards): set XTAL 26MHz for Heltec WiFi & LoRa V1 by @yoursunny in #9889
- PPP: Make modem reset delay configurable by @tl-sl in #9910
- Add variant for Elecrow CrowPanel 7.0" by @lboue in #9897
- fix(boards): boards.txt error by @SuGlider in #9930
CI & Testing
- ci(refactor): Refactor workflows and skip files by @lucasssvaz in #9696
- ci(wifi): Add scan to wifi test by @lucasssvaz in #9805
- ci(refactor): Fix workflows and small improvements by @lucasssvaz in #9793
- ci(boards): Add cache for libs by @P-R-O-C-H-Y in #9877
- ci(tools): Fix tools workflows by @lucasssvaz in #9846
- fix(ci): Fix issues found in workflows by @lucasssvaz in #9829
- ci(tests): Avoid the use of pull_request_target where possible by @lucasssvaz in #9899
Examples
- Deep Sleep Example Fix by @SuGlider in #9904
- fix: Update the root certificate for the BasicHttpsClient example by @a-grealish in #9857
- change(idf): Rename component example and fix compilation warnings by @lucasssvaz in #9801
- fix(time): Fix SimpleTime to also use time servers from DHCP by @me-no-dev in #9886
Documentation
- fix(readme): Fix tests badge by @lucasssvaz in #9781
- docs(i2s): Fix I2S documentation example by @lucasssvaz in #9916
- Update boards.rst by @SuGlider in #9925
- docs(preferences): Fix getBool function by @P-R-O-C-H-Y in #9901
Full Changelog: 3.0.1...3.0.2
New Contributors
- @ayushsharma82 made their first contribution in #9832
- @Lesords made their first contribution in #9798
- @vThibo made their first contribution in #9817
- @a-grealish made their first contribution in #9857
- @vincadrn made their first contribution in #9905
- @tl-sl made their first contribution in #9910
Thanks everyone for your contribution! π
Arduino Release v3.0.1 based on ESP-IDF v5.1.4
The Arduino ESP32 version 3.0.1 is first bugfix release based on the ESP-IDF v5.1.4 (release notes).
For version migration, please check Migration Guide from v2.X to 3.X
Libraries
- Fix getFlashChipMode breaking on S3 and C3 by @me-no-dev in #9758
Networking
- fix(net): Don't unregister events if there are interfaces still open by @me-no-dev in #9706
- fix(net): Fix IPv4 address construction from ip_addr_t and comparison (#9724) by @mathieucarbou in #9725
- feat (WiFiScan): Allow setting scan timeout in milliseconds by @me-no-dev in #9738
- fix(tls): do not attach bundle from runtime by @me-no-dev in #9763
- fix(ssl): Fix load stream memory leak by @me-no-dev in #9767
Peripherals
USB
- feat(usb): Support the new USB IDF API by @me-no-dev in #9761
Arduino as ESP-IDF component
- fix(IDF): Define max IDF version for the component by @me-no-dev in #9703
- feat(idf): Require esp_psram when as component by @me-no-dev in #9762
- fix(idf): Require MDNS as public by @me-no-dev in #9764
Boards Updates & Additions
- fix(3rd party board): Changed Board name to describe board more clearly by @SooDragon in #9773
- Updated Smart Bee Boards for IDE2 & CLI by @strid3r21 in #9778
- add upload_port vid/pid for Adafruit boards by @hathach in #9779
- Addition (3rd_party_board): Add board support for Autosport Labs ESP32-CAN-X2 development board by @brentpicasso in #9683
- fix(boards): Remove duplicate VID/PID from boards.txt and add default CDC/JTAG board by @me-no-dev in #9717
- fix(variant): Arduino Nano ESP32 variant fix for core 3 by @JAndrassy in #9722
- Updated UM boards for IDE2 & CLI by @UnexpectedMaker in #9726
- feat(boards): Add Zigbee menu for all C6/H2 boards by @P-R-O-C-H-Y in #9754
- Add missing parameter to esp32_family board for IDE1 by @me-no-dev in #9759
- feat(partition): Add 4MB No File System partition scheme by @me-no-dev in #9769
Tooling
- fix(release): install missing 'packaging' package by @me-no-dev in #9698
- feat(tools):Use Windows native path separator in ESP_SR model copy command pattern by @per1234 in #9649
- feat(tools): Updated get.py with ability to verify extracted files and skip if ok by @me-no-dev in #8720
- fix(release): Shorten all toolchain names/versions by @me-no-dev in #9760
CI & Testing
- ci(wokwi): Self host Wokwi CLI server by @lucasssvaz in #9701
- fix(ci): Compare correct name of the artifact by @P-R-O-C-H-Y in #9708
- ci(external_libs): Add ZACwire to External libraries compilation test by @lebuni in #9705
- ci(external_libs): Add EthernetESP32 to ext. libraries compilation test by @JAndrassy in #9747
- ci(sizes): Sites test between master and 2.x branch by @P-R-O-C-H-Y in #9755
Documentation
- feat(reports): Update Issue-report.yml with new versions by @me-no-dev in #9699
- change(readme): Update C6 and H2 support by @lucasssvaz in #9697
- docs(libraries): Add new SoCs H2 and C6 to missing parts in docs by @P-R-O-C-H-Y in #9709
- docs(component): Improve Arduino as component documentation by @lucasssvaz in #9765
Full Changelog: 3.0.0...3.0.1
New Contributors
- @lebuni made their first contribution in #9705
- @brentpicasso made their first contribution in #9683
- @mathieucarbou made their first contribution in #9725
Thank you for your contribution π
Arduino Release v3.0.0 based on ESP-IDF v5.1.4
The Arduino ESP32 version 3.0.0-stable is based on the ESP-IDF v5.1.4 (release notes) and is major release introducing new SoCs & features support.
This release introduce breaking changes and support for new SoCs, ESP32-H2 and ESP32-C6. ESP32-C2 support added, for usage you need to build the libraries using ESP32 Arduino Lib builder.
For version migration, please check Migration Guide from v2.X to 3.X
Overview of major changes in 3.0.0 Release
- in progress
Release notes of development releases
- in progress
Libraries
Networking
- fix(eth): Attach ETH events at the correct place by @me-no-dev in #9658
- feat(eth): Enable the possibility to use SPI ETH with only 4 wires by @me-no-dev in #9659
- fix(eth): Fix ETH.end() by @me-no-dev in #9661
- fix(eth): Fix ETH.stop() with IDF SPI by @me-no-dev in #9693
Peripherals fixes
- fix(adc): Remove masking for ADC channel number by @P-R-O-C-H-Y in #9692
- fix(esp-hal-log):Provide a default TAG name for USE_ESP_IDF_LOG logging macro by @mairas in #9686
3rd party boards updates & editions
- Update(3rd_party_board): Updated ESPDuino with extra options by @alexceltare2 in #9642
- feat (3rd_party_board): add support for WeAct Studio ESP32C3 by @loozhengyuan in #9653
- Nano ESP32: delete
programmer.default
entry (on main) by @pillo79 in #9666 - feat(3rd_party_board):Add GPIO pin mappings for M5Stack CamS3 Unit and select OPI PSRAM by default by @tarosay in #9688
Documentation
- docs(ledc.rst):Fixed outdated function signature (ledcWrite) by @leandromattioli in #9680
Tooling
- Update Kconfig.projbuild to fix LittleFS selective compilation by @monte-monte in #9684
- fix(release): Update merge_package.py by @me-no-dev in #9694
Full Changelog: 3.0.0-rc3...3.0.0
New Contributors
- @loozhengyuan made their first contribution in #9653
- @monte-monte made their first contribution in #9684
- @leandromattioli made their first contribution in #9680
- @tarosay made their first contribution in #9688
- @mairas made their first contribution in #9686
Thanks for your contribution π
Arduino Release v2.0.17 based on ESP-IDF v4.4.7
The Arduino ESP32 version 2.0.17 is based on the ESP-IDF v4.4.7 (release notes) and is bug fix release for Arduino ESP32 Core version 2.X.X.
Fixes
Peripherals
Boards updates & additions
Full Changelog: 2.0.16...2.0.17
Thanks for your contribution π
Arduino Release v3.0.0 RC3 based on ESP-IDF v5.1
The Arduino ESP32 release candidate version 3.0.0-RC3 is based on the ESP-IDF v5.1 (release notes) and is major release supporting new version of ESP-IDF 5.1.
This release introduce breaking changes and support for new SoCs, ESP32-H2 and ESP32-C6. ESP32-C2 support added, for usage you need to build the libraries using ESP32 Arduino Lib builder.
For version migration, please check Migration Guide from v2.X to 3.X
Libraries updates
Networking
- fix(net): Add back the friend classes required for Ethernet.h to work by @me-no-dev in #9635
- NetworkClientSecure - copyability improvements and _timeout shadowing fixed by @JAndrassy in #9632
- Add support for specifying a WPA2 EAP-TTLS phase 2 method to WiFi.begin by @me-no-dev in #9639
USB
- feat(usb): Remove redundant absolute mouse support by @me-no-dev in #9640
Peripherals updates
LEDC
- fix(ledc): Match channel number with groups by @P-R-O-C-H-Y in #9638
HWCDC
- fix(cdc): Disable SOF interrupt and CDC reset on begin() by @me-no-dev in #9628
UART
Examples
- Zigbee examples update by @P-R-O-C-H-Y in #9627
Documentation
- docs(lib-builder): Add docker image documentation by @lucasssvaz in #9621
- docs(c2): Add note about ESP32-C2 support to documentation by @lucasssvaz in #9629
CI & Testing
- ci(wokwi): Fix concurrency by @lucasssvaz in #9625
Full Changelog: 3.0.0-rc2...3.0.0-rc3
Thanks for your contribution! π
Arduino Release v3.0.0 RC2 based on ESP-IDF v5.1
The Arduino ESP32 release candidate version 3.0.0-RC2 is based on the ESP-IDF v5.1 (release notes) and is major release supporting new version of ESP-IDF 5.1.
This release introduce breaking changes and support for new SoCs, ESP32-H2 and ESP32-C6. ESP32-C2 support added, for usage you need to build the libraries using ESP32 Arduino Lib builder.
For version migration, please check Migration Guide from v2.X to 3.X
Libraries updates
BLE
Networking
- Add support for PPP Modems to Arduino by @me-no-dev in #9518
- fix(config): Fix wrong names in Kconfig that cause Network and NetworkClientSecure to fail by @me-no-dev in #9583
- NetworkClient - close the connection in stop() method by @JAndrassy in #9542
- NetworkClientSecure made copyable by @JAndrassy in #9612
- Ethernet - MAC address parameter for beginSPI by @JAndrassy in #9539
Updater
- Fix typo in Updater.cpp by @eltociear in #9511
WebServer
- fix(RAM): define HTTP_METHOD_STR as static const to save RAM by @craiglink in #9594
Eeprom
- Arduino core for the esp32 - Add new function "bool isDirty()" to EEPROM.h and EEPROM.cpp by @Rob58329 in #9611
Peripherals updates
ADC
UART
- Fix hal-uart truncated tx/rx buffer size (uint16_t -> uint32_t) by @Unbinilium in #9554
- Change log level of UART events by @SuGlider in #9563
HWCDC
USBMSC
- feat(usbmsc): Add is_writable function to the USBMSC class. by @happycodefarm in #9569
Boards additions & updates
- change(roboheart): Update of LED_ROBOHEART in RoboHeart Hercules pins⦠by @evgenimelan in #9494
- fix GeebkleMINI ESP32C3: add variable for support internal built in switch by @SooDragon in #9499
- Reduced GPIO17 (Ethernet clock GPIO) signal strength to reduce noise. by @OlimexSupport in #9623
- change(variant): add additional pin mappings and #define to variant/unphone9 by @garethhcoleman in #9577
- fix: I2C pin are relocated for arduino nano compatability by @SooDragon in #9610
CI & Testing
- Refactor repository with pre-commit hooks by @lucasssvaz in #9515
- Style Checker and Pre-commit hook CI by @lucasssvaz in #9132
- Convert script from Python 2 to 3 by @lucasssvaz in #9513
- fix(ftm): Fix compilation warning by @lucasssvaz in #9508
- ci(touch_test): Change released test value for ESP32 by @lucasssvaz in #9521
- [CI] Add Sizes Results workflow + fix of External lib results by @P-R-O-C-H-Y in #9523
- ci(pre-commit): Enforce that the pre-commit checks are run before merge by @lucasssvaz in #9525
- [CI] Get sizes from push workflow, updated build scripts by @P-R-O-C-H-Y in #9524
- Convert script from Python 2 to 3 by @lucasssvaz in #9513
- ci(install): Change "arch" to distro-agnostic "uname -m" by @lucasssvaz in #9537
- ci(pre-commit): Fix PR checks and cache by @lucasssvaz in #9531
- ci(qemu): Add QEMU emulator to CI by @lucasssvaz in #9558
- Fix External libs test to not upload PR number if not labeled by @P-R-O-C-H-Y in #9534
- ci(performance): Add performance tests to CI by @lucasssvaz in #9560
- feat(ci): Run Wokwi tests on PR by @P-R-O-C-H-Y in #9597
- ci(wokwi): Add Wokwi emulator to workflow by @lucasssvaz in #9540
- ci(libs): Add concurrency group to external libs test by @lucasssvaz in #9535
- refactor(style): Change some style options by @lucasssvaz in #9526
- ci(hil): Touch skip file when platform is skipped by @P-R-O-C-H-Y in #9605
Documentation
- feat(doc): Add note about default pin changes to migration guide by @lucasssvaz in #9507
- docs(flags): Add build system breaking changes to migration guide by @lucasssvaz in #9574
- Docs: Typo fix in installing guide by @VojtechBartoska in #9581
Tooling
- fix(release): Temporary halt JSON uploads on release, until generator is fixed by @me-no-dev in #9536
- add LittleFS as partition type to debug report by @Jason2866 in #9354
Full Changelog: 3.0.0-rc1...3.0.0-rc2
New Contributors
- @eltociear made their first contribution in #9511
- @evgenimelan made their first contribution in #9494
- @Darkl0ud made their first contribution in #9529
- @Unbinilium made their first contribution in #9554
- @craiglink made their first contribution in #9594
- @Rob58329 made their first contribution in #9611
- @Deadolus made their first contribution in #9609
- @happycodefarm made their first contribution in #9569
- @OlimexSupport made their first contribution in #9623
Thanks for your contribution! π
Arduino Release v2.0.16 based on ESP-IDF v4.4.7
The Arduino ESP32 version 2.0.16 is based on the ESP-IDF v4.4.7 (release notes) and is bug fix release for Arduino ESP32 Core version 2.X.X.
Fixes
- fix: restores UART1/2 pins as in 2.0.14 by @SuGlider in #9502
- feat (uart): uses the same IDF 32bits size for TX/RX buffers by @SuGlider in #9561
Full Changelog: 2.0.15...2.0.16
Thanks for your contribution π
Arduino Release v3.0.0 RC1 based on ESP-IDF v5.1
The Arduino ESP32 release candidate version 3.0.0-RC1 is based on the ESP-IDF v5.1 (release notes) and is major release supporting new version of ESP-IDF 5.1.
This release introduce breaking changes and support for new SoCs, ESP32-H2 and ESP32-C6. ESP32-C2 support added, for usage you need to build the libraries using ESP32 Arduino Lib builder.
For version migration, please check Migration Guide from v2.X to 3.X
Major changes
- IPv6 Support for ESP32 Arduino by @me-no-dev in #9016
- 3.0.0 Network Refactoring by @me-no-dev in #8760
- Implement official Arduino IDE debugger API by @pillo79 in #9116
- Feature: New Class MacAddress similar to IPAddress by @P-R-O-C-H-Y in #9304
- Add ESP-NOW Arduino library by @P-R-O-C-H-Y and @me-no-dev in #9395
Peripherals updates
UART
- UART: fixes begin() after a previous begin() :: deleting previous RX/TX buffers and its data by @SuGlider in #9095
- HardwareSerial Available For Write by @SuGlider in #9319
- HardwareSerial:begin() changes RTS and CTS pins preventing detaching those pins by @SuGlider in #9353
- Fixes HW Serial attaching pins, PHY initialization, crash after end() by @SuGlider in #9365
I2C
- Fix i2c compilation when #define CONFIG_DISABLE_HAL_LOCKS=1 by @P-R-O-C-H-Y in #9164
- Fix ambiguous for TwoWire::requestFrom() methods and align API with Arduino.cc by @safocl in #8817
RMT
- Adds RMT End of Transmission Level API by @SuGlider in #9238
- Update new RMT function rmtSetEOT(pin, EOT_Level) in the pin remap macros by @SuGlider in #9266
LEDC
- Add missing include for SemaphoreHandle_t to LEDC header file by @sgryphon in #9134
- LEDC - Allow custom channel selection by @P-R-O-C-H-Y in #9031
- feature(ledc): Add output invert option for LEDC pin + minor fixes by @P-R-O-C-H-Y in #9257
SPI
- SPI - Allow detaching of some SPI pins without stopping SPI by @P-R-O-C-H-Y in #9117
- SPI (fix): Adds SPI 3 to the ESP32-S2 and adds comments about it by @SuGlider in #9216
- Fix spiTransaction not updating clock line immediately (#9221) by @and3rson in #9333
- Fix spiTransaction not updating clock line immediately (C2,C6,H2) by @P-R-O-C-H-Y in #9335
GPIO
- Add methods to enable/disable GPIOs interrupt by @P-R-O-C-H-Y in #9025
- Improve Log Messages in GPIO HAL by @SuGlider in #9011
- Add: make digitalRead() for RGB_BUILTIN work by @holgerlembke in #9419
HWCDC
- Fixes the hardware cdc jtag plugged/unplugged status and related timeout/delay by @SuGlider in #9275
- fixes default 100ms delay with HWCDC write() is CDC is not connected by @SuGlider in #9307
- fix: perimgr + begin by @SuGlider in #9331
- fix: HW CDC write() by @SuGlider in #9401
Other peripherals changes
- Fixes sigmaDeltaAttach() when another peripheral is already attached using the same pin by @SuGlider in #9268
- Fixed the String::lastIndexOf bug by @a1ext in #9003
- Fixes EspClass::deepSleep(64 bits) by @SuGlider in #9077
- change(esp32): Added clearing of queue with unTone() by @tanakamasayuki in #9055
- change(MD5Builder): Const-correctness. by @StefanOberhumer in #9104
- Rework cbuf to use FreeRTOS Ringbuffer by @me-no-dev in #7860
- Update binary.h by @Jason2866 in #9323
- core Server class back to Arduino Core API version by @JAndrassy in #9447
Libraries updates
WiFi (Network) related
- Fix race condition in WiFiGenericClass::hostByName by @MattiasTF in #8672
- ESPLwIPClient::setTimeout conflict fix with Stream::setTimeout by @P-R-O-C-H-Y in #6676
- Remove setTimeout from WifiClientSecure by @P-R-O-C-H-Y in #8998
- WiFiClients.setConnectionTimeout added by @JAndrassy in #8863
- Add v6 support to IPAddress to match ArduinoCore-API by @sgryphon in #7174
- Fix IPv6-only DNS by checking IPv6 first if have a public scope address by @sgryphon in #9443
- Revert "WiFiSTA - allow using DHCP again after disconnecting static IP" by @JAndrassy in #8873
- undeprecate WiFiServer::available() by @SuGlider in #9027
- WiFi.disconnect() "aligned with Aduino.cc". waiting for status change. by @JAndrassy in #9062
- WiFiClient - assignment shouldn't stop connection by @JAndrassy in #9029
- Revert "undeprecate available() (#9027)" by @JAndrassy in #9165
- WiFiServer - don't inherit from Print and Server by @JAndrassy in #8930
- Improves WiFiMulti by @SuGlider in #9139
- Add support for hidden networks in WiFiMulti by @lucasssvaz in #9202
- feat(wifi): Add support for NAPT to WIFI AP by @me-no-dev in #9478
- fix(ethernet): move event listener earlier to avoid missing event
ETH_CONNECTED
by @s-hadinger in #9481 - fix(tls): Enable IPv6 support in ssl_client connect by @sgryphon in #9470
- feat(dns): Check type of IP addresses and clear DNS cache if they changed by @sgryphon in #9476
- WiFi.config handle Arduino parameters ordering and auto dns,gw,mask by @JAndrassy in #9425
- Ensure that Static IP configuration for network interfaces is kept until STOP by @me-no-dev in #9445
- WiFi BSSID getter fix by @JAndrassy in #9434
- Use WiFi.mode to enable/disable the Network Interfaces by @me-no-dev in #9436
- WiFiClient - rename flush() to clear() by @JAndrassy in #9453
- ETH: Support physical address auto detection by @P-R-O-C-H-Y in #9313
- Network refactoring - fix some IPv6 DNS issues by @sgryphon in #9439
- Add option to specify AP auth mode and cipher by @me-no-dev in #9454
- Add MacAddress string constructor by @lucasssvaz in #9400
- Add method to set the WiFi radio channel by @lucasssvaz in #9405
- Support for STARTLS/STARTSSL in-band transport upgrades/renegotation by @dirkx in #9100
- [Enhancement] Support no-IRQ for SPI Ethernet W5500 by @TD-er in #9251
- Fix NetworkManager compilation warning by @lucasssvaz in #9452
- feat(net): Add support for selecting the default network interface by @me-no-dev in #9457
- feat(net): Add support for esp_netif flags by @me-no-dev in #9460
Bluetooth & BLE related
- fix(esp32): Added a timeout option to the BLEClient's connect function by @LiveSparks in #9005
- Fixes Pointer and Call using Serial BT callback by @SuGlider in #9245
USB
Arduino Release v2.0.15 based on ESP-IDF v4.4.7
The Arduino ESP32 version 2.0.15 is based on the ESP-IDF v4.4.7 (release notes) and is bug fix release for Arduino ESP32 Core version 2.X.X.
Known Issues
- UART pins definition changed (breaking change) - (related issue with workaround)
Major changes & fixes
- IDF 38eeba213a by @me-no-dev in #9339 (update to ESP-IDF v4.4.7)
- backports HWCDC to v2.0.15 by @SuGlider in #9462
- Fixes set pins return value in 2.0.13 by @SuGlider in #8644
- feat: adds baudrate detection to S3 and C3 using LL API for all SoC by @SuGlider in #9261
- feat(uart): backports UART pin attachment from 3.0.0 to 2.0.15 by @SuGlider in #9176
Peripherals
- fix(adc): Always use default read resolution in __analogReadMilliVolts by @bkari02 in #9006
- Fixes issue related to writing RGB LED fast in a row by @SuGlider in #9374
- fix: UART0 boot pin setup by @SuGlider in #9373
- fix: HWCDC removed clearing USB Serial/JTAG interrupts during begin (#9316) by @kiran-desilva in #9344
Libraries
- SD library: Fix format by @Jason2866 in #9124
- Backport for v2.x : fix(sd): AquireSPI lock in sdcard_uninit by @P-R-O-C-H-Y in #9469
- Adjust Update Library license by @SuGlider in #9448
- Backport fix linker failure by @Jason2866 in #9121
- Add and init new LittleFS options by @Jason2866 in #9122
- WebServer: use MD5Builder instead of mbedtls by @Jason2866 in #9123
- Backport: simplifying webserver file uploads via form POST by @Jason2866 in #9211
- Backport: ArduinoOTA upload intermittent failure fixed by @Jason2866 in #9215
- Backport: Fix ESP32-Solo WDT on HTTP OTA update by @Jason2866 in #9223
- Handle large octet-stream by @nathannau in #9430
Boards additions and updates
- Rename variants/heltec_wifi_kit_32_V3 to match entry in boards.txt. by @audiophyl in #8886
- Add support for the MotorGo Mini board by @SwapnilPande in #9269
- MotorGo Mini 1 - Update LED_STATUS to match latest board revision by @SwapnilPande in #9298
- add senseBox MCU-S2 by @mariopesch in #9263
- ESP32-S3 PowerFeather Support for v2.x by @powerfeatherdev in #9325
- Define Wire1 pins for ESP32-S3 PowerFeather by @powerfeatherdev in #9398
- backport: variants from 3.0.0 + fixes by @SuGlider in #9381
Tooling
- Support relative paths in UNIX search PATH by @me-no-dev in #8622
- fix(platform): use numbers in all recipe hooks (on 2.x) by @pillo79 in #9219
- Implement official Arduino IDE debugger API on 2.x by @pillo79 in #9118
Documentations
Full Changelog: 2.0.14...2.0.15
New Contributors
- @audiophyl made their first contribution in #8886
- @SwapnilPande made their first contribution in #9269
- @kiran-desilva made their first contribution in #9344
Thanks for your contribution! π