Skip to content

Releases: espressif/arduino-esp32

Arduino Release 4.0.0-RC1 based on ESP-IDF v6.1

Choose a tag to compare

@lucasssvaz lucasssvaz released this 23 Sep 13:50

What's Changed

New Contributors

Full Changelog: 3.3.12...4.0.0-RC1

ESP32 Arduino Release 3.3.12 based on ESP-IDF v5.5.5

Choose a tag to compare

@lucasssvaz lucasssvaz released this 18 Sep 09:40

What's Changed

New Contributors

Full Changelog: 3.3.11...3.3.12

Arduino Release v3.3.11 based on ESP-IDF v5.5.5

Choose a tag to compare

@lucasssvaz lucasssvaz released this 22 Jul 14:43
189089b

New Release Notes Platform can be Found HERE

What's Changed

System PR

Peripherals

I2S

  • fix(i2s): Fix examples and add void* write – #12671

LEDC

  • fix(ledc): Add timeout to duty update wait loop to prevent WDT – #12726

UART

  • feat(uart): add new API for RX internal pull and onewire UART – #12744

USB

  • fix(usb): Remove dependency on audio20_control_request_t struct – #12700

Libraries

Bluetooth & BLE

  • fix(ble): BLEUUID::to128() truncates 32-bit UUID values to 16 bits – #12756
  • fix(ble): off-by-one heap-buffer-overflow in BLEAdvertisedDevice::getFrameType() – #12757
  • fix(ble): heap-buffer-underflow read in BLEEddystoneURL(BLEAdvertisedDevice*) – #12758

ESP-SR

  • feat(esp_video): Add the ESP_Video library, example and document – #12662

FS

  • fix(fs): Use locks only if FreeRTOS is available – #12670

Matter

  • feat(matter): update to ESP-Matter 1.5 – #12730

Network

  • fix(PPP): Use min str size buffer requirements for modem getters – #12688
  • fix(networking): Remove unused Wire includes – #12724
  • fix(network): check rx_buffer allocation in NetworkUDP::parsePacket() – #12759
  • fix(network): don't inspect stale errno when recv() reports EOF in connected() – #12754
  • fix(network): honor the requested bind address in NetworkServer::begin() – #12755

OpenThread

  • fix(openthread): fixes CLI UDP example - UDP port + connection track – #12669
  • feat(openthread): adds OpenThread Commissioning and UDP support – #12672
  • feat(openthread): add CoAP API – #12707
  • feat(openthread): add native scan API to OpenThread library – #12746

SD

  • fix(sd): align SPI card init with IDF (ACMD41 args, timeout, CMD0, CRC) – #12766

Wire

  • fix(wire): Clamp requestFrom() larger than the configured buffer – #12723

Zigbee

  • feat(zigbee): Add IAS zone enroll request handler – #12749

Boards Additions & Updates

  • feat(board): Add support for CANipulator V1 and CANipulator V2 board variants – #12660
  • feat(board): Added board Glyph S3 – #12666
  • feat(board): Added board Glyph C5 – #12675
  • fix(board): update senseBox MCU Eye name and pins – #12690
  • Add PCBCupid Cypher and update Glyph entries with formatting fix – #12716
  • feat(board): add board definitions ftSwarm family – #12683
  • feat(board): add TinyUF2 16MB partition schemes for LilyGo T-Display-S3 – #12733
  • feat(board): Add support for DFRobot Edge101 IOT Controller – #12742
  • feat(board): add ES Developer ES32Lab – #12765

CI & testing

  • ci(gitlab): Fix requirement regex matching – #12665
  • build(deps): bump cryptography from 46.0.7 to 48.0.1 in /tests – #12693
  • ci(upload): Fix platform.txt and add upload tests – #12667
  • ci(tests): Add support for wokwi chips and multiple fqbns for multi-dut – #12701
  • tests(eeprom): Add eeprom test – #12703
  • tests(analog): Add analog and PWM tests – #12704
  • tests(core): Add tests for core functionalities – #12702
  • test(protocol): Add I2S and SPI tests – #12711
  • refactor(tests): Improve test coverage and documentation – #12697
  • test(ieee802154): Add Zigbee and OpenThread tests – #12710
  • test(ota): Add unsigned OTA test – #12712
  • test(networking): Add networking tests – #12715
  • ci(release): Create draft and test before final publishing – #12720

