What's new in v0.2.2
A big sync overhaul: per-game RetroArch saves, real hash-based sync statuses, PSP folder selection, game names on the server, and the Android app finally published.
Features
- RetroArch: one entry per game (Vita app + desktop Hub). Save and savestate files sharing a ROM name are grouped together, so Mario on SNES and Fire Emblem on GBA sync independently — no more whole-folder uploads mixing every game, config, and BIOS file together.
- Sync status that means something. The cloud tab now compares canonical content hashes and shows Upload / Download / Conflict (with a choice of direction on conflict) instead of just "exists locally / exists in cloud". Backups from older versions carry no hash and fall back to the previous behavior until a new backup is made.
- PSP Triangle menu with backup, backup + upload to server, and delete-local-backups actions.
- Select Folders in the PSP menu to exclude DLC/install data from backups (Monster Hunter quests, Peace Walker installs, Dissidia replays). Newly appearing folders stay included by default.
- Server backups named by game: folders are stored as
ULJM05800 - Monster Hunter Portable 3rdusing the title from PARAM.SFO, and the cloud list shows the stored title for saves you no longer have locally. - Android: the Save Sync Hub APK is attached to releases for the first time.
Bug fixes
- Cloud restores for PSP/RetroArch now auto-back up the live save before overwriting it (previously extracted straight into SAVEDATA with no safety net).
- Auto-backups can no longer be mistaken for the newest save and offered back up to the server after a restore.
- RetroArch savestates (
.state1-9,.state.auto) are included in backups — they were silently skipped before. - Save Sync Hub no longer shows a blank white window on affected Linux systems (WebKitGTK DMA-BUF workaround).
- Backing up "Mario" no longer reuses the "Mario Kart" backup folder.
- Save ids containing spaces or
#are percent-encoded in server URLs.
CI
- Android APK is attached to GitHub releases. Note: this release's APK is debug-signed (no signing secrets configured yet) — it installs fine, but a future properly signed release will require uninstalling it first.
- The server Docker image is published automatically on pushes to
main.
Upgrade notes
- Redeploy the server container (
docker compose pull && docker compose up -d) to get folder naming and content hashes. - Old whole-folder RetroArch backups (
RETROARCH,RETROARCH_savefiles) stay visible as cloud-only entries; make fresh backups with this version to get per-game entries.