# 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.1.0] - 2026-08-21 ### Added - Virtual destructors to Lockable and EventHandler. - LockGuard::IsLocked. - Lock timeout to LockGuard constructors. ### Changed - Lockable and EventHandler to be non-copyable. - Mutex to abort when locked or unlocked from an ISR. - Event::Generate to call handlers without holding the event lock. ### Fixed - StreamServer task not being stopped before the derived object is destroyed. - LockGuard multiple object constructor parameter documentation. - LockGuard unlocking objects that it failed to lock. - Mutex silently providing no mutual exclusion when semaphore creation failed. - Stream::ReadUntil not enforcing the read timeout while data keeps arriving. - Lock order inversion in the Stream Buffer overloads. - Event not releasing handlers whose objects have been destroyed. ## [2.0.1] - 2026-08-19 ### Fixed - Invalid iterator use in Event::Generate. ## [2.0.0] - 2026-08-14 ### Added - Write operation timeout to Stream (breaking change: adds GetWriteTimeout/SetWriteTimeout pure virtual methods, requiring all Stream implementations to be updated). ## [1.3.1] - 2026-08-11 ### Fixed - Invalid iterator use in Event::RemoveHandler. ## [1.3.0] - 2026-08-07 ### Added - ESP-IDF v6.0 support. ## [1.2.3] - 2026-08-04 ### Changed - Simplified mutex, stream server and buffer lock timeout handling. ### Fixed - Event handler memory leak. - Missing lock in stream read buffer flushing. - Unsynchronized stream server task state flags. - Silent buffer allocation failure. - Stream server task stream reference. ## [1.2.2] - 2024-09-10 ### Changed - Hardware interface and server name access mutex. ## [1.2.1] - 2024-08-29 ### Fixed - Missing pl_stream_server include. ## [1.2.0] - 2024-08-29 ### Added - Stream server class. ## [1.1.0] - 2024-08-26 ### Added - Multilock lockguard. ## [1.0.0] - 2024-06-11 Initial release.