v0.3.0 — two-way sync (opt-in)
- Two-way sync (opt-in). For players who use more than one machine: when the server has a newer save (you played elsewhere), the agent offers to pull it and write it to your saves folder. Push-only remains the default and never writes.
- Every write requires explicit confirmation — offers appear at startup, when switching the mode to Two-way, and via the new Pull latest now menu item. A periodic check (~5 min) only signals (menu label shows a count); it never writes.
- Safety model: your current local file is guaranteed in the account history before any overwrite (in a conflict it is uploaded first, as a backup that does not become the server's current version); a local backup copy is kept; writes are atomic (temp file + rename) and SHA-256-verified against the server manifest; filenames from the server are strictly sanitized; the agent never deletes files.
- Conflict resolution dialog (Keep local / Use server / Skip) when both the local file and the server changed since the last sync — no version is ever lost.
- Best-effort game-detection guard: the agent refuses to write while Diablo II: Resurrected appears to be running or the saves folder shows recent activity.
- New protocol endpoints:
GET /api/v1/sync(account manifest) and per-save current-version downloads; uploads gained an optionalset_currentflag for backup-only ingestion. See the README's protocol section.
Downloads
- macOS: https://downloads.grailward.com/agent/v0.3.0/grailward-agent-macos.zip
- Windows: https://downloads.grailward.com/agent/v0.3.0/grailward-agent-windows-amd64.exe
SHA-256
c9674c375bc8be908174b6eccb9874f0440ce072e4d5a491657e85b3310e9cf9 grailward-agent-darwin
5ff76db6f3daed053eb4e4dbbc64f9fd742611e09ad407f97de7a6be00fb8819 grailward-agent-macos.zip
4e66bb7d6cea793ffbe4228646194ed6dedc774d8a60ed9e7e9fa2e7dc276b68 grailward-agent-windows-amd64.exe