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 #10111
- Adds HW Serial CDC as IDF component example by @SuGlider in #10262
- OpenThread Example Improvement by @SuGlider in #10299
- fix(example): Fix compilation warnings in examples by @P-R-O-C-H-Y in #10311
- ESP Matter + Arduino as IDF Component Light example by @SuGlider in #10290
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
- docs(contrib): Add instructions on how to test changes by @lucasssvaz in #10221
Full Changelog: 3.0.4...3.0.5
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
- @wurongmin made their first contribution in #10342
- @LeeLeahy2 made their first contribution in #10337
- @ClockeNessMnstr made their first contribution in #10293
Thanks for your contribution 🎉