Skip to content

Releases: kittyruntime/home-server-interface

v1.48.1

Choose a tag to compare

@github-actions github-actions released this 13 Aug 12:06

Security

  • Immediate REST privilege revocation: file uploads, downloads, container logs and configuration
    backups now reload the account's current roles and existence from the database instead of trusting
    week-long JWT claims. File tokens remain short-lived and path-scoped, but permission changes and
    account deletion now also invalidate their access immediately.
  • Per-user upload isolation: resumable upload state is bound to its creator across chunk, status,
    completion and cancellation requests. Metadata is immutable after creation, permissions are checked
    again during long uploads and finalization, and concurrent ID collisions no longer cross accounts.
  • Symlink-safe file operations: copy, ZIP creation, shared-folder archives and extraction refuse
    symbolic links and special files, use no-follow/exclusive opens, and reject symlinked extraction
    targets, blocking ordinary link-based escapes from an allowed Place.

Fixed

  • Production API routing: the generated nginx configuration now forwards public shares, container
    log streams and configuration backup/restore endpoints, preserves client IP information safely, and
    honors a custom BACKEND_PORT consistently in nginx, systemd and the backend.
  • Reliable upload retries: transient chunk failures retain staged progress, inactive-upload cleanup
    follows actual activity, checksums are validated before queueing, and repeated completion requests
    reuse the same job instead of trying to rename an already-finalized temporary file.
  • Reproducible builds and releases: local, CI, source-install and release builds use the same locked
    esbuild command; Prisma generation is automatic; release archives include their fully locked runtime
    dependency tree; the built server gets a startup smoke test; and manual releases build the requested
    tag rather than the current branch.

Changed

  • CI and the release preflight now run lint, TypeScript/Vue checks, backend security tests, Go tests,
    formatting/vet checks and production builds. The dependency lock also pins the patched
    brace-expansion release reported by the package audit.

v1.48.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 16:11

Changed

  • Mobile-first frontend pass: crowded navigation now keeps four primary apps and moves the rest
    into an accessible More menu; audit entries, users, containers, Docker networks/volumes, SMB
    connections and mounts become cards instead of horizontally scrolling tables on phones.
  • Accessible dialogs and feedback: dialogs behave as bottom sheets on mobile, trap keyboard
    focus, restore focus when closed and expose dialog semantics. Shared loading, error and empty
    states, clearer focus rings, touch feedback, accessible icon labels and live toast announcements
    make async operations more consistent across the interface.
  • Data backup controls: rsync plans can now be edited, paused and re-enabled from Settings, with
    clearer execution-state badges and responsive action layouts.
  • Frontend polish: form controls have clearer focus feedback, keyboard focus is consistent, and
    mobile cards, headers and action groups have more balanced spacing and touch-friendly layouts.

Fixed

  • Reliable telemetry delivery: a heartbeat that fails while network or DNS is still coming up
    now retries after one hour instead of silently waiting a full day. The HTTPS timeout is increased
    to ten seconds, failures are logged without payload data, and this release forces one corrective
    heartbeat from existing installations.
  • Mobile layout overflow: the bottom navigation now shares the available viewport width instead
    of extending the page, wide dashboard widgets collapse to one column on phones, and settings,
    storage, monitoring, sharing, App Store, audit and backup screens use responsive spacing and
    wrapping. The shell now follows the dynamic mobile viewport and respects safe-area insets.

v1.47.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 15:41

Added

  • Scheduled rsync data backups: administrators can back up NAS folders to local or SSH targets,
    or pull a remote target onto the NAS, manually or on an hourly, daily or weekly schedule. Plans
    support exclusions, compression, bandwidth limits, execution status and an optional mirror mode.
    SSH transfers require a pre-provisioned key and strict host-key verification; HSI stores no SSH
    passwords and invokes rsync without a shell.

v1.46.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 15:09

Added

  • Encrypted configuration backup and restore: administrators can export the complete HSI
    configuration from Settings → Backup & restore, protected with AES-256-GCM and a
    password-derived key. Restores verify the authenticated encryption, SQLite integrity and schema
    compatibility, retain the previous database as a rollback copy, then restart HSI automatically.
    Files stored in Places and Docker volume contents are deliberately excluded.

Fixed

  • Update progress indicators: update, restart and reconnect actions now use HSI's circular
    loading indicator instead of the wedge-shaped inline SVG spinner.

v1.45.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 13:56

Added

  • Restart controls: administrators can now restart the HSI application or reboot the entire
    host from Settings → Updates. Both actions show a reconnect timeline; host reboot requires two
    explicit confirmations, is audited, and is executed only by the privileged root-worker.

v1.44.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 12:48

Fixed

  • Telemetry hardware and version reporting: disk discovery now follows the symbolic links
    exposed by /sys/block, and packaged installations read their version from the installed
    VERSION file instead of reporting v0.0.0. Existing installations send one immediate
    corrective heartbeat after upgrading rather than retaining incomplete data for 24 hours.

v1.44.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 12:28

Added

  • Anonymous telemetry: the backend now sends a best-effort heartbeat at most once per day
    with a random persistent installation ID, the HSI version, Linux distribution, CPU, memory,
    and aggregate disk hardware details. It never sends hostnames, addresses, serial numbers,
    filesystem paths, or user data; failures time out after three seconds without affecting HSI.
    Set HSI_TELEMETRY_ENABLED=false to opt out.

v1.43.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 10:42

Added

  • RAID/SMART alerting: a red dot now appears on the Storage nav entry (sidebar, mobile, and
    desktop-mode Launchpad/Dock) when a RAID array is degraded or a disk's SMART status turns
    warning/failed — checked every 5 minutes in the background, so you don't have to open Storage
    to notice. Rebuilding arrays also show their resync progress percentage.

v1.42.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 10:16

Added

  • Storage admin capability: admins can now grant a non-admin account access to disk/RAID/
    LVM/partition management (a new "Storage admin" toggle on the user's account panel) without
    making them a full administrator. Revoking it takes effect on the account's very next request.

Security

  • Storage safety hardening: formatting a disk or wiping/deleting a partition now refuses if
    the device is a live RAID member or LVM physical volume, closing a path that could silently
    corrupt an array or volume group. Removing an LVM volume group now also refuses if any of its
    logical volumes are still mounted. Mount options are validated more strictly to prevent
    malformed /etc/fstab entries.

v1.41.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 13:06

Added

  • New file action: the file browser can now create an empty file ("New file", next to "New
    folder") from the toolbar or the right-click menu, the same way folders are created.

Fixed

  • One progress bar per upload: an upload's live progress (bar, percentage, speed) now shows
    only in the Transfers tray — it no longer also duplicates as a second live progress bar
    inline in the file list/grid.