# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [2.2.0] - 2026-08-24 ### Added - Virtual destructor to HttpServerTransaction. ### Changed - HttpServerTransaction to be non-copyable. ### Fixed - HttpServer task not being stopped before the derived object is destroyed. - HttpServer server handle left dangling after the server is stopped. - HttpServer deadlock when Enable, Disable or a configuration setter is called from HandleRequest. - Transaction network stream overriding the server's read and write timeouts with NetworkStream's defaults. - HttpClient::GetResponseHeader missing a trailing header with an empty value. - Missing documentation for HttpServer::Enable claiming the server's UDP port for its control socket. - HttpClient::ReadResponseHeaders using the non-standard ushort instead of uint16_t. - HttpServer::StopTask returning httpd_unregister_uri error. - Transaction::GetRequestHeader logging a missing header as an error. - HttpClient::SetPort leaving clientHandle dangling if esp_http_client_cleanup fails. ## [2.1.1] - 2026-08-20 ### Fixed - HttpServer::Transaction::ReadRequestBody not enforcing an overall timeout. - HttpServer::Enable rollback. ## [2.1.0] - 2026-08-14 ### Added - Write operation timeout to HttpClient and HttpServer. ### Fixed - Read timeout conversion to seconds. - Discard read performance when discarding data one byte at a time. - Null certificate/private key handling. ## [2.0.0] - 2026-08-10 ### Changed - Lock timeout handling. - Static const members to constexpr. - HttpServer::GetRequestUri, HttpServer::GetRequestHeader and HttpClient::GetResponseHeader to return esp_err_t with an output parameter instead of a raw pointer. - HttpServer::GetRequestHeader to use the ESP-IDF header API instead of reading httpd_req_t internal struct layout. ### Removed - HttpServer separate URI buffer. - HttpClient constructors taking a shared header buffer. ### Fixed - HttpServer::Transaction::ReadRequestBody not looping on partial reads. - HttpClient::Disconnect missing lock and initialization check. - HttpClient::GetResponseHeader missing shared header buffer lock. - HttpServer::maxNumberOfClients type mismatch with NetworkServer interface. - HttpServer::Disable leaving the server half-stopped when unregistering the URI handler fails. - HttpClient::SetPort client cleanup. - HttpClient::GetResponseHeader out-of-bounds pointer arithmetic. ## [1.1.0] - 2024-08-26 ### Changed - Version minor number to indicate changed ESP-IDF dependency. ## [1.0.2] - 2024-08-26 ### Changed - Client and server transaction locking. ## [1.0.1] - 2024-06-12 ### Added - Copying examples to component folder on upload. ## [1.0.0] - 2024-06-12 Initial release.