Releases: espressif/arduino-esp32
Arduino Pre-Release v3.1.0-RC2 based on ESP-IDF v5.3.0+
The Arduino ESP32 version 3.1.0-RC2 is second release candidate of new major release based on the ESP-IDF v5.3.0 (release notes).
For version migration, please check Migration Guide from v2.X to 3.X
System PR
- IDF release/v5.3 by @me-no-dev in #10258
- IDF release/v5.1 by @me-no-dev in #10257
- IDF release/v5.3 by @me-no-dev in #10465
Peripherals
UART
fix(uart)
: Add missing HP UARTs for ESP32-P4 by @lucasssvaz in #10447feat(uart)
: uart break example improvement by @SuGlider in #10525- ESP32-P4 UART Pin Definitions by @SuGlider by #10521
PSRAM
fix(psram)
: Init PSRAM before app_main to fix mmu_map by @me-no-dev in #10390fix(psram)
: Do not abort if PSRAM is not found by @me-no-dev in #10395test(psram)
: Add PSRAM test by @lucasssvaz in #10409fix(spiram)
: Fix OPI PSRAM init by @me-no-dev in #10406
SDMMC
feat(sdmmc)
: Add SDMMC support for P4 + remove BUILTIN LED by @P-R-O-C-H-Y in #10460
Ethernet
fix(eth)
: Set default clock in pin value to zero by @me-no-dev in #10513- Add RMII Ethernet support for ESP32-P4 by @me-no-dev in #10479
I2S
fix(i2s)
: Use separate variables when reading and writing by @me-no-dev in #10509
Touch
feat(touch)
: Support NG touch driver for P4 by @P-R-O-C-H-Y in #10448
BLE
fix(ble)
: Fixed typos (or copy/paste issues) in comments for AD types in BLEAdvertising by @thomasw-mitutoyo-ctl in #10512
Libraries
LittleFS
fix(littlefs)
: Use VFSImpl::exists() to avoid false error log by @BlueAndi in #10217fix(littlefs)
: Add missing dependency by @clashman in #10496
Network Events
fix(NetworkEvents)
: Don't skip event callbacks in NetworkEvents::remo⦠by @LeeLeahy2 in #10337fix (NetworkEvents lib)
: remove checks for duplicated event handlers by @vortigont in #10376
HTTP
fix(http)
: Replace flush() with clear() in HTTPClient by @me-no-dev in #10269
ESPNow
change(esp_now_serial)
: No teardown on retry limit by @ClockeNessMnstr in #10293
Arduino Stream
fix(api)
: Update Arduino Stream class by @me-no-dev in #10328- Fix missing virtual declarations in Stream.h by @TD-er in #10348
Zigbee
feat(zigbee)
: Add Zigbee library by @P-R-O-C-H-Y in #10265fix(zigbee)
: Enable the internal pull-up resistor for BUTTON_PIN by @lboue in #10491
Tone
OpenThread
Matter
feat(matter)
: initial commit with arduino matter lib by @SuGlider in #10467- Update Matter Light README.md by @lboue in #10357
RTOS
feature(rtos)
: Add Tasks status print function by @me-no-dev in #10515
Wire
- Wire library: Add conditional compilation for second I2C interface based on SOC_I2C_NUM by @sivar2311 in #10408
Boards Additions & Updates
- Added Unexpected Maker OMGS3 by @UnexpectedMaker in #10298
- Added Sparkfun ESP32-S3 Thing Plus board by @Vigeant in #10382
- Add Waveshare ESP32 Touch AMOLED 2.41 by @wurongmin in #10342
- Add IOXESP32-C6 and ATD3.5-S3 board by @maxpromer in #10471
- Add our new board "cezerio dev ESP32C6" by @DogushC in #10462
- Add Waveshare ESP32-S3-Touch-LCD-1.46 board by @Sail-211010 in #10482
- Added variant for Waveshare ESP32-S3-Touch-AMOLED-1.8 by @Y1hsiaochunnn in #10433
- Add the Waveshare ESP32-S3-Touch-LCD-1.85 board by @Sail-211010 in #10477
fix(build)
: Fix sdkconfig copy for board manager by @lucasssvaz in #10484
CI & Testing
ci(push)
: Use FQBN from ci.json by @lucasssvaz in #10267ci(release)
: Make workflows dependent on release completion by @lucasssvaz in #10260ci(tests)
: Add linpack FPU tests by @lucasssvaz in #10389fix(ci)
: Boards test - get correct file for the diff by @P-R-O-C-H-Y in #10507
Documentation
docs(contrib)
: Add instructions on how to test changes by @lucasssvaz in #10221
Tooling
feat(pre-commit)
: Add JSON formatter to pre-commit hooks by @lucasssvaz in #10324feat(esptool)
: Update esptool to v4.8.1 by @lucasssvaz in #10524
Full Changelog: 3.1.0-RC1...3.1.0-RC2
New Contributors
- @wurongmin made their first contribution in #10342
- @LeeLeahy2 made their first contribution in #10337
- @ClockeNessMnstr made their first contribution in #10293
- @Bharat-Pi made their first contribution in #10402
- @HamzaHajeir made their first contribution in #10415
- @H-sw123 made their first contribution in #10434
- @Sail-211010 made their first contribution in #10477
- @clashman made their first contribution in #10496
- @thomasw-mitutoyo-ctl made their first contribution in #10512
- @zinkett made their first contribution in #10510
Thank you for your contribution! π
Arduino Release v3.0.7 based on ESP-IDF v5.1.4+
The Arduino ESP32 version 3.0.7 is seventh 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
Major changes
- Release packages and libraries fixed to work through Arduino IDE Boards manager
System PR
- IDF release/v5.1 by @me-no-dev in #10505
Libraries
CI & Testing
- ci(json): Add requires_any field and use QIO by default to match IDE by @lucasssvaz in #10472
- fix(testing): Checkout proper branch for Wokwi tests and small QoL improvements by @lucasssvaz in #10435
- fix(formatting): Fix formatting and disable JSON hook by @lucasssvaz in #10492
- fix(ci): Change approach in listing the changed boards by @P-R-O-C-H-Y in #10495
Full Changelog: 3.0.6...3.0.7
New Contributors
Arduino Release v3.0.6 based on ESP-IDF v5.1.4+
The Arduino ESP32 version 3.0.6 is sixth 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 issue
This release and its libraries were not generated properly and release is not working through Arduino IDE Board manager, please use release 3.0.7 instead.
Major changes
- new implementation of Zigbee Library
- several fixes
System PR
- IDF release/v5.1 by @me-no-dev in #10410
- IDF release/v5.1 by @me-no-dev in #10446
- IDF release/v5.1 by @me-no-dev in #10454
Core related changes
- digitalPinToInterrupt: fix double pin remapping by @pillo79 in #10373
- fix(psram): Init PSRAM before app_main to fix mmu_map by @me-no-dev in #10390
- fix(psram): Do not abort if PSRAM is not found by @me-no-dev in #10395
- fix(hid): Fix OUTPUT report not received by @me-no-dev in #10398
- fix(spiram): Fix OPI PSRAM init by @me-no-dev in #10406
Peripehrals
HardwareSerial
- fix(HardwareSerial): fix pin remapping in begin() on master by @pillo79 in #10379
- feat(uart) 3.1.x Core: fixes serialEventRun() to avoid calling available() if serialEvent() is not declared by @SuGlider in #10428
Libraries
AsyncUDP
- fix(asyncudp): Fixes and implements tcpip thread locking by @HamzaHajeir in #10415
DNS Server
- fix: DNSServer Lib - improper startup code in WiFi mode by @vortigont in #10366
Rainmaker
- fix(esp-rainmaker): update esp-rainmaker version to 1.5.0 by @Asc91 in #10476
- Update esp-insights version by @Asc91 in #10456
OpenThread
Wire
- Wire library: Add conditional compilation for second I2C interface based on SOC_I2C_NUM by @sivar2311 in #10408
Zigbee
- feat(zigbee): Add Zigbee library by @P-R-O-C-H-Y in #10265
Boards updates and additions
- Added Sparkfun ESP32-S3 Thing Plus board by @Vigeant in #10382
- Add the Waveshare ESP32-S3-Touch-LCD-1.85 board by @Sail-211010 in #10477
- addition(3rd_party_board): Add Waveshare-S3-touch-lcd by @H-sw123 in #10434
- Add IOXESP32-C6 and ATD3.5-S3 board by @maxpromer in #10471
- Add our new board "cezerio dev ESP32C6" by @DogushC in #10462
- feat(Variants): Add Arduino libraries for Lora 4G Module and Node Wifi o⦠by @Bharat-Pi in #10402
- fix(boards): Remove partition scheme overwrite from FlashSize menu by @P-R-O-C-H-Y in #10400
- Added variant for Waveshare ESP32-S3-Touch-AMOLED-1.8 by @Y1hsiaochunnn in #10433
CI & Testing
- ci(json): Add configuration requirements to ci.json files by @lucasssvaz in #10385
- fix(build): Fix sdkconfig copy for board manager by @lucasssvaz in #10484
- ci(compilation): Use default partition and add append to FQBN option by @lucasssvaz in #10392
- test(psram): Add PSRAM test by @lucasssvaz in #10409
- ci(tests): Add linpack FPU tests by @lucasssvaz in #10389
Examples
- fix(example): print correct fade direction by @P-R-O-C-H-Y in #10450
- Fix WPS example config initialization by @me-no-dev in #10399
- Update Matter Light README.md by @lboue in #10357
Full Changelog: 3.0.5...3.0.6
New Contributors
- @Bharat-Pi made their first contribution in #10402
- @HamzaHajeir made their first contribution in #10415
- @Asc91 made their first contribution in #10456
- @H-sw123 made their first contribution in #10434
- @Sail-211010 made their first contribution in #10477
Thank you for contribution!
Arduino Release v3.0.5 based on ESP-IDF v5.1.4+
The Arduino ESP32 version 3.0.5 is fifth 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 issue
- Rainmaker does not work on all targets (ESP32-S2 is working, ESP32-C6 - rebooting issue, ESP32/ESP32-S3/ESP32-C3 does not work)
System PR
- IDF release/v5.1 by @me-no-dev in #10162
- IDF release/v5.1 by @me-no-dev in #10201
- IDF release/v5.1 by @me-no-dev in #10257
- IDF release/v5.1 by @me-no-dev in #10320
Arduino Lib-builder
- fix(install): Fetch before checkout to avoid errors #212 by @lucasssvaz in espressif/esp32-arduino-lib-builder#212
- fix(UI): Fix breaking changes and lock textual version #214 by @lucasssvaz in espressif/esp32-arduino-lib-builder#214
- Fix Dockerfile and test docker build in PRs #216 by @lucasssvaz in espressif/esp32-arduino-lib-builder#216
- Update ESP32 definition in PlatformIO #217 by @me-no-dev in espressif/esp32-arduino-lib-builder#217
Peripherals
UART
Timer
- fix(timer): Typo - milis instead of millis by @leandromattioli in #10193
HAL RGB LED
- Add ability for boards to provide a custom pixel order in neopixelWrite() by @sblantipodi in #10128
- Change "neopixel" references to use RGB LED naming by @SuGlider in #10225
LEDC
I2C
- fix(i2c): Ensure that semaphore is properly given if init fails by @me-no-dev in #10313
Tone
Stream
- fix(api): Update Arduino Stream class by @me-no-dev in #10328
- Fix missing virtual declarations in Stream.h by @TD-er in #10348
Libraries
Networking
- fix(wifiprov): Fix starting Wifi when already provisioned by @P-R-O-C-H-Y in #10151
- fix(client): Make flush() call clear() and deprecate it by @me-no-dev in #10242
- fix(ppp): Fix PPP not working after reboot if no RST by @me-no-dev in #10264
- fix(http): Replace flush() with clear() in HTTPClient by @me-no-dev in #10269
- fix(scan): Make sure scan struct is cleared before set by @me-no-dev in #10282
- fix(scan): Make sure that we do not leak memory if reading the APs fails by @me-no-dev in #10312
- fix(networking): NetworkClientRxBuffer::clear() may not always clear by @TD-er in #10331
- [WiFiScan] Allow allocation in _scanDone() to fail and prevent memory leak by @TD-er in #10335
- Fix(NetworkEvents): Don't skip event callbacks in NetworkEvents::remo⦠by @LeeLeahy2 in #10337
- fix(events): Fix crash in getStdFunctionAddress by @me-no-dev in #10321
USB
SD
- Fix use after free in SD library by @Ariakenom in #10122
OTA
- fix(OTA): Wrap espota --auth flag in quotes by @per1234 in #10126
- ArduinoOTA - change occurrence of client.flush() to clear() by @JAndrassy in #10233
Rainmaker
- feat(RMaker): Register common events for better debugging by @P-R-O-C-H-Y in #10133
- fix(arduino): rain maker common version by @SuGlider in #10338
WebServer
- WebServer - change occurrence of client.flush() to clear() by @JAndrassy in #10234
- [WebServer] Mark functions as const + reduce copy of strings by @TD-er in #10339
- Reduce copy of Strings in WebServer RequestHandler by @TD-er in #10345
ESP-NOW
- change(esp_now_serial): No teardown on retry limit by @ClockeNessMnstr in #10293
FAT
3rd Party boards and additions
- feat(board): Add CircuitART Zero S3 board by @CircuitART in #10108
- Added variant for Waveshare ESP32-S3-Touch-LCD-1.69 & ESP32-S3-LCD-1.69 board by @Y1hsiaochunnn in #10118
- feat(board):Update M5Stack related board and pin configuration by @Tinyu-Zhao in #10144
- feat(board): Add Alfredo NoU3 by @BotSpace in #10134
- feat(3rd party board): Add Fri3d Badge 2024 (ESP32-S3-WROOM-1) by @francisduvivier in #10143
- Added LILYGO T-Watch-S3 & T-Watch-Ultra variants by @lewisxhe in #10175
- Adding CodeCell ESP32C3 new 3rd part board by @microbotsio in #10177
- feat(board):Add Heltec Vision Master series boards by @RichardHeltec in #10198
- feat(boards): Add ESP32-2432S028R board support by @Xylopyrographer in #10235
- Added variant for Waveshare ESP32-S3-Zero by @Y1hsiaochunnn in #10241
- fix(arduino): changes ESP32 definition in CMakeLists.txt file by @SuGlider in #10259
- fix(boards): Correct typos in port prop. associations for "Bee" boards by @per1234 in #10276
- Update variants for M5Dial and M5StampS3 by @lboue in #10268
- fix(boards): Remove port property assoc. for non-unique VID/PID pairs by @per1234 in #10271
- Added Unexpected Maker OMGS3 by @UnexpectedMaker in #10298
- update tinyuf2 for Adafruit boards to 0.20.1 by @hathach in #10300
- add waveshare_esp32_touch_amoled_241 by @wurongmin in #10342
- fix(variant): Rename waveshare esp32-s3 board. by @wurongmin in #10355
CI & Testing
- ci(branches): Remove wildcard from branch triggers by @lucasssvaz in #10210
- fix(get.py): Add version checking for installed tools by @lucasssvaz in #10160
- change(build): add -Werror=return-type to default C and C++ flags by @igrr in #10216
- fix(requirements): Avoid version conflicts by @lucasssvaz in #10222
- fix(tests): Use proper API and check for required token by @lucasssvaz in #10223
- fix(chip): Return correct ESP32 chip model by @me-no-dev in #10243
- fix(get.py): Remove existing files before extracting by @lucasssvaz in #10247
- fix(spelling): Fix misspellings detected by codespell and enable it by @lucasssvaz in #10232
- fix(release): Fix release script to use new archive method by @lucasssvaz in #10255
- fix(release): Fix install test on release by @lucasssvaz in #10256
- ci(push): Use FQBN from ci.json by @lucasssvaz in #10267
- ci(release): Make workflows dependent on release completion by @lucasssvaz in #10260
- fix(report): Print correct chip revision by @me-no-dev in #10277
- fix(ci): Log default FQBN if not passed as argument by @P-R-O-C-H-Y in #10302
- feat(pre-commit): Add JSON formatter to pre-commit hooks by @lucasssvaz in #10324
- build(deps): bump cryptography from 42.0.7 to 43.0.1 in /tests by @dependabot in #10284
Examples
- Improving WebServer Example by @mathertel in https://github.com/espressif/arduino-esp32/pu...
Arduino Pre-Release v3.1.0-RC1 based on ESP-IDF v5.3.0+
The Arduino ESP32 version 3.1.0-RC1 is new major release based on the ESP-IDF v5.3.0 (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 #10162
- IDF release/v5.1 by @me-no-dev in #10201
Arduino Lib Builder
- fix(install): Fetch before checkout to avoid errors by @lucasssvaz in espressif/esp32-arduino-lib-builder#212
- remove not existing zigbee libs by @Jason2866 in espressif/esp32-arduino-lib-builder#210
- Move libs publishing to this repo by @lucasssvaz in espressif/esp32-arduino-lib-builder#209
- Require ninja to be installed and in path to build the libs by @me-no-dev in espressif/esp32-arduino-lib-builder#206
- Use component manager overwrite to help build by @me-no-dev in espressif/esp32-arduino-lib-builder#205
- add zigbee libs for Platformio by @Jason2866 in espressif/esp32-arduino-lib-builder#204
- Fix ESP-DSP breaking the build by @me-no-dev in espressif/esp32-arduino-lib-builder#203
- feat(mbedtls): Enable support for non-AES ciphers in GCM operation by @lucasssvaz in espressif/esp32-arduino-lib-builder#200
Peripherals
UART
- Fix(UART): ESP32 | ESP32-S2 UART Clock Source by @SuGlider in #10172
- fix(uart): sleep retention by @SuGlider in #10248
Timer
- fix(timer): Typo - milis instead of millis by @leandromattioli in #10193
LEDC
RGB LED
- Add ability for boards to provide a custom pixel order in neopixelWrite() by @sblantipodi in #10128
- Change "neopixel" references to use RGB LED naming by @SuGlider in #10225
Libraries
Networking
- fix(wifiprov): Fix starting Wifi when already provisioned by @P-R-O-C-H-Y in #10151
- fix(client): Make flush() call clear() and deprecate it by @me-no-dev in #10242
SD Card
- Fix use after free in SD library by @Ariakenom in #10122
USB
OTA
- fix(OTA): Wrap espota --auth flag in quotes by @per1234 in #10126
- ArduinoOTA - change occurrence of client.flush() to clear() by @JAndrassy in #10233
Rainmaker
- feat(RMaker): Register common events for better debugging by @P-R-O-C-H-Y in #10133
WebServer
- Improving WebServer Example by @mathertel in #10111
- WebServer - change occurrence of client.flush() to clear() by @JAndrassy in #10234
Boards Additions & Updates
- feat(board): Add CircuitART Zero S3 board by @CircuitART in #10108
- Added variant for Waveshare ESP32-S3-Touch-LCD-1.69 & ESP32-S3-LCD-1.69 board by @Y1hsiaochunnn in #10118
- feat(board):Update M5Stack related board and pin configuration by @Tinyu-Zhao in #10144
- feat(board): Add Alfredo NoU3 by @BotSpace in #10134
- feat(3rd party board): Add Fri3d Badge 2024 (ESP32-S3-WROOM-1) by @francisduvivier in #10143
- Added LILYGO T-Watch-S3 & T-Watch-Ultra variants by @lewisxhe in #10175
- Adding CodeCell ESP32C3 new 3rd part board by @microbotsio in #10177
- feat(board):Add Heltec Vision Master series boards by @RichardHeltec in #10198
- feat(boards): Add ESP32-2432S028R board support by @Xylopyrographer in #10235
- Added variant for Waveshare ESP32-S3-Zero by @Y1hsiaochunnn in #10241
Documentation
- docs: correct Float type size in Preferences API and Tutorial documentation by @Xylopyrographer in #10113
- fix(doc): analogReadMilliVolts by @SuGlider in #10125
- docs(BLE): updated obsolete url in library.properties by @sylque in #10147
- docs(BLE): updated obsolete README.md by @sylque in #10148
- docs(vale): Enable vale and fix errors by @lucasssvaz in #10231
CI & Testing
- ci(branches): Remove wildcard from branch triggers by @lucasssvaz in #10210
- change(build): add -Werror=return-type to default C and C++ flags by @igrr in #10216
- fix(tests): Use proper API and check for required token by @lucasssvaz in #10223
- fix(spelling): Fix misspellings detected by codespell and enable it by @lucasssvaz in #10232
Tooling
- fix(get.py): Add version checking for installed tools by @lucasssvaz in #10160
- fix(release): Fix release script to use new archive method by @lucasssvaz in #10255
- fix(get.py): Remove existing files before extracting by @lucasssvaz in #10247
- fix(requirements): Avoid version conflicts by @lucasssvaz in #10222
- fix(chip): Return correct ESP32 chip model by @me-no-dev in #10243
Full Changelog: 3.0.4...3.1.0-RC1
New Contributors
- @CircuitART made their first contribution in #10108
- @Y1hsiaochunnn made their first contribution in #10118
- @Ariakenom made their first contribution in #10122
- @BotSpace made their first contribution in #10134
- @francisduvivier made their first contribution in #10143
- @microbotsio made their first contribution in #10177
- @sylque made their first contribution in #10147
- @sblantipodi made their first contribution in #10128
- @RichardHeltec made their first contribution in #10198
- @konzen made their first contribution in #10171
Thank you everyone for your contribution! π
Arduino Release v3.0.4 based on ESP-IDF v5.1.4+
The Arduino ESP32 version 3.0.4 is fourth 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 #10098
- fix(core): Update versions to 3.0.4 by @me-no-dev in #10106
Peripherals
ADC
GPIO
- fix(gpio): add missing include for digitalPinCanOutput() by @P-R-O-C-H-Y in #10070
LEDC
- fix(ledc): Fix freeing channel if not used anymore by @P-R-O-C-H-Y in #10094
UART
Timer
- fix(timer): Add check to avoid crashing by @P-R-O-C-H-Y in #10069
Libraries
Networking
- PPP: add "battery status" read stub functions by @WebDust21 in #10043
- feat(wifi): Allow setting minimum time for wifi scan by @P-R-O-C-H-Y in #10083
- fix(lwip): Add early out in
NetworkUDP::parsePacket()
when socket has no data by @nitz in #10075
NetworkClientSecure
- fix(wfcs): Replaced expired certificate for howsmyssl.com by @lbernstone in #10063
- fix(ssl): Add size arg to NetworkClientSecure::setCACertBundle by @me-no-dev in #10101
Rainmaker
- fix(rainmaker): Add new partition tables that fits the binary size by @P-R-O-C-H-Y in #10046
- fix(example): Update RainMaker examples to work with ESP32C6 by @P-R-O-C-H-Y in #10096
ESP-NOW
- fix(ESP-NOW): Remove all peers on ESP_NOW.end() by @P-R-O-C-H-Y in #10102
Boards updates & addition
- feat(board): add Waveshare ESP32-S3-Matrix by @Xylopyrographer in #10072
- Enabled the onboard ceramic antenna by default when creating a new project with XIAO_ESP32C6 by @Cincinnatu in #10066
CI & Testing
- ci(tests): Fix workflow errors by @lucasssvaz in #10067
- ci(wokwi): Pass diagram.json file if exists to pytest by @P-R-O-C-H-Y in #9720
- ci(release): Add JSON install test by @lucasssvaz in #10104
Documentation & Examples
- add(template): Add version 3.0.3 to the Issue template by @me-no-dev in #10042
- docs(lib-builder): Add missing requirements and examples by @lucasssvaz in #10040
- fix(readme): Update badge for Build status by @P-R-O-C-H-Y in #10097
- feat(net): Add NAPT examples by @me-no-dev in #10100
- feat: Print chip features bitfield by @Xylopyrographer in #10080
Full Changelog: 3.0.3...3.0.4
New Contributors
- @rvbc1 made their first contribution in #10044
- @nitz made their first contribution in #10075
- @Cincinnatu made their first contribution in #10066
Thank you all for your contribution!
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 π