diff --git a/CHANGELOG.md b/CHANGELOG.md index 222a7b4..d9cbc94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,22 +9,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +### Changed + +### Fixed + +## [0.6.0] - 2026-08-10 + +### Added + + +### Changed + +- update changelog with recent fixes and additions +- virtualize log window, cache fetch, harden backend +- Fix Renovate package rule matchers +- fix(renovate): remove invalid schedule from vulnerabilityAlerts + +### Fixed + +- enforce virtual row height; preserve stored context on transient fetch failure +- start credential refresher only for winning cache entry to prevent goroutine leak +- guard ResizeObserver for environments where it is unavailable +- update test to expect info instead of unknown for unrecognized log patterns +- stale context validation, log level defaults, filtering UX, auto-reconnect - Virtualized rendering of log rows so DOM work stays constant regardless of how many logs are buffered - Client-side response caching with in-flight deduplication for autocomplete and cluster UI data - WebSocket origin allowlist (same-origin or `ALLOWED_ORIGINS`) to prevent arbitrary web pages from proxying this backend - Precompiled client-side log filters reused across log lines - Log message keyword and level filtering via Search and Level controls in stream panels - Automatic WebSocket reconnection when pod/container selector changes - -### Changed - - Reuse a single Kubernetes client per context across WebSocket streams and cluster API endpoints - Autocomplete data cached with TTLs (60s for namespaces/contexts/nodes, 8s for pods/containers) - Log entries carry a stable monotonic id used as the render key, avoiding row remounts when the buffer rolls over - Log append path avoids a double array copy for every incoming message - -### Fixed - - WebSocket connections no longer leak when a stream panel unmounts (e.g. when switching views) - Parse-failure log entries are now buffered while paused instead of being dropped - `kubectl` namespace filters use `--namespace=` form so a value starting with `-` cannot be parsed as a flag @@ -38,7 +55,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Virtual row height enforced via inline style to match virtualization scroll math - Stored context preserved on transient `/api/contexts` fetch failure - ResizeObserver guarded for environments where it is unavailable - ## [0.5.1] - 2026-08-07 ### Added