Skip to content

v3.9.0

Choose a tag to compare

@mathieucarbou mathieucarbou released this 15 Nov 09:20
· 173 commits to main since this release
09505d0

⚠️ This release is broken on ESP8266

  • Update November , 25th 2025: Subscribe to this issue to get notified: #343

🏃 Performance improvement

  • Huge performance improvement in terms of request served: about 6x faster!
    @vortigont refactored the part sending bytes over the wire. In our benchmark test, we can now serve with 16 concurrent clients about ~ 70 req / second. Before, we were capped at ~12-13 req / second.

  • ESP32Async/AsyncTCP @ 3.4.9 by @mathieucarbou in #302 (Switch from rand() to an XOR Shift to favor speed over random quality in ESP32Async/AsyncTCP#89)

💡 New Feature

URIMatcher was added to handler declaration in order to have more flexibility when defining routes, with or without regex support (-D ASYNCWEBSERVER_REGEX=1). This also applies to Json and MessagePack handlers. See the example and doc at https://github.com/ESP32Async/ESPAsyncWebServer/tree/main/examples/URIMatcher

  • Introduce AsyncURIMatcher class to encapsulate the URI matching logic with and without regex support (-D ASYNCWEBSERVER_REGEX=1) by @mathieucarbou in #304

  • Added URIMatcherTest to test possible route matching by @mathieucarbou in #311

  • Completing support for Bearer tokens which were initially half-supported by @mathieucarbou in #309

🐛 Fixes

⚙️ Under the hood

New Contributors

Full Changelog: v3.8.1...v3.9.0