Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 23 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
Loading