1.8.0 (2026-05-31)
- restore: pre-fill save folder for cloud-only games on a fresh device (6258c10)
1.7.3 (2026-04-21)
- auth: reduce launch to a single keychain prompt (0490fe4)
1.7.2 (2026-04-18)
- oauth: localize callback page and fix UTF-8 rendering (7349735)
1.7.1 (2026-04-16)
- tauri: enforce single instance on desktop (3ead2bb)
1.7.0 (2026-04-12)
1.6.0 (2026-04-12)
- display platform badge (Steam, GOG, Epic) on game cards (04f36d8)
1.5.2 (2026-04-12)
- resolve clippy warnings for idiomatic Option methods and is_multiple_of (428ceb5)
1.5.1 (2026-04-12)
- remove registry key detection that showed false "registry only" badges (38e89e1)
1.5.0 (2026-04-12)
- rename uuid_v4 to temp_id with atomic counter, validate content-length on download (e44ef99)
- resume partial downloads via Range header and safe backoff_for(0) (5bf7fe4)
- stream restore downloads and extraction through Rust (a315f2c)
1.4.2 (2026-04-09)
1.4.1 (2026-04-06)
- deduplicate files from overlapping save paths before zipping (a386536)
1.4.0 (2026-04-06)
- delete temp file only after upload succeeds, deduplicate resolve_files (08a1f35)
- stream large saves instead of loading everything into memory (1366561)
- surface error details in toasts, sync history, and log file (e68773d)
1.3.3 (2026-04-06)
1.3.2 (2026-04-06)
1.3.1 (2026-04-06)
- use resumable upload, dedup nested saves, normalize Windows paths (d26a250)
1.3.0 (2026-04-06)
- guard Epic matching behind Steam/GOG install check (23659a5)
- add Epic Games Store detection (c229892)
1.2.0 (2026-04-06)
- bump manifest size limit, defer etag save until parse succeeds (cf249a2)
- drop serde(flatten) _rest field from ManifestEntry (d04e12f)
- extract isRegistryOnly util, reuse HTTP client, fix quadratic placeholder replace (e99d231)
- harden manifest download, resolve, and alias logic (b5545ab)
- harden manifest merge, resolve placeholders, and flag registry-only games (b1ad516)
- remove unused tags field from FileEntryMeta (58231a4)
- add registry path support and secondary manifest detection (6e4197e)
- implement ludusavi manifest compliance (base, when, aliases, etag) (8f9d687)
1.1.3 (2026-04-05)
1.1.2 (2026-04-04)
1.1.1 (2026-04-04)
- clamp zip entry indices for cross-platform restore (7a81e51)
- detect sync conflicts when no prior sync exists on device (e7b8871)
1.1.0 (2026-04-04)
1.0.10 (2026-04-04)
1.0.9 (2026-04-04)
1.0.8 (2026-04-02)
1.0.7 (2026-04-02)
1.0.6 (2026-04-02)
1.0.5 (2026-04-01)
1.0.4 (2026-03-31)
1.0.3 (2026-03-31)
- add contents write permission to release workflow (a8bc078)
1.0.2 (2026-03-31)
- ensure v prefix on tag when dispatching release build (1009686)
1.0.1 (2026-03-31)
- include Cargo.lock in semantic-release version sync (73ba342)
- add missing i18n keys for manual game feature and fix virtualizer scroll ref (c2baa70)
- add workflow_dispatch trigger to release workflow (08baae0)
- autosync bugs, i18n notifications, disable sync when unchanged, hide WIP autosync UI (a851809)
- autosync bugs, i18n notifications, disable sync when unchanged, remove wip autosync (81e9f12)
- cancel stale queries before optimistic update on cloud-only restore (65aea88)
- consolidate keychain into single entry (53d3120)
- consolidate keychain into single entry and read tokens from in-memory store (8930982)
- exclude system folders from backed-up game names (e1f241b)
- guard conflict check against double-click, preserve hash on restore, clean up nits (775ef24)
- harden cross-device sync — race conditions, query injection, type safety (47f4592)
- pin lodash-es to 4.17.21 to fix broken 4.18.0 release (4576165)
- preserve watch state of filtered-out games in batch toggle (d0dc51c)
- remove duplicate steps key in release workflow (f27b990)
- remove duplicate steps/env block from merge (50c0810)
- toggle macOS dock visibility when window is shown or hidden (f943f52)
- trigger release build via workflow_dispatch after semantic-release (8edcbaf)
- validate ensureDevicesFolder cache against Drive, move deleteGameBackup to operations (bf7672c)
- widen CSP img-src to allow all Steam CDN subdomains (a40f352)
- widen CSP img-src to allow all Steam CDN subdomains (eb542ad)
- add auto-updater with Tauri updater plugin (#21) (ea18ee3)
- add autostart toggle and rework global watch to batch per-game state (0b71c71)
- add content-hash conflict detection for sync and restore (bdb3a59)
- add content-hash conflict detection for sync and restore (a854a3b)
- add coverage reporting, ESLint, husky pre-commit, and reach 90% test coverage (#9) (12acb53)
- add delete backup from cloud with confirmation dialog (#10) (5c4a85c)
- add device ID, centralized devices.json, and relative-path hashing for cross-device manual game sync (383934a)
- add device ID, centralized devices.json, and relative-path hashing for cross-device manual game sync (b4ca5bd)
- add platform detection and fix Steam Cloud badge accuracy (ee4325a)
- add platform detection and fix Steam Cloud badge accuracy (d3955e9)
- add semantic-release for automated versioning and changelog (997d2e1)
- add semantic-release for automated versioning and changelog (0ced72c)
- add sonner toast component (#19) (9d1d155)
- add Steam header banners to game cards (65d50bc)
- add Steam header banners to game cards (7be66f2)
- add toggle to hide/show Steam Cloud games in game list (#14) (49e3c33)
- cache ludusavi manifest locally and add secondary manifest sources (#8) (6bf571d)
- initial project setup (a3600f9)
- manual game path adding with native folder picker (78cc4ac)
- manual game path adding with native folder picker (eb5ecef)
- multi-disk scanning, UX improvements, and code quality pass (c379db1)
- per-game auto-sync, notifications, and localized path detection (f03d484)
- per-game auto-sync, notifications, and localized path detection (2f559fa)
- replace app icons with new QSave branding (023d3bd)
- replace app icons with new QSave branding (db2cda8)
- resolve placeholder as wildcard to detect more game saves (#13) (7b3bc6e)
- restore from cloud, remove game confirmation, and project restructure (b0b28c4)
- restore from cloud, remove game confirmation, and project restructure (23cb545)
- show cloud-only games for cross-device restore (#12) (#12) (3714d8e)
- add missing i18n keys for manual game feature and fix virtualizer scroll ref (c2baa70)
- autosync bugs, i18n notifications, disable sync when unchanged, hide WIP autosync UI (a851809)
- autosync bugs, i18n notifications, disable sync when unchanged, remove wip autosync (81e9f12)
- cancel stale queries before optimistic update on cloud-only restore (65aea88)
- consolidate keychain into single entry (53d3120)
- consolidate keychain into single entry and read tokens from in-memory store (8930982)
- exclude system folders from backed-up game names (e1f241b)
- guard conflict check against double-click, preserve hash on restore, clean up nits (775ef24)
- harden cross-device sync — race conditions, query injection, type safety (47f4592)
- pin lodash-es to 4.17.21 to fix broken 4.18.0 release (4576165)
- preserve watch state of filtered-out games in batch toggle (d0dc51c)
- toggle macOS dock visibility when window is shown or hidden (f943f52)
- validate ensureDevicesFolder cache against Drive, move deleteGameBackup to operations (bf7672c)
- widen CSP img-src to allow all Steam CDN subdomains (a40f352)
- widen CSP img-src to allow all Steam CDN subdomains (eb542ad)
- add auto-updater with Tauri updater plugin (#21) (ea18ee3)
- add autostart toggle and rework global watch to batch per-game state (0b71c71)
- add content-hash conflict detection for sync and restore (bdb3a59)
- add content-hash conflict detection for sync and restore (a854a3b)
- add coverage reporting, ESLint, husky pre-commit, and reach 90% test coverage (#9) (12acb53)
- add delete backup from cloud with confirmation dialog (#10) (5c4a85c)
- add device ID, centralized devices.json, and relative-path hashing for cross-device manual game sync (383934a)
- add device ID, centralized devices.json, and relative-path hashing for cross-device manual game sync (b4ca5bd)
- add platform detection and fix Steam Cloud badge accuracy (ee4325a)
- add platform detection and fix Steam Cloud badge accuracy (d3955e9)
- add semantic-release for automated versioning and changelog (997d2e1)
- add semantic-release for automated versioning and changelog (0ced72c)
- add sonner toast component (#19) (9d1d155)
- add Steam header banners to game cards (65d50bc)
- add Steam header banners to game cards (7be66f2)
- add toggle to hide/show Steam Cloud games in game list (#14) (49e3c33)
- cache ludusavi manifest locally and add secondary manifest sources (#8) (6bf571d)
- initial project setup (a3600f9)
- manual game path adding with native folder picker (78cc4ac)
- manual game path adding with native folder picker (eb5ecef)
- multi-disk scanning, UX improvements, and code quality pass (c379db1)
- per-game auto-sync, notifications, and localized path detection (f03d484)
- per-game auto-sync, notifications, and localized path detection (2f559fa)
- replace app icons with new QSave branding (023d3bd)
- replace app icons with new QSave branding (db2cda8)
- resolve placeholder as wildcard to detect more game saves (#13) (7b3bc6e)
- restore from cloud, remove game confirmation, and project restructure (b0b28c4)
- restore from cloud, remove game confirmation, and project restructure (23cb545)
- show cloud-only games for cross-device restore (#12) (#12) (3714d8e)