Releases: Justin-147/safevault
Release list
SafeVault v1.1.9
SafeVault v1.1.9
SafeVault v1.1.9 adds an explicit, safety-preserving automatic cleanup policy
for local recovery history. The default retention window is now 7 days.
What Changed
- Recovery Home Storage includes the retention period, automatic-cleanup
switch, cleanup preview, and latest cleanup result. - Automatic cleanup runs at most once per day after the user explicitly enables
it withENABLE AUTO CLEANUP. - Existing installations that still use the former untouched 90-day default
show 7 days after upgrading, but deletion remains disabled until confirmed. - External scheduled backups continue to keep the latest 7 timestamped archives
plus thesafevault-latestcopy.
Safety Boundaries
Automatic cleanup removes only versions that are both older than the configured
window and superseded by a newer recoverable version. It preserves:
- every file's latest restorable content, including deleted files;
- all history inside the retention window;
- important restore points and AI change restore points;
- content objects that are still referenced by any retained version.
The cleanup engine refuses direct deletion without explicit authorization.
Object-store symlinks and non-regular paths are skipped.
Upgrade Notes
Install SafeVaultSetup.exe over v1.1.8, then open Recovery Home → Storage.
Review the cleanup preview, select Enable daily automatic cleanup, enter
ENABLE AUTO CLEANUP, and save. The first authorized cleanup runs in the
background; later runs occur at most once per day.
Existing protected folders, the latest recoverable version of each file,
external backup archives, storage location, and startup choices remain intact.
SafeVault v1.1.8
SafeVault v1.1.8
SafeVault v1.1.8 fixes tray menu actions that could start local UI processes
without opening Recovery Home or Recent Deleted in the browser.
What Was Fixed
- Tray readiness checks now use a lightweight authenticated
/healthendpoint
instead of repeatedly loading the full database-backed dashboard. Open SafeVaultreuses the active local UI session once it is ready.Recent Deletedopens the authenticated/deletedpage without creating
additional UI processes while a slow dashboard request is still running.- On Windows, SafeVault falls back to the system default URL handler when
Python's browser launcher reports failure.
Root Cause
The tray previously polled the full Recovery Home page every 200 milliseconds
while waiting for a new local UI process. Dashboard rendering performs database
and status work. When those requests exceeded the short readiness timeout, they
continued running in the UI process, while the tray treated the session as
unavailable. Repeated menu clicks could therefore start more UI processes and
never reach the browser-open step.
The new health endpoint verifies the per-session token but performs no vault or
database work, so readiness checks complete quickly without exposing protected
file information.
Upgrade Notes
Windows users should install the new SafeVaultSetup.exe over v1.1.7. Existing
protected folders, recovery history, backup archives, storage location, Startup
choice, and storage budget remain unchanged.
After upgrading, restart SafeVault or restart Windows so the tray process uses
v1.1.8. The installer may close running SafeVault processes during the upgrade.
No protected files, recovery records, or content objects are modified by this
fix.
SafeVault v1.1.7
SafeVault v1.1.7
SafeVault v1.1.7 fixes tray menu actions that could appear to do nothing after
the local UI session token was replaced by a second UI process that failed to
bind port 8765.
What Was Fixed
- The UI now checks that its requested port is available before it replaces the
registered session file. - A failed UI launch can no longer overwrite the token belonging to an already
running Recovery Home process. - When the registered session is stale and the default port is occupied, the
tray selects the next available local port, such as 8766. Open SafeVaultopens Recovery Home with the active session token.Recent Deletednow opens the/deletedpage directly instead of opening the
home page.
Root Cause
A failed second UI launch wrote a fresh token to ui-session.json before
Uvicorn attempted to bind the requested port. When that bind failed because an
older UI already owned port 8765, the tray retained the unusable token and the
running UI correctly returned HTTP 403 for subsequent menu clicks.
Upgrade Notes
Windows users should install the new SafeVaultSetup.exe over v1.1.6. Existing
protected folders, recovery history, backup archives, storage location, Startup
choice, and storage budget remain unchanged.
After upgrading, restart SafeVault or restart Windows so the tray process uses
the new version. No protected files, recovery records, or content objects are
modified by this fix.
SafeVault v1.1.6
SafeVault v1.1.6
SafeVault v1.1.6 fixes two issues that could make a newly deleted file appear
to be missing from Recovery Home: the Recent Deleted page did not refresh while
open, and it displayed stored UTC timestamps without converting them to the
user's local time zone.
What Was Fixed
- Recent Deleted now refreshes automatically every five seconds.
- Deletion timestamps are converted in the browser to the computer's local time
zone. The page also displays the UTC offset and IANA time-zone name used. - A temporary SQLite busy or locked error no longer escapes the delete watcher
callback and terminates watchdog's observer thread. - The watcher retries the database write once. If the database remains busy,
the scheduled snapshot safely reconciles the deletion later. - The live Recent Deleted JSON endpoint uses the same UI access-token protection
as the rest of Recovery Home.
User Impact
On a computer configured for Beijing time, a deletion stored as
2026-07-13T14:12:36+00:00 is now displayed as 2026-07-13 22:12:36 with a
UTC+08:00 time-zone label. Files deleted after the page opens appear without a
manual refresh.
Upgrade Notes
Windows users should install the new SafeVaultSetup.exe over v1.1.5. Existing
protected folders, recovery history, backup archives, storage location, Startup
choice, and storage budget remain unchanged.
The upgrade does not delete or rewrite existing recovery history or content
objects. Deletion records already stored in UTC are only converted for display.
SafeVault v1.1.5
SafeVault v1.1.5
SafeVault v1.1.5 fixes an Internal Server Error that could appear when deleting
the SafeVault history for a large protected folder from Recovery Home.
What Was Fixed
- Added the missing SQLite foreign-key indexes used during protected-root
history removal. - History removal now obtains the write lock before deleting related records
and waits briefly for an active watcher write to finish. - A failed deletion transaction is rolled back completely.
- Database busy and deletion failures are displayed as readable Recovery Home
messages instead of a raw Internal Server Error page.
Performance
The affected operation repeatedly scanned remaining version and event rows for
every deleted record. On a copy of a real vault containing about 6,700 files and
versions, the same history removal fell from about 82 seconds to about 4 seconds
after the new indexes were applied.
The index migration runs automatically when v1.1.5 first opens an existing
vault. It does not delete or rewrite stored content objects.
Upgrade Notes
Windows users should install the new SafeVaultSetup.exe over v1.1.4. Existing
protected folders, recovery history, backup archives, storage location, Startup
choice, and storage budget remain unchanged.
After upgrading, retry Delete History from Protect Folders. The original folder
and its files are never deleted by this action; only SafeVault's recovery history
for the selected root is removed after confirmation.
SafeVault v1.1.4
SafeVault v1.1.4
SafeVault v1.1.4 makes protected-folder and external-backup cleanup available
directly in Recovery Home. It does not change the object-store format or delete
original files from protected folders.
Highlights
- Protect Folders now shows Stop Protection and Delete History actions directly
in each folder row. - Delete History presents the number of file records, versions, and recovery
points that will be removed, followed by a normal confirmation dialog. Users
no longer need to type a root ID or full path. - Backup Management lists SafeVault-created external backup archives, including
file size and modification time. - Individual external backup archives can be deleted from the UI.
- Automatic backup can be stopped while keeping existing archives.
Safety
- Stopping protection preserves all existing recovery history.
- Deleting history removes SafeVault metadata for the selected root but never
modifies or deletes the original protected folder. - Backup deletion is restricted to regular SafeVault archive files directly
inside the configured external backup directory. Path traversal, symlinks,
missing files, and unrelated files are rejected. - Unreferenced object-store content is not silently removed. It remains subject
to the separate, explicit cleanup workflow.
Upgrade Notes
Windows users can install the new SafeVaultSetup.exe over an existing version.
Protected folders, recovery history, backup configuration, storage location,
Startup choice, and storage budget remain unchanged.
After upgrading, open Recovery Home and use Protect Folders to stop protection
or preview history removal. Open Backup Management to review external archives.
Every destructive action still requires an explicit confirmation.
Known Limits
- Smart retention remains planning/dry-run only and does not automatically
delete referenced version history. - Removing a root's history makes that history unavailable for recovery, but
physical object-store space is reclaimed only by the separate cleanup action.
SafeVault v1.1.3
SafeVault v1.1.3
SafeVault v1.1.3 is a focused Recovery Home reliability and usability release.
It does not change the object-store format or delete existing recovery history.
Highlights
- Recent Deleted and Recent Modified refresh automatically every five seconds.
- Newly detected deletions appear with a one-click Restore action without a
manual page refresh. - Dashboard timestamps are displayed in the user's local time.
- Advanced navigation uses clearer names and hover explanations.
- Pytest temporary directories are ignored by default to prevent development
test artifacts from entering recovery history.
Upgrade Notes
Windows users can install the new SafeVaultSetup.exe over an existing version.
The existing data-location pointer, protected folders, recovery history, Startup
choice, and storage budget remain unchanged. Existing history is not cleaned
automatically.
After upgrading, leave Recovery Home open and delete a previously captured test
file from a protected folder. It should appear in Recent Deleted within about
five seconds. SafeVault can restore only content captured before deletion.
Known Limits
- A file created and deleted before the watcher captures its content may not be
recoverable. - The 10 GB setting is a soft budget; it does not silently delete history.
- Existing test/build entries already stored by older versions remain until the
user deliberately removes the corresponding history and prunes unreferenced
objects.
SafeVault v1.1.2
SafeVault v1.1.2
SafeVault v1.1.2 improves the Windows upgrade experience for users who already
have recovery data on the system drive.
Changes
- Fresh installations still provide an editable recovery-data location picker
and recommendD:\SafeVaultDatawhen a D drive is available. - When existing SafeVault data is detected, Setup now shows a bilingual
explanation page instead of a disabled folder field. - After upgrading an existing installation, Setup opens Recovery Home directly
on Storage management. - Storage migration continues to stop background protection, check available
space, copy the SQLite database and object store, verify objects, and switch
locations atomically. The old copy is removed only after explicit selection
and confirmation.
Upgrade Notes
Run SafeVaultSetup.exe normally. If Setup reports an existing vault, continue
the upgrade without manually moving .safevault. When Storage management opens,
choose an empty directory on a non-system drive, select removal of the old copy
only if C-drive space must be reclaimed, enter MOVE STORAGE, and wait until the
migration status is complete.
Closing the browser does not cancel the background migration. Do not delete the
old folder yourself while migration is running.
SafeVault v1.1.1 (superseded - use v1.1.2)
SafeVault v1.1.1
SafeVault v1.1.1 is a Windows installer hotfix.
Fixed
- The storage-location setup page now obtains the user profile through Inno
Setup's supported{%USERPROFILE}environment-variable constant. - v1.1.0 incorrectly used
{userprofile}, which caused setup to stop with
Internal error: Unknown constant "userprofile"before installation. - A regression assertion now prevents the unsupported constant from returning.
Upgrade Notes
The v1.1.0 application code and release assets were not installed when this
error appeared. Download and run SafeVaultSetup.exe from v1.1.1. Existing
SafeVault recovery data is not changed by the failed installer attempt.
SafeVault v1.1.0 (superseded - use v1.1.2)
SafeVault v1.1.0
SafeVault v1.1.0 is a storage-safety release for Windows and source installs.
It prevents recovery data from silently defaulting to a large system-drive
vault and gives existing users a verified migration path.
Highlights
- The Windows installer asks for the recovery-data location and recommends a
non-system drive when available. - First-run onboarding exposes the same location and a 10 GB target.
- Recovery Home includes a Storage page with actual use, free space, minimum
latest-version estimates by protected root, and the largest tracked files. - Existing data can be moved with copy, SQLite backup, object verification,
atomic location switching, and optional confirmed source cleanup. - New CLI commands:
safevault storage status,analyze,budget, and
migrate. - Runtime process logs no longer hold the movable vault directory open on
Windows.
Important Storage Semantics
The 10 GB value is a soft target. SafeVault never deletes the final restorable
version of a file to force the vault below that number. If the selected files'
latest recoverable content already exceeds the target, reduce the protected
scope or remove replaceable large data from protection.
Migration does not compress or discard history; it moves the same verified data
to another drive. Reclaiming the original drive requires selecting old-copy
removal and typing MOVE STORAGE.
Upgrade Notes
Existing installations continue using their current data location and existing
configured budget. Open Recovery Home, choose Storage, analyze the current
minimum, then migrate to an empty folder on another disk. Do not manually move
or delete .safevault.