Releases: kittyruntime/home-server-interface
Releases · kittyruntime/home-server-interface
Release list
v1.48.1
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 customBACKEND_PORTconsistently 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-expansionrelease reported by the package audit.
v1.48.0
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
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
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
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
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
VERSIONfile instead of reportingv0.0.0. Existing installations send one immediate
corrective heartbeat after upgrading rather than retaining incomplete data for 24 hours.
v1.44.0
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.
SetHSI_TELEMETRY_ENABLED=falseto opt out.
v1.43.0
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
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/fstabentries.
v1.41.0
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.