[0.20.0] - 2026-09-18
Added
- System info page with
/api/system-infoendpoint - Persistent disk IDs from sysfs, stable disk selectors and
kula_disk_infomappings (#46) kula diskshelper to list available disks and partitions with their persistent IDs (#46)- Live, Back, Forward and Zoom out navigation with shareable historical ranges
- Drag-selection, Ctrl+wheel and touch pan/pinch
- Keyboard navigation and a shared crosshair with timestamp pinning
- Min–Max bands and detailed history tooltips with exact timestamps and coverage
- Local/UTC display and optional Data/CSV controls in Customization
Changed
- Disk Prometheus
devicelabels now use persistent IDs (#46) - Smoother chart rendering and lower-memory history queries
- Custom and zoomed ranges, including device selections, stay frozen while live status updates
- Long live windows retain the selected history during refreshes and failures
- Zoom-in stops at 12 data points, excluding gaps, with a sampling-aware minimum duration
- Fresh installs default to Avg with straight, unfilled lines and one principal Min–Max band
- Grid/list changes preserve chart data and legend selections
- Tier naming unification
- Inspect feature improvements
- Implemented a unified rounding campaign while preserving full precision in storage and APIs
- UI performance improvements
- Aggregation optimization
Fixed
- Expired live sessions now return to login and cancel pending history loads
- Signing in restores the selected range without reloading the page
- Disk history and rates mixing physical drives when kernel device names change;
old name-only history remains separate from new identified series - History aggregation, bucket boundaries and coverage across storage tiers, collection gaps
and missing metrics; older rollups remain approximate - Avg/Min/Max controls hidden by legacy history: restore supported CPU, load, memory and
swap extrema through read-time compatibility without rewriting tier files; unsupported
extrema remain gaps, with availability notices and source details in tooltips and CSV exports - History caching and point limits, including sub-second requests and concurrent updates
- Historical points, extrema and sensor identities lost during zoom, redraws or live updates;
missing observations now retain line breaks and shaded gap indicators - Slow history responses overwriting newer ranges or active zoom gestures
- Date-picker, Focus Mode, chart-label, localization and crosshair accessibility issues
- Crashes on WebSocket disconnects, short container IDs and malformed history, plus spurious
WebSocket errors on logout - Increased
storage.tiers[].max_sizenow takes effect without discarding history;
shrinking an existing tier still requires manual action - fix: bound offscreen chart state and release split cards (#50)
Security
- Fixed login rate limiting that allowed targeted account lockout and global login denial
- Added an absolute session lifetime to prevent indefinite renewal
Thanks @hawkff @AtmanActive