• 3.3.8 b4f85baa2d

    Arduino Release v3.3.8 based on ESP-IDF v5.5.4
    Some checks failed
    ESP32 Arduino Release / Build Release Package (release) Has been cancelled
    ESP32 Arduino Release / Test Package on macos-latest (release) Has been cancelled
    ESP32 Arduino Release / Test Package on ubuntu-latest (release) Has been cancelled
    ESP32 Arduino Release / Test Package on windows-latest (release) Has been cancelled
    ESP32 Arduino Release / Upload Package JSONs and Finalize Release (release) Has been cancelled
    ESP32 Arduino Release / Upload hosted binaries (release) Has been cancelled
    Stable

    petr.gadorek released this 2026-04-12 07:29:02 +00:00 | 190 commits to master since this release

    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: https://github.com/espressif/arduino-esp32/compare/3.3.7...3.3.8

    Downloads