Documentation

  • Update preferences.rst to include key length info – #12699
  • docs(guides): Add guide for adding new SoCs – #12721

Tooling

  • feat: Issue auto labeling and assigning – #12475
  • feat(tools): Add option to clean unused files in get script – #12717
  • change(esptool): Upgrade to version 5.3.1 – #12728

Others

  • pioarduino: Add s31 bootloader address to build script – #12696
  • feat(components): relax RainMaker minimum version – #12731
  • fix(platform): Ensure partition file is updated in output folder – #12760

New Contributors

Full Changelog: 3.3.10...3.3.11

Arduino Release v3.3.10 based on ESP-IDF v5.5.4

Choose a tag to compare

@me-no-dev me-no-dev released this 05 Jun 16:45

What's Changed

Full Changelog: 3.3.9...3.3.10

Arduino Release v3.3.9 based on ESP-IDF v5.5.4

Choose a tag to compare

@me-no-dev me-no-dev released this 04 Jun 11:34
5b5114c

What's Changed

System PR

  • feat(idf): Add support for ESP-IDF v6.0 – #12522
  • Update required components for IDF 6.0 CMake configuration – #12541
  • fix(idf6): Fix examples for ESP-IDF 6 – #12548
  • IDF v5.5.4 – #12641

Peripherals

ADC

  • fix(adc): Detach pins before initializing ADC Continuous – #12626

I2S

  • ESP_I2S: Add configurable I2S port selection – #12557
  • fix(i2s): Make playWAV and playMP3 take const data – #12583
  • feat(i2s): Add support for slave mode – #12628

LEDC

  • fix(ledc): Avoid busy-wait WDT timeout and release locks on fail – #12627

SPI

  • fix(spi): use spi_ll bus/reset clock on IDF β‰₯ 6 for required socs – #12552

UART

  • fix(uart): solves pinSet order with UART begin – #12569
  • feat(uart): adds UART IrDA mode selection API – #12584

USB

  • fix(usb): Align USBVendor stage macros with TinyUSB – #12525
  • feat(usb): Add Japanese keyboard layout (JIS X 6002) – #12594
  • fix(usb_cdc): Fix blocking write() when timeout is zero – #12645

Libraries

Bluetooth & BLE

  • fix(ble): Fix race condition when accessing peers map – #12554
  • feat(bt): Add BT memory tracking and wrapping – #12574
  • fix(btserial): Properly clear address set variable – #12647
  • fix(ble): Use only one app_id per client – #12642

ESP-NOW

  • test(esp_now): Add validation test for ESP-NOW – #12566

FS

  • fix(fs): Fix potential race condition – #12580

HTTPClient

  • fix(httpclient): Replace emplace_back with push_back for headers – #12639

Matter

  • fix(matter): BLE memory releasing model adjustment – #12515
  • fix(matter): Fix internal state synchronization – #12621
  • feat(matter): Add MatterLightSensor endpoint – #12388

Network

  • NetworkClient: keep flush from clearing RX data – #12613
  • NetworkClientSecure: keep CA bundle after stop – #12615
  • NetworkClient: guard RX available count – #12614
  • fix(network): guard NetworkUDP::write() against NULL tx_buffer – #12640

OpenThread

  • feat(openthread): fixes and improvements – #12638
  • feat(openthread): add new OpenThread CLI UDP sensor example – #12646

WiFi

  • feat(wifi): Remove AP and STA end() from the destructors – #12578
  • fix(wifi): Fix crashes in init/deinit cycles – #12592

Zigbee

  • fix(zigbee): Time cluster - Epoch starts from year 2000 – #12547
  • fix(zigbee): Increase stack memory in examples – #12562
  • fix(zigbee): Fix missing Zigbee lock in getTime() and getTimezone() in ZigbeeEP causing assert crash – #12595
  • fix(zigbee): Guard reporting before stack start and fix multistate input state – #12622

Boards Additions & Updates

  • feat(board): Rename development Ozobot circuit kit to official name Ozobot DRVKit – #12572
  • Update boards.txt - 16MB partition schemes for board YB-ESP32-S3-DAC added – #12582
  • feat(board): add support for Soldered NULA Dual ESP32C5 – #12602
  • feat(board): Add support for Waveshare ESP32-P4 POE ETH – #12629
  • feat(board): Add 16MB partition schemes for various YB boards – #12633

