Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog

## Unreleased
## 0.9.0 — 2026-09-07

### Added

Expand All @@ -25,6 +25,8 @@

### Fixed

- A queued dashboard selection event no longer crashes during shutdown after
its widgets have been removed. Normal startup selection is unchanged.
- A busy writer no longer drops an automatic game-close backup. Deferred backup
requests survive restart and retry before uploads; their health warning stays
visible until a regular backup succeeds. Paused/removed games are rechecked
Expand All @@ -49,6 +51,17 @@
then use `gsg retry` or dashboard **u** to revalidate it; new healthy snapshots
can still upload while historical snapshots are blocked.

### Upgrade notes

- Quit older watcher processes before upgrading, then restart `gsg auto` or
`gsg watch` so every process uses the new writer lock. Automatic retries need
a watcher running; `gsg retry` and dashboard **u** also work on demand.
- Existing save records migrate automatically without changing your cloud
settings or inventing historical upload timestamps. Older uploads may show
"not recorded" for their upload time until a new upload completes.
- Pending or blocked snapshots can temporarily exceed `max_versions`. Their
files and history are retained so an outage cannot prune an unsent save.

## 0.8.4 — 2026-09-07

### Added
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "game-save-genie"
version = "0.8.4"
version = "0.9.0"
description = "Self-hosted cloud save sync for the games that don't have it - auto-backup, versioning, and cross-machine restore built on Ludusavi + rclone"
readme = "README.md"
license = {text = "MIT"}
Expand Down
2 changes: 1 addition & 1 deletion src/game_save_genie/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""Game Save Genie - Self-hosted cloud save sync for games."""

__version__ = "0.8.4"
__version__ = "0.9.0"