Releases: espressif/arduino-esp32
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! π
Arduino Alpha 3 Release v3.0.0 based on ESP-IDF v5.1
The Arduino ESP32 pre-release version 3.0.0-aplha 3 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 was added, for usage you need to build the libraries using ESP32 Arduino Lib builder.
Major changes
- Add ESP32-C2 support by @Jason2866 in #8881
- [I2S][SR] Add new I2S library and Sound Recognition support by @me-no-dev in #8714
- Zigbee protocol support by @P-R-O-C-H-Y in #8844
- Fixes Rainmaker to be a Managed Component by @SuGlider in #8842
- IDF release/v5.1 by @me-no-dev in #8865
- IDF release/v5.1 by @me-no-dev in #8943
Peripherals updates
UART
- UART: Change default Serial1/2 pins and move definition to header by @lucasssvaz in #8800
- Fixes uart attach/detach by @SuGlider in #8820
- Serial as a #define by @SuGlider in #8798
- HardwareSerial::end(bool) review + Baud Rate detection review and example by @SuGlider in #8762
I2S
- Makes MP3 header files public for I2S code by @SuGlider in #8868
- Add support for I2S Slot Mask by @me-no-dev in #8936
- I2S fix missing perimanSetBusDeinit() by @P-R-O-C-H-Y in #8782
I2C
- Fully guard I2C Slave in preparation for C2 support by @me-no-dev in #8882
- Add lock in Wire.cpp to protect concurrent i2c transactions performed by different tasks by @mircopz in #8127
ADC
- Fix ADC detach bus calibration handle error when not existing. by @P-R-O-C-H-Y in #8932
RMT
- Update RMT initialization code by @diplfranzhoepfinger in #8927
- RMT: Fix RMT TX interrupt level by @lucasssvaz in #8813
Other peripherals changes
- Neopixel fix by @SuGlider in #8845
- fix S3 cannot reset to bootrom with USB OTG due to new gpio deinit() by @hathach in #8880
Libraries updates
WiFi related
- WiFiSTA - allow using DHCP again after disconnecting static IP by @JAndrassy in #8848
- WiFiSTA - new status constant WL_STOPPED by @JAndrassy in #8849
- WiFi.BSSID and scan result BSSID with parameter as in WiFi libraries by Arduino by @JAndrassy in #8853
- WiFiSTA - method setDNS as in WiFi libraries by Arduino by @JAndrassy in #8854
- WiFiServer - deprecate available(), use accept() everywhere by @JAndrassy in #8860
- Added WiFi Bandwidth Setting Methods for AP and STA modes. by @gonzabrusco in #7619
- Add missing function getSocketOption by @rtpmsys in #7807
Bluetooth & BLE related
- Bluetooth-classic: release BLE memory when BT classic only is requested by @ferbar in #8051
- Added methods to remove service UUID from BLEAdvertising by @dpnebert in #8747
- Kernel panic when delete BLEClient object with descriptor characteristic by @chesterkwan in #8010
- Fixes BLEScanResults to be used by reference by @SuGlider in #8759
- BluetoothSerial: Fix SPP service mode by @lucasssvaz in #8806
- Fix linker failure when using BluetoothSerial on latest release with Arduino as Component. by @blackhack in #8784
- Increase BT SPP task priority by @SuGlider in #8859
USB
- Added KEY_SPACE to USBHIDKeyboard.h by @lbernstone in #8920
- Absolute mouse support (was #6331) by @tobozo in #8831
- Make USBHIDKeyboard work at boot by @RefactorFactory in #6964
- Add USB MIDI support to libraries/USB by @EleotleCram in #8166
Other libraries changes
- Fix linker failure when using SPIFFS or LittleFS with Arduino as component by @blackhack in #8768
- provide LittleFS feature
grow_on_mount
by @Jason2866 in #8769 - Supporting ETag http headers on static files by @mathertel in #7687
- feat: adding possibility to manually set MD5 checksum and authorization for HTTP update by @vlastahajek in #7629
- UpdateClass::setMD5 store expected md5 in lowercase by @P-R-O-C-H-Y in #8959
Other general changes
- Add platform specific flash speed to magicFlashChipSpeed by @TD-er in #8864
- Add 120Mhz cpu frequency option to setCpuFrequencyMhz() by @P-R-O-C-H-Y in #8956
- Remove unsupported DOUT and QOUT options by @lucasssvaz in #8805
- Fix compilation when NO_GLOBAL_SERIAL is defined. by @everslick in #8933
- Support relative paths in UNIX search PATH by @me-no-dev in #8938
- Fix Wire.setClock() causing assert by @me-no-dev in #8777
- Fix "fatal error: esp_partition.h: No such file or directory" by @Msq001 in #8787
Peripheral Manager improvements
- Extend bus types and structure for Peripheral Manager by @P-R-O-C-H-Y in #8888
- PeriMan: Improve log messages by @lucasssvaz in #8812
- fix: pin_remap: make periman APIs private and non-remapped by @pillo79 in #8940
Boards additions and updates
- Add new uPesy boards as variant by @uPesy in #8778
- Add the DFRobot Beetle ESP32C6 and the DFRobot FireBeetle2 ESP32C6 as two development boards by @wxzed in #8793
- Added entry for octal flash S3 by @lbernstone in #8660
- Add new UM TinyC6 board and re-ordered UM boards in boards.txt file. by @UnexpectedMaker in #8814
- Set M5Stack Core2 Flash Mode to QIO by @me-no-dev in #8937
- Update Adafruit boards by @hathach in #8897
- correct adafruit metro esp32s3 pins for rev B by @hathach in #8903
- Add support for ESP32-S3 PowerFeather by @powerfeatherdev in #8889
- Adds support for missing Olimex boards by @Stanimir-Petev in #8896
- add tinyuf2 partitions csv by @hathach in #8894
- Added arduino uno backward compatibility pins by @alexceltare2 in #8833
- Add senseBox MCU-S2 with ESP32S2 by @mariopesch in #8891
- Fix Heltec boards build.board to be uppercase by @P-R-O-C-H-Y in #8958
- Add support for the Arduino Nano ESP32 on 3.x branch by @pillo79 in #8909
Tools improvements
- [REDO] Update espota.py by @me-no-dev in #8797
Documentation & Examples
- [Docs] Add Migration guide + some API updates by @P-R-O-C-H-Y in #8716
- Removed YML file and changed the YAML file structure by @pedrominatel in #8785
- [Docs] Fixed the RTD theme and core version by @pedrominatel in #8794
- [Docs] Add ESP32C6 + ESP32H2 by @P-R-O-C-H-Y in #8799
- Fix of Readme by @VojtechBartoska in #8852
- Update/upgrade OTAWebUpdater.ino example by @lbernstone in #8839
- Update boards.rst by @VojtechBartoska in #8851
- Update warning note about PlatformIO related issues by @VojtechBartoska in #8866
- Added troubleshoot...
Arduino Alpha 2 Release v3.0.0 based on ESP-IDF v5.1
The Arduino ESP32 pre-release version 3.0.0-aplha 2 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.
Major changes
- Fixes installation on ArduinoIDE 1.x and RV toolchain on Windows
- Update toolchains to use the tar.gz format for IDE1 compatibility by @me-no-dev in #8757
- Rename the RV32 toolchain on release to fit paths in GCC limit by @me-no-dev in #8750
Other changes
- Fix standalone component build and enable CI check for it by @me-no-dev in #8743
- Add the sketch folder as the first include search path by @me-no-dev in #8734
- IDF release/v5.1 by @me-no-dev in #8758
Boards additions and updates
- Add SparkFun ESP32-C6 Qwiic Pocket Development Board Variant by @sfe-SparkFro in #8754
- Fixed bug for LilyGo T-display on boards.txt by @thebear132 in #8744
Full Changelog: 3.0.0-alpha1...3.0.0-alpha2
New Contributors
- @thebear132 made their first contribution in #8744
Thanks for your contribution! π
Arduino Alpha Release v3.0.0 based on ESP-IDF v5.1
The Arduino ESP32 pre-release version 3.0.0-aplha 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.
Known issues of this release
- If you are a Linux or MacOS user, it is mandatory to use Arduino IDE v2 or
arduino-cli
for the package installation. Arduino IDE v1 currently fails due to limitations related to archive compression.
Breaking changes of 3.0.0 Release
This version introduce breaking changes in this particular APIs:
- ADC
- BLE
- Hall Sensor (not supported)
- I2S
- LEDC
- RMT
- SigmaDelta
- Timer
- UART (HardwareSerial)
For more details please refer to Migration Guide from version 2.x to 3.0.
Major changes
- ESP-IDF v5.1 by @me-no-dev in #7733
- Initial support for ESP32-H2
- Initial support for ESP32-C6 by @me-no-dev in #8337
- API drivers refactoring to support ESP-IDF v5.1 APIs
- Implementations of Peripheral Manager
APIs changes & updates
- ADC refactoring by @P-R-O-C-H-Y in #7827
- TIMER refactoring by @P-R-O-C-H-Y in #7904
- [Arduino Core 3.0.0] RMT IDF5.1 Refactoring #7994 by @SuGlider in #7994
- [Arduino Core 3.0.0] Fixes UART to work with any APB Freq by @SuGlider in #8097
- LEDC Refactoring - Peripheral manager implemented by @P-R-O-C-H-Y in #8126
- TIMER - add timer_started flag, fix timerEnd() + timer HW test by @P-R-O-C-H-Y in #8135
- DAC - Added missing deinit of previous bus by @P-R-O-C-H-Y in #8180
- Update esp32-hal-rmt.c by @SuGlider in #8216
- LEDC - Memory fix by @P-R-O-C-H-Y in #8264
- LEDC Fade implementation by @P-R-O-C-H-Y in #8338
- ESP32-C6 Fixes Settings for RMT and UART source clock by @SuGlider in #8340
- Fixes RMT filter & idle timing and setup by @SuGlider in #8359
- SPI fix for C6 branch by @P-R-O-C-H-Y in #8367
- Removed duplicate TX1 define for ESP32H2 by @PilnyTomas in #8402
- Fixing UART1 pins for esp-idf-v5.1-libs by @petergjoel in #8477
- [ETH] Implement SPI support, multiple interfaces and more by @me-no-dev in #8575
- Analog Continuous mode API by @P-R-O-C-H-Y in #8715
- BLE upgrades by @me-no-dev in #8724
Peripheral Manager implementations
Description of Peripheral Manager is available here.
- TOUCH - Peripheral manager implementation by @P-R-O-C-H-Y in #8129
- GPIO - Peripheral manager implementation by @P-R-O-C-H-Y in #8179
- I2C - Peripheral manager implementation by @P-R-O-C-H-Y in #8220
- SPI - Peripheral manager implementation by @P-R-O-C-H-Y in #8255
- SPI - Peripheral manager fix by @P-R-O-C-H-Y in #8279
- SDMMC - Peripheral manager implementation by @P-R-O-C-H-Y in #8289
- ETHERNET - Peripheral manager implementation by @P-R-O-C-H-Y in #8297
- Adds USB to Peripheral Manager - Arduino Core 3.0.0 by @SuGlider in #8335
- Adds HardwareSerial to Peripheral Manager - Arduino 3.0.0 by @SuGlider in #8328
- Enforces more consistency into Peripheral Manager by @SuGlider in #8188
- 3.0.0 - UART Peripheral Manager + Detach UART pins on begin()/setPins() by @SuGlider in #8719
Other changes
- Makes F_CPU generic for all SoC by @SuGlider in #8007
- Fixes APLL/PLL with RTC Frequency by @SuGlider in #8025
- Add workflow to build executables from python scripts by @me-no-dev in #8290
- Add checks for SOC defines by @P-R-O-C-H-Y in #8351
- Updated FreeRTOS names by @PilnyTomas in #8418
- MD5 memory leak fix by @SuGlider in #8486
- Add support for custom panic handler by @me-no-dev in #8574
- HTTPClient - Fix case sensitiveness for header keys by @lucasssvaz in #8630
- Fix memory leak and undefined behavour in Updater.cpp (UpdaterClass) by @MathewHDYT in #8671
- Serial reorganization code for RS-485 Mode, Flow Control Mode and Serial Mode by @SuGlider in #8718
- Add support for custom panic handler by @me-no-dev in #8711
- Add printf method with FlashStringHelper argument by @lucasssvaz in #8677
- WebServer: use MD5Builder instead of mbedtls by @Staars in #8667
- BT serial: SSP improvements, added missing events by @me-no-dev in #8723
- fix flash mode read out for C6 by @Jason2866 in #8517
- Update PlatformIO scripts for the upcoming 3.0 core by @valeros in #8183
- WiFiGeneric CrashFix 5.1-libs by @mrengineer7777 in #8044
- include ctime by @Jason2866 in #8722
Boards additions and updates
- Master5.1 s3 gpio48 and platform txt review by @SuGlider in #8726
- Fix pin attachInterrupt(digitalPinToInterrupt(48)) on all S3 based SOCs by @SuGlider in #8600
- added namino bianco board + other fix on menus by @a-sapuppo in #8730
Examples
- Adds missing pinMode by @SuGlider in #8312
- fixes preprocessor test by @SuGlider in #8485
- [All Arduino Cores] Adds HardwareSerial Example by @SuGlider in #8095
- SD_MMC update by @PilnyTomas in #8298
- Add TFLite Micro examples by @me-no-dev in #8717
Documentation and CI
- [Docs] ADC and Timer API Update (+some docs fixes) by @P-R-O-C-H-Y in #7906
- HW Testing - Pytest update by @P-R-O-C-H-Y in #8389
- HW Testing - ESP32-C6 + ESP32-H2 fixes by @P-R-O-C-H-Y in #8404
- Update README.md to add new SoCs by @SuGlider in #8727
- Add Arduino lib to arduino as IDF component by @me-no-dev in #8721
- Update of documentation link on readme.md for WifiClientSecure by @benlye in #8441
- Add Arduino lib to arduino as IDF component by @me-no-dev in #8721
- Update release script for 3.0.0 by @me-no-dev in #8728
- Print full chip report when log level is sufficient by @me-no-dev in #8282
- Backport some fixes from esp-idf-v5.1 by @me-no-dev in #7762
Note:
Due to merging development branch into master branch, the changelog does not include all the changes.
Full Changelog: 2.0.14...3.0.0-alpha1
New Contributors
- @MathewHDYT made their first contribution in #8671
- @benlye made their first contribution in #8441
- @Staars made their first contribution in #8667
Thanks for your contribution! π