Chip Support

  • feat(esp32p4): add LDO HAL with periman auto-rail and SDMMC handover – #12620
  • feat(periman): Add esp-hosted to peripheral manager + minor updates to LDO – #12643

CI & testing

  • fix(ci): Fix dependency install on 32-bit ARM – #12509
  • fix(uart_ci): changed pins for running on real P4 boards – #12536
  • test(ota): Add OTA and Hash tests – #12505
  • ci(compilation): Add label to force compilation of all sketches – #12560
  • fix(ci): prevent compile_commands filename collisions from duplicate sketch basenames – #12576
  • ci(tests): Add result caching for unavailable runners – #12571
  • Use arduino-cmake to build tests in CI – #12558
  • fix(tests): Fix tests scripts when running locally – #12591
  • fix(scripts): Fix bugs in CI scripts – #12603
  • ci(acmake): Update acmake to latest version – #12611
  • refactor(ci): Merge env variables in a common file – #12618
  • ci(tests): Skip publishing results if tests did not compile – #12649

Tooling

  • fix(codeql): Fix codeQL warnings – #12568
  • fix(acmake): Update arduino-cmake to handle C linkage – #12600
  • change(esptool): Update esptool to 5.3 – #12637
  • feat(flasher): Add esptool "flasher" wrapper to enable fast flash – #12631
  • change(esptool): Rollback esptool to v5.2 – #12644
  • change(esptool): Update esptool to 5.3 and adapt scripts to handle it – #12648
  • fix(release): Fix release script testing and tool packaging – #12653
  • fix(release): Fix release validation – #12656

Others

  • fix: Implement missing wrapper for log_printf function – #12516
  • SPI ETH drivers do not compile with C2 under IDF 6.0 – #12559
  • fix(dma): Ensure proper buffer alignment for DMA for any sdkconfig – #12596
  • fix(hwcdc): fix glitches in writing – #12606
  • feat(hosted): Add support for getting the target chip name – #12609
  • fix(ticker): Fix race condition and warnings – #12612
  • feat(hwcdc): Add stub for updateBaudRate to avoid crashes – #12617
  • fix(hosted): Fix hosted slave chip null if slave version is old – #12623

New Contributors

Full Changelog: 3.3.8...3.3.9

Arduino Pre-Release v4.0.0-alpha1 based on ESP-IDF v6.0.1+

Choose a tag to compare

@me-no-dev me-no-dev released this 27 May 16:04

This pre-release is basically the same core as 3.3.9, but with pre-compiled libs from ESP-IDF release/v6.0 branch and newer toolchain.

Due to incompatibilities with ESP-IDF6, some of the components are not yet available. Most notable are:

  • Matter
  • RainMaker
  • ESP_SR
  • Insights
  • Cbor
  • Any component that those depend on

Arduino Release v3.3.8 based on ESP-IDF v5.5.4

Choose a tag to compare

@me-no-dev me-no-dev released this 12 Apr 07:03

What's Changed

System PR

Peripherals

UART

  • fix(uart): no global serial creates linking error – #12412
  • fix(uart): idf pin conflict – #12458
  • fix(uart): refactoring uart_get_baudrate for IDF 5.5.4 – #12507
  • fix(uart): deals with any combination of inter-UART pin setting – #12512

USB

  • feat(usb): Add Swiss French (fr_CH) keyboard layout – #12395
  • feat(usb): Add MidiMultiChannel example for advanced USBMIDI API – #12401
  • feat(usb): add keyboard layout validation tests – #12397
  • feat(USB): Add support for USB Audio – #12466

SPI

  • feat(spi): Set power channel on ESP32P4 – #12079

Libraries

Bluetooth & BLE

  • feat(ble): Add on-demand security support for Bluedroid – #12363
  • feat(ble): Add local IRK retrieval and fix peer IRK in bluedroid – #12394
  • fix(ble): Fix Bluedroid advertising payload without scan response – #12396
  • fix(ble): Fix license compliance – #12440
  • fix(ble): Fix Advertising race condition – #12442
  • fix(ble): readValue memory leak bug for multiple reads – #12448
  • feat(bt): Add HFP HCI Audio example sketches – #12462

Ethernet

  • feat(eth): Allow setting multicast filters on ETH – #12409

WebServer

  • fix(webserver): reset _contentLength after _streamFileCore send – #12385
  • feat(webserver): Add send() overload for Stream objects – #12420

