Skip to content

Releases: c0m4r/kula

0.21.0

Choose a tag to compare

@c0m4r c0m4r released this 30 Sep 22:14

[0.21.0] - 2026-10-01

Added

  • Clock picker for custom range times
  • Download the chart as PNG image
  • CSS and JS assets auto-minification at startup with web.minify_assets: true
  • TV mode under Focus Mode
  • Space Invaders: graphics settings and restart option
  • tui: historical data charts

Changed

  • The custom range picker uses one month calendar instead of two side-by-side
  • Retained history now limits only which days can be picked
  • Unused CSS/JS cleanup
  • The dashboard now loads one trimmed Chart.js bundle instead of three scripts
  • The dashboard paints sooner: Chart.js no longer blocks the first paint, and charts are
    built once the page is on screen
  • The Inter font ships as WOFF2 (349 KB instead of 875 KB, same glyphs)
  • Static assets are revalidated with an ETag instead of downloaded again on every visit;
    an unchanged server answers 304 Not Modified
  • tui: UI/UX improvements

Fixed

  • The Focus Mode bar ("Select graphs…", Hide gauges, Done, Cancel) is now translated
  • Space Invaders: fixed game stability on firefox
  • Layout shifts while the dashboard loads: the gauges, chart headers and sampling info no
    longer push the page down when they fill in
  • A light-theme dashboard no longer shows a dark first frame; global.default_theme also
    applies before the config request finishes
  • System Info no longer grades fans and voltages with temperature thresholds, and uptime refreshes
  • System Info no longer stretches a lone section tab
  • The remaining hard-coded dashboard strings are translated
  • A custom range time inside a DST gap now shows the time that actually loads
  • A corrupt record length in a tier file no longer allocates up to the whole ring before the read fails

0.20.3

Choose a tag to compare

@c0m4r c0m4r released this 29 Sep 07:46

[0.20.3] - 2026-09-29

Fixed

  • Min/Max charts stopped drawing new data on short live windows (for example 5 minutes on a
    narrow screen or a list-layout card) whose history the server returned in bucketed form:
    live samples without extrema were appended as blank points and flagged "Min/Max unavailable".
    The dashboard now streams only onto native raw views and refreshes bucketed views instead
  • Selecting a window without Min/Max (such as raw history or an empty refresh) no longer
    silently switches the rest of the session to Avg; the Min/Max choice returns as soon as a
    view supports it again

0.20.2

Choose a tag to compare

@c0m4r c0m4r released this 20 Sep 14:48

[0.20.2] - 2026-09-20

Fixed

  • Avg/Min/Max availability flickering on raw history windows: clipping the right edge
    no longer certifies synthesized extrema, so native-resolution responses consistently
    stay data-only instead of depending on whether the lookahead scan saw a newer record
  • Raw history windows no longer report "Min/Max unavailable" in detailed tooltips when
    the response never offered Min/Max aggregation

0.20.1

Choose a tag to compare

@c0m4r c0m4r released this 18 Sep 05:53

[0.20.1] - 2026-09-18

Added

  • global.show_system_details (default false) gates the storage, network,
    connected-device and sensor inventory on the System Info page

Changed

  • System info no longer collects or displays IP and MAC addresses

0.20.0

Choose a tag to compare

@c0m4r c0m4r released this 18 Sep 03:25

[0.20.0] - 2026-09-18

Added

  • System info page with /api/system-info endpoint
  • Persistent disk IDs from sysfs, stable disk selectors and kula_disk_info mappings (#46)
  • kula disks helper 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 device labels 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_size now 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

0.19.0

Choose a tag to compare

@c0m4r c0m4r released this 31 Aug 13:00

[0.19.0] - 2026-08-31

Added

  • customization menu for appearance and accessibility preferences

Changed

  • TUI redesign
  • golang and deps updates
  • container metrics: one multi-series chart per metric type with app filter
  • dark theme readability (#45)

Fixed

  • battery graph out of order after exiting focus mode
  • battery/PSU metrics not being written to storage
  • missing split_by_device translation
  • frosted top bar

Thanks @floriancheval @solsticedhiver

0.18.8

Choose a tag to compare

@c0m4r c0m4r released this 29 Jul 15:13

[0.18.8] - 2026-07-29

Changed

  • sticky time range controls (#41)
  • update github.com/mattn/go-isatty v0.0.22 => v0.0.24
  • update github.com/mattn/go-runewidth v0.0.24 => v0.0.27

Fixed

  • add missing expand button to dynamically created charts (#40)
  • keep mobile time preset menus usable on short viewports

Thank @floriancheval

0.18.7

Choose a tag to compare

@c0m4r c0m4r released this 26 Jul 15:58

[0.18.7] - 2026-07-26

Added

  • container monitoring: support Podman Quadlet cgroups (#38) co-authored-by @plexus

Fixed

0.18.6

Choose a tag to compare

@c0m4r c0m4r released this 11 Jul 19:57

[0.18.6] - 2026-07-11

Added

  • New config option: game_score_url

0.18.5

Choose a tag to compare

@c0m4r c0m4r released this 10 Jul 13:27

[0.18.5] - 2026-07-10

Changed

  • ignore fs type constraint when mountpoints is specified (#35)

Fixed

  • remove systemd ProtectHome setting that prevents /home diskspace monitoring (#33)

Thanks @j75