Skip to content

Releases

Astral v1.2.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 15:25
f5f86bd

1.2.0

Highlights

  • Close to zero when idle: on a 4-vCPU VPS, Astral now uses 0.03% of one core with nobody connected (5.88% in 1.1.1) and 7.2 MB of memory (8.5 MB). It samples every 10 seconds while no dashboard is open and every second while one is. (#25)
  • Less than half the memory once someone signs in: 7.7 MB with a signed-in dashboard open, down from 18.1 MB, because a login no longer leaves the 9 MiB password-hash buffer behind. (#25)
  • A new look: a status headline ("All systems nominal." or "CPU is running hot.") above four metric tiles that are also the tabs of one hero chart, with a live 60-second view and 6H / 24H / 7D / All history. (#13)
  • Tidier database: the SQLite log file stays under 1 MB instead of resting at about 4 MB, and a failed retention cleanup is now logged. (#30)

Changes

  • ./benchmark.sh reports idle CPU, current memory and thread count, so the README numbers can be reproduced. (#25)
  • Far lower CPU use: the collector no longer rescans every process every second. Measured on the VPS against 1.1.1: idle 5.88% to 0.03% of one core, idle with the process list on 10.87% to 0.27%, one dashboard open with the process list on 12.80% to 2.27%. A dashboard that connects still gets its first update within about a second. (#25)
  • The process list is rescanned every 3 seconds instead of every second; the last list is resent in between, so the stream is unchanged. (#25)
  • Fewer threads and connections: two async workers and at most two SQLite connections, so 5 threads instead of 7 to 9. (#25)
  • Network and disk rates are per second: they are computed from the time since the previous sample, so the sample interval no longer changes what the dashboard shows. History averages are weighted by the time each sample covers. (#25)
  • Keep-alive comments on the live stream are sent every 15 seconds instead of every second. (#25)
  • New "volt" design: a lime accent on near-black. Below the hero chart are the top processes and a details panel with load average, swap and mounts. Login, Settings, alert history, alert toasts and a sign-out confirmation are restyled. (#13)
  • The headline follows your alert thresholds: "running warm" and "running hot" use the CPU and memory limits from Settings instead of a fixed 70% / 90%. (#13)
  • Tab icon and install icon match the new logo. (#13)
  • Dependencies: hmac 0.13 and sha2 0.11 (moved together), tower-http 0.7 and the Rust minor and patch updates (tokio, axum, reqwest, clap, serde and others); the web toolchain moves to Vite 8, plugin-svelte 7, Tailwind 4.3 and Svelte 5.57 (the production script is about 6 KB larger); the Docker build uses Rust 1.98 and Node 25. sysinfo stays on 0.36 on purpose: 0.40 measured slower with the process list on. (#15, #16, #17, #22, #26, #27, #28)

Fixes

  • The database log no longer sits at 4 MB: the SQLite write-ahead log was left at about 4 MB (2.9 MB on a real server whose database was 90 KB). It now checkpoints sooner and is truncated to at most 1 MB; in a test of 3,000 writes it ended at 0.8 MB instead of 4.1 MB. (#30)
  • Failed retention cleanups are logged: a locked or full database used to fail the cleanup silently, so a table could keep growing unnoticed. The failure now shows up as a warning. (#30)
  • One login held about 9 MB for good: on Linux, glibc kept the 9 MiB password-hash buffer in memory after the first login. A signed-in dashboard now uses 7.7 MB instead of 18.1 MB. (#25)
  • A spare receiver pinned old samples: the live metrics channel kept an unused receiver that held 100 samples in memory and made the collector think someone was always watching. It is gone and the buffer is 16 slots. (#25)
  • Login animation loop: the signal trace no longer snaps back at the end of each loop. (#13)
  • Windows load average: it is hidden on Windows, where the system reports no load average and the dashboard used to show 0.00. (#13)
  • Disk tile and mounts agree: the tile and headline use the root (or system) mount, and the mounts panel lists it first. The disk headline no longer mentions an alert threshold, because there is no disk alert. (#13)
  • Login page over HTTP: it says "Unencrypted connection (HTTP)" instead of always claiming the connection is encrypted. (#13)

Pull requests

  • PR #13 feat(web): volt UI redesign. Thanks @arifintahu.
  • PR #14 chore: set up Astral as an open-source project. Thanks @arifintahu.
  • PR #15 build(docker): bump node from 20-alpine to 25-alpine.
  • PR #16 build(docker): bump rust from 1.85-slim-bookworm to 1.98-slim-bookworm.
  • PR #17 build(deps): bump the web-minor-and-patch group in /web with 5 updates.
  • PR #22 build(deps): bump tower-http from 0.6.8 to 0.7.1.
  • PR #25 perf: cut idle CPU and memory, measured on a real VPS. Thanks @arifintahu.
  • PR #26 build(deps): bump the rust-minor-and-patch group across 1 directory with 14 updates.
  • PR #27 build(deps): bump hmac to 0.13 and sha2 to 0.11 together. Thanks @arifintahu.
  • PR #28 build(deps): bump vite 8, plugin-svelte 7 and the Tailwind plugin together. Thanks @arifintahu.
  • PR #29 ci(dependabot): ignore sysinfo minor updates until they are measured. Thanks @arifintahu.
  • PR #30 fix: keep the SQLite log small and log failed retention cleanups. Thanks @arifintahu.
  • PR #31 chore: release v1.2.0. Thanks @arifintahu.
  • PR #32 fix(release): let a release candidate tag match its base version. Thanks @arifintahu.

Contributors

Thanks @arifintahu.

Full changelog: v1.1.1...v1.2.0

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 27 Oct 14:29
1b3a7ea

What's Changed

Full Changelog: v1.1.0...v1.1.1

v1.1.0

Choose a tag to compare

@arifintahu arifintahu released this 25 Apr 15:28
b06a01a

What's Changed

  • security: add security review with severity-classified findings by @arifintahu in #6
  • docs: add Claude commands and project guidelines by @arifintahu in #7
  • feat: add dynamic configuration, alert history, and session-based auth by @arifintahu in #8

Full Changelog: v1.0.0...v1.1.0

v1.0.0

Choose a tag to compare

@arifintahu arifintahu released this 07 Mar 02:56
42c0fa0

What's Changed

  • Claude/improve UI ux vision kc l lf by @arifintahu in #1
  • feat: add Docker deployment and host system monitoring support by @arifintahu in #2
  • ci: add GitHub Actions workflow for cross-platform automated releases by @arifintahu in #3
  • chore: bump version to 1.0.0 and optimize release binary size by @arifintahu in #4
  • feat: implement system monitoring with web API, SQLite storage, and alerts by @arifintahu in #5

New Contributors

Full Changelog: https://github.com/arifintahu/astral/commits/v1.0.0