WiFi

  • fix(wifi): Fix uninitialized struct warning – #12361
  • fix(wifi): Don't connect with NULL passphrase in WiFiMulti open AP mode – #12429
  • feat(wifi): Add WPA2-Enterprise support to WiFiMulti – #12258

Zigbee

  • feat(zigbee): Allow ZigbeeEP implementers to handle raw ZCL commands – #12479

ESP-SR

  • fix(sr): Update ESP_SR to the latest features – #12376

Update

  • Update: Fix signed OTA signature verification bypass when installSignature() called before begin() – #12425
  • fix(update): Fix CSRF vulnerability in example – #12443
  • Fix RSA-PSS signature verification mismatch in UpdaterRSAVerifier – #12503
  • Update Flash Size 8MB instead of 4MB – #12187

Boards Additions & Updates

  • feat(board): Add support for DFRobot FireBeetle 2 ESP32-P4 – #12366
  • feat(board): Add Axiometa Genesis Mini board support – #12374
  • Add support for ESP32-S3 PowerFeather V2 – #12387
  • fix(arduino_nano_nora): Prevent array index out of bounds – #12423
  • Fix ESP32-P4 pin mapping in SD_MMC example comment – #12431
  • fix(board): update pins and OTA of senseBox Eye – #12439
  • feat(board): Add support for DFRobot FireBeetle 2 ESP32-C5 – #12421
  • feat(board): Add AMYboard ESP32-S3 board support – #12441
  • feat(board): adding xteink x4 ereader – #12438
  • feat(board): Add SparkFun Thing Plus ESP32-C5 – #12452
  • feat(board): Add ozobot circuit kit board – #12465
  • add heltec v4 board – #12508
  • add heltec tracker v2 board – #12513

CI & testing

  • ci(codeql): Do not cancel jobs if one fails – #12410
  • ci(gitlab): Improve GitLab reliability – #12415
  • ci(report): Add performance tests report – #12424
  • ci: fix DangerJS workflow permissions – #12491
  • build(deps): bump cryptography from 46.0.5 to 46.0.6 in /tests – #12489
  • build(deps): bump cryptography from 46.0.6 to 46.0.7 in /tests – #12506

Documentation

  • feat(serial): Serial baud rate detection example documentation – #12360
  • docs(ble): Improve copyright notice – #12501
  • docs(guidelines): Add instructions to skip code formatting – #12502
  • docs(mos): Add manual of style to guidelines – #12511

Tooling

  • fix(codeql): Fix codeQL warnings and improve pre-commit hooks – #12364
  • change(esptool): Upgrade to version 5.2.0 – #12378

Others

  • feat(rak3112): add conditional macros for rakwireless-audio library support – #12399
  • feat(console): Add console library – #12391
  • fix(format): Fix and future-proof format specifiers – #12404
  • fix(example): Remove broken, useless print – #12444
  • feature: add changes for picolib compability – #12453
  • fix(bounty): Provide fixes for reported bugbounty – #12486
  • fix(boards.txt): USB-CDC menu entry for Codecell C3 – #12477
  • fix(deps): Add missing esp_timer requirement – #12500
  • fix(hash): Fix inconsistencies and crashes – #12510

New Contributors

Full Changelog: 3.3.7...3.3.8

Arduino Release v3.3.7 based on ESP-IDF v5.5.2

Choose a tag to compare

@me-no-dev me-no-dev released this 11 Feb 23:31

What's Changed

System PR

  • IDF release/v5.5 – #12257

Peripherals

RMT

  • fix(rmt): forces enabling reading channel – #12300

Libraries

Bluetooth & BLE

  • fix(ble): Add required security to gamepad client – #12274
  • fix(ble): Make BLE memory management automatic – #12287
  • feat(ble): Add param update function to client – #12294
  • fix(ble): Restore CCCD values on reconnection in Bluedroid – #12306
  • fix(ble): Fix connection issues in Bluedroid and GAP naming in NimBLE – #12318
  • fix(ble): Fix address types in Bluedroid – #12347

Ethernet

  • Added Ethernet definitions and UART2 pins – #12312

OTA

  • fix(ota): Fix OTA decryption when HW acceleration is not available – #12320

Matter

  • Fix Arduino Matter using esp32c5 disabled psram that causes runtime crash – #12353

