Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ESP32Async/ESPAsyncWebServer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.7.9
Choose a base ref
...
head repository: ESP32Async/ESPAsyncWebServer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.7.10
Choose a head ref
  • 16 commits
  • 15 files changed
  • 7 contributors

Commits on Jul 1, 2025

  1. Configuration menu
    Copy the full SHA
    83ac5a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c9b70bd View commit details
    Browse the repository at this point in the history
  3. Merge pull request #214 from bdraco/libretiny_Fix

    Fix compile on libretiny due to round macro conflict
    mathieucarbou authored Jul 1, 2025
    Configuration menu
    Copy the full SHA
    029b057 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2025

  1. Fixed Header parsing

    - Now obey the spec
    - Uses a static parse method
    - Support move semantic
    mathieucarbou committed Jul 2, 2025
    Configuration menu
    Copy the full SHA
    c5fa501 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2025

  1. Merge pull request #215 from ESP32Async/fix/AsyncWebHeader

    Fixed Header parsing
    mathieucarbou authored Jul 3, 2025
    Configuration menu
    Copy the full SHA
    bb6309a View commit details
    Browse the repository at this point in the history
  2. Arduino Core 3.2.1

    mathieucarbou committed Jul 3, 2025
    Configuration menu
    Copy the full SHA
    0d6046f View commit details
    Browse the repository at this point in the history
  3. Merge pull request #217 from ESP32Async/arduino-321

    Arduino Core 3.2.1
    mathieucarbou authored Jul 3, 2025
    Configuration menu
    Copy the full SHA
    fb6bc86 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4ce3876 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #218 from ESP32Async/asynctcp-345

    ESP32Async/AsyncTCP @ 3.4.5
    mathieucarbou authored Jul 3, 2025
    Configuration menu
    Copy the full SHA
    4b14b0a View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2025

  1. ETag and caching for serving pre‐compressed files (#216)

    * ETag and caching for serving pre‐compressed files
    
    This PR introduces ETag handling and caching improvements for serving pre‐compressed .gz files, enabling conditional GET responses to optimize bandwidth and server resource usage.
    Adds ETag header generation based on the CRC32 checksum from the gzip trailer.
    Implements conditional 304 responses in the send() method when the client's ETag matches the server's.
    Enhances both asynchronous file response handling and web server request processing for .gz files.
    
    * Add files via upload
    
    * ci(pre-commit): Apply automatic fixes
    
    * Make _getEtag a private method
    
    Make private: static void _getEtag(uint8_t trailer[4], char *serverETag)
    
    ---------
    
    Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
    JosePineiro and pre-commit-ci-lite[bot] authored Jul 4, 2025
    Configuration menu
    Copy the full SHA
    2803989 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2025

  1. set default value for '_onDisconnectfn' (#221)

    * set default value for '_onDisconnectfn'
    
    * ci(pre-commit): Apply automatic fixes
    
    ---------
    
    Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
    lumapu and pre-commit-ci-lite[bot] authored Jul 8, 2025
    Configuration menu
    Copy the full SHA
    049a659 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2025

  1. Support for pre-compressed and ETag in download (#222)

    * Support for pre-compressed and ETag in download 
    
    When downloading file request:
    1. **Gzipped file serving**:
       - Automatically detects and serves pre-compressed `.gz` files when uncompressed originals are missing
       - Properly sets `Content-Encoding: gzip` headers
       - Implements `If-None-Match` header comparison for 304 (Not Modified) responses (RFC 7232)
       - Implements `ETag` header using CRC-32 from gzip trailer (bytes 4-7 from end)
       - Optimize for speed
    Changes affect:
    void AsyncWebServerRequest::send(FS &fs, const String &path, const char *contentType, bool download, AwsTemplateProcessor callback) 
    AsyncWebServerResponse *
      AsyncWebServerRequest::beginResponse(FS &fs, const String &path, const char *contentType, bool download, AwsTemplateProcessor callback) 
    AsyncFileResponse::AsyncFileResponse(FS &fs, const String &path, const char *contentType, bool download, AwsTemplateProcessor callback)
      : AsyncAbstractResponse(callback)
    
    * ci(pre-commit): Apply automatic fixes
    
    * Update src/AsyncWebServerRequest.cpp
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Add files via upload
    
    ---------
    
    Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    3 people authored Jul 10, 2025
    Configuration menu
    Copy the full SHA
    7d1afa3 View commit details
    Browse the repository at this point in the history
  2. Optimize content type detection using C-strings

    Optimize _setContentTypeFromPath method with a more efficient version (_setContentTypeFromPath_v3) that uses C-string comparison (strcmp) instead of String::endsWith.
    This change improves performance and reduces memory usage,
    Common web extensions are checked first to speed up typical lookups.
    
    Version 1 (original):    16.9789 μs per call
    Version 2 (strcmp):      6.7527 μs per call
    JosePineiro authored Jul 10, 2025
    Configuration menu
    Copy the full SHA
    5240113 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b55f2df View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2025

  1. Merge pull request #225 from JosePineiro/optimize-content-type-detection

    Optimize content type detection using C-strings
    me-no-dev authored Jul 11, 2025
    Configuration menu
    Copy the full SHA
    615cff7 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2025

  1. v3.7.10

    mathieucarbou committed Jul 14, 2025
    Configuration menu
    Copy the full SHA
    35ee69e View commit details
    Browse the repository at this point in the history
Loading