Network

  • fix(ppp): Use proper response length for AT commands – #12336
  • PPPClass: Add configurable boot delay after reset sequence – #12344
  • PPP: Add burst of AT commands to lock autobaudrate on begin – #12314

WiFi

  • WiFi: Fix setSleep() using cached instead of provided sleep type – #12296
  • fix(wifi): Fix conflicting param name and add String overloads – #12343

Zigbee

  • feat(zigbee): Add method to set Application and Hardware versions – #12307
  • fix(zigbee): Set manuf_specific to 0 to use short frame header – #12325
  • feat(zigbee): Add level step command support for ColorDimmableSwitch – #12313
  • fix(zigbee): read fan mode attribute as single byte in FanControl EP – #12346
  • fix(zigbee): electrical measurement types β€” int16_t for power, uint16_t for others – #12352

FS

  • feat(preferences): Add getStringLength and fix getString/getBytes docs – #12340

Boards Additions & Updates

  • variant:heltec-wifi-kit-32-v3 fix I2C pins for the user available channel – #12285
  • fix(board): support for pre/post v3 esp32p4 for 4D Systems MIPI Display modules – #12309
  • fix(m5stack_tab5): Add chip variant menu – #12341
  • fix(rak3112): add missing TX1/RX1 pin definitions for Serial1 – #12304
  • feat(board): Add RootMaker Touch S3 Board – #12334

CI & testing

  • ci(wokwi): Enable targets using ESP-hosted in Wi-Fi test – #12315
  • ci(push): Optimize chunk counting to avoid empty chunks – #12295
  • ci(tests): Add support for multiple duts – #12063
  • build(deps): bump cryptography from 44.0.1 to 46.0.5 in /tests – #12348

Tooling

  • fix(build): Fix overflow when counting sketches – #12278

Others

  • fix(log_wrapper): Force linking of wrapper when using component – #12288

New Contributors

Full Changelog: 3.3.6...3.3.7

Arduino Release v3.3.6 based on ESP-IDF v5.5.2

Choose a tag to compare

@me-no-dev me-no-dev released this 21 Jan 21:01
b0fd41f

What's Changed

System PR

Chip Support

Peripherals

UART

  • fix(uart): fixes setPins() when changing RTS and CTS by @SuGlider in #12201

USB

  • fix(usb_hw_serial): fixes connected state after sketch is uploaded by @SuGlider in #12184

SPI

Timer

  • feat(ticker): extend ticker by adding restart timer options by @nielsnl68 in #12240

Libraries

Bluetooth & BLE

Network

WiFi

Update

  • fix(update): Check that there is a free OTA partition before writing by @lbernstone in #12264
  • feat(update): Add Doxygen style documentation for the Update class by @me-no-dev in #12243

OTA

  • fix(ota): Show MD5 warning only when connection is successful by @lucasssvaz in #12272

Boards Additions & Updates

CI & testing

Documentation

  • feat(update): Add Doxygen style documentation for the Update class by @me-no-dev in #12243

Tooling

Others

  • Add partition schema definition optimized for local storage by @frdoni in #12196
  • feat(hosted): Update and enhance logging of esp-hosted by @me-no-dev in #12229

New Contributors

Full Changelog: 3.3.5...3.3.6

Arduino Release v3.3.6-RC1 based on ESP-IDF v5.5.2

Choose a tag to compare

@me-no-dev me-no-dev released this 16 Jan 21:23

What's Changed

System PR

Chip Support

Peripherals

UART

  • fix(uart): fixes setPins() when changing RTS and CTS by @SuGlider in #12201

USB

  • fix(usb_hw_serial): fixes connected state after sketch is uploaded by @SuGlider in #12184

SPI

Timer

  • feat(ticker): extend ticker by adding restart timer options by @nielsnl68 in #12240

Libraries

Bluetooth & BLE

Network

WiFi

Update

  • fix(update): Check that there is a free OTA partition before writing by @lbernstone in #12264
  • feat(update): Add Doxygen style documentation for the Update class by @me-no-dev in #12243

OTA

  • fix(ota): Show MD5 warning only when connection is successful by @lucasssvaz in #12272

Boards Additions & Updates

CI & testing

Tooling

Others

  • Add partition schema definition optimized for local storage by @frdoni in #12196
  • feat(hosted): Update and enhance logging of esp-hosted by @me-no-dev in #12229
    ​

New Contributors

Full Changelog: 3.3.5...3.3.6-RC1