Releases: Grailward/agent
Release list
v0.6.0 — Linux & Steam Deck support
- Linux and Steam Deck support. The agent now runs on Linux, including the Steam
Deck's Desktop Mode. On first run it auto-detects your Diablo II: Resurrected saves
folder inside the usual Steam/Proton prefixes (including a prefix on the Deck's
microSD card), Lutris, or a plain Wine install, so you rarely have to pick it by
hand. Native prompts and confirmations use kdialog (KDE) with a zenity (GNOME)
fallback, and "Start with system" registers a standard XDG autostart entry.
Downloads
Binaries are distributed from downloads.grailward.com
(canonical source; nothing is attached to this release):
- macOS (universal): https://downloads.grailward.com/agent/v0.6.0/grailward-agent-macos.zip
- Linux / Steam Deck (amd64): https://downloads.grailward.com/agent/v0.6.0/grailward-agent-linux-amd64
- Windows (amd64): https://downloads.grailward.com/agent/v0.6.0/grailward-agent-windows-amd64.exe
SHA-256 checksums
d977ed4bbf7887af9db430e0315ce1301fefe51a250fb31d9f325ceccb3c5e36 grailward-agent-darwin
4bb8f55d0483278e3a64e15104f077f370b75b1a28293be7fcde228721241695 grailward-agent-macos.zip
776c7ab450a2f71dae8e71d6757fd04b68b53b22539f1a0a7074d33f5ccd89b3 grailward-agent-linux-amd64
29b6cbfcc56e7620eff5d9b8b37332f4d2f35ded1db37ff31d9383db4520922d grailward-agent-windows-amd64.exe
v0.5.2 — Check for updates on demand
- "Check for updates…" in the menu. A new, always-visible menu item lets you
check for a newer version on demand instead of waiting for the periodic check. It
reports the result in a dialog: it offers to update when a newer version is out
(the same confirm-and-apply flow, with the game-open and checksum safeguards),
tells you when you're already on the latest version, or points you to the log when
the check couldn't complete. - Update checks are written to the log. Every check now records one line — up to
date, a newer version found and offered, or skipped on a development build — so a
glance at the log shows whether the last check ran and what it decided. - Native dialogs show the grailward shield. On macOS the dialogs (About, the
token prompt, the pull and update confirmations, and the new update check) now
display the grailward app icon instead of a generic system icon. The saves-folder
picker keeps the standard Finder chooser, which has no icon slot. - Handles macOS "translocation" gracefully. When macOS runs the app from a
temporary read-only location (which happens when you open it straight from the
download without moving it first), the agent now detects this and asks you to move
Grailward Agent to your Applications folder — instead of failing an update or
registering a broken "Start with system" entry that points at a path that
disappears on the next launch.
Downloads
Binaries are distributed from downloads.grailward.com
(canonical source; nothing is attached to this release):
- macOS (universal): https://downloads.grailward.com/agent/v0.5.2/grailward-agent-macos.zip
- Windows (amd64): https://downloads.grailward.com/agent/v0.5.2/grailward-agent-windows-amd64.exe
SHA-256 checksums
d91ad248105846d6be78f53bfa349fe3b5b5c220bb3cdc88df183113ddd008c8 grailward-agent-darwin
2e6ed42dd25b62f5ab46c7310b59eae7882f8825d8c25a61c0b1768404b8fd27 grailward-agent-macos.zip
07a589848624a19941b6c9dfd6086af5eba3310823473a90933ad97dea0533a5 grailward-agent-windows-amd64.exe
v0.5.1 — preference logging, Login Items fix
- Preference changes are written to the log. Turning Start with system on
or off, switching sync mode, changing the poll interval, and toggling map-
exploration sync each record one line in the agent log — so the log is a complete
audit trail of what changed and when. The "Start with system" line now names the
exact login item it created (or removed). - macOS Login Items attribution. The macOS login item now advertises the app it
belongs to, which helps macOS associate the entry in Login Items & Extensions
with Grailward Agent. Older login items are refreshed automatically on the next
start.
Downloads
Binaries are distributed from downloads.grailward.com
(canonical source; nothing is attached to this release):
- macOS (universal): https://downloads.grailward.com/agent/v0.5.1/grailward-agent-macos.zip
- Windows (amd64): https://downloads.grailward.com/agent/v0.5.1/grailward-agent-windows-amd64.exe
SHA-256 checksums
251ff63aaf84cc0152879639911d072f1df5888a3491b9606854d098328c0f09 grailward-agent-darwin
6a3386c7a568586fef5d9b854ad735f55ad640c579c65b66ffb0f28fe1f853b4 grailward-agent-macos.zip
805d3d45e6197325a741cc027e1c3eb17db98b534e45c99b5ad15d27130928ab grailward-agent-windows-amd64.exe
v0.5.0 — automatic updates, Start with system
- Automatic updates. The agent now checks for a newer version on startup and
every few hours. When one is out, a Update to vX.Y.Z… item appears in the
menu — no pop-ups, no red icon. Choose it and, after a confirmation, the agent
downloads the new build, verifies its SHA-256 checksum, replaces itself and
restarts. It never updates while Diablo II: Resurrected is running, keeps the
previous version as a one-time backup, and a failed download or checksum mismatch
is reported as Update failed — see log without touching your saves. Update
checks are silent when they fail — an update hiccup is never shown as a sync
error. - Transfer activity indicator. While the agent is actively sending or
receiving a save (or its map-exploration files), the menu-bar / tray icon shows
a circle of arrows, distinct from the steady "watching" icon — so an in-progress
transfer reads differently from the idle watch state at a glance. It shows only
for real transfers: a routine folder scan that finds nothing to sync never
flickers it, and an error still wins (the icon returns to red when a transfer
ends on a failure). - Start with system. A new tray toggle, Start with system (off by
default), launches the agent automatically when you log in — a per-user login
item on both macOS and Windows, needing no administrator privileges. If the app
is later moved or replaced by an update, it repairs the login item on the next
start; turning the toggle off removes it.
Downloads
Binaries are distributed from downloads.grailward.com
(canonical source; nothing is attached to this release):
- macOS (universal): https://downloads.grailward.com/agent/v0.5.0/grailward-agent-macos.zip
- Windows (amd64): https://downloads.grailward.com/agent/v0.5.0/grailward-agent-windows-amd64.exe
SHA-256 checksums
27217fc2a728211a278d8b83856f255abbb158587ce39bbb7bb967f9cf877be7 grailward-agent-darwin
6304a8b4a3bf519a554f42d2a6c6e247cd1ef71eb6dfda6e7876c41650caae1d grailward-agent-macos.zip
931e40abcd242dafe3f30546471c9fa7676d34200acfda98aee1ba4855624703 grailward-agent-windows-amd64.exe
v0.4.1 — sticky sync errors, game-guard fix
- Sync errors now stay visible. A failed download — the sync manifest, a save
pull, or map-reveal files — turns the tray red and keeps it red until that same
operation succeeds. Routine healthy scans no longer clear the error silently,
and a failure on one character is never masked by another character syncing
fine right after. With several pending errors the tooltip shows a count
("N pending sync errors — see log"). - Every applied pull now writes a log line with the file's short checksum, so
repeated pulls of the same character are always visible in the log (previously
an identical success line could be deduplicated away). - macOS: the "game open" write guard now matches the real game process
(D2R.exe) and ignores leftover CrossOver/Wine engine processes that could
block writes unnecessarily. Writes are still refused whenever a real game
session looks active.
Downloads
Binaries are distributed from downloads.grailward.com
(canonical source; nothing is attached to this release):
- macOS (universal): https://downloads.grailward.com/agent/v0.4.1/grailward-agent-macos.zip
- Windows (amd64): https://downloads.grailward.com/agent/v0.4.1/grailward-agent-windows-amd64.exe
SHA-256 checksums
19c86e00f8db4f661d8a75c243e19dc5b2ac56cc48ac8b7dd7b6a4fcd25d2668 grailward-agent-darwin
22329c8078f56b89c41222ffe776bdb4e50b049abe7085f09c553afc3fc8fd07 grailward-agent-macos.zip
b1c15cb8d9195ef28dec5c19795b87e4445294e79cc89ee188e5c325da748631 grailward-agent-windows-amd64.exe
v0.4.0
- Map exploration sync. The fog-of-war "reveal" files that Diablo II:
Resurrected keeps beside each character save (<Name>.mapand<Name>.ma0…)
now travel between your machines along with the character. A new tray toggle,
Sync map exploration (on by default), governs the whole trail — turn it off
and no map file is ever sent, downloaded, or written. - The map files ride the character save: they are pushed right after a successful
.d2supload and pulled right after a.d2sis written in two-way mode. They
are not a save — losing a slice only re-reveals a bit of map — so there is no
conflict dialog: the server copy wins (last-writer-wins), and reveal files are
never versioned. A push that fails is retried silently on the next scan and
never holds up the save upload. - Same safety discipline as saves for every map write: filenames from the server
are strictly sanitized (only<character>.map/<character>.ma<digit>),
payloads are SHA-256-verified, the previous file is backed up first, writes are
atomic, and nothing is written while a game session looks active..key/.ctl
files stay out of scope entirely.
Downloads
Binaries are distributed from downloads.grailward.com
(canonical source; nothing is attached to this release):
- macOS (universal): https://downloads.grailward.com/agent/v0.4.0/grailward-agent-macos.zip
- Windows (amd64): https://downloads.grailward.com/agent/v0.4.0/grailward-agent-windows-amd64.exe
SHA-256 checksums
6ef302741bbd24bb9ed4b0717e98187b853a0a25df00f7702b6a0a939afa3268 grailward-agent-darwin
4342f174c2c6afd80dd4e7c540b33fd2cac1464d3cbd6b7e9c2627e39b51588d grailward-agent-macos.zip
7a76b2ab45da59f2fe5a109c3ea20401e03eaa7ba0fdb92a301fef1bfb409aca grailward-agent-windows-amd64.exe
v0.3.2 — file icons, Change folder
- Embedded file icons: the Windows
.exenow carries the grailward shield as a PE icon resource (plus version metadata in file properties), and the macOS.appbundle ships an.icns— no more generic file icons in Explorer/Finder. - Tray menu regrouped: Reset token and About Grailward Agent share one section, and Saves folder became a submenu with Open folder and Change folder — the latter re-points the watcher at a different folder live, without restarting the app or re-running setup.
Downloads
- macOS: https://downloads.grailward.com/agent/v0.3.2/grailward-agent-macos.zip
- Windows: https://downloads.grailward.com/agent/v0.3.2/grailward-agent-windows-amd64.exe
SHA-256
d6592a2345412da938e818e10a06b71615bc5d0cf14b05c58e3e7317962d7c55 grailward-agent-darwin
874dbd9d92e47808428cbcddfee2aa634f57b316174c8e7d5bbb40a879c44184 grailward-agent-macos.zip
5f29cbb29a94a36e71abbc73df4a4bb386d8158560828df3db0130aabe1975eb grailward-agent-windows-amd64.exe
v0.3.1 — Windows fixes, About
- Fixed: empty
agent.logon Windows. The log tee wrote to stderr first, and a windowed (no-console) Windows binary has a dead stderr handle, which starved the file writer — the log file stayed empty. The file now comes first and stderr is best-effort; the log is also armed before configuration loads, so setup errors are diagnosable on a GUI-only app. - Fixed: blank tray icon on Windows. The Win32 tray requires ICO-format icons; the agent now wraps its PNG icons in an ICO container on Windows (macOS/Linux unchanged).
- New About Grailward Agent menu item: version, server, saves folder, sync mode, config/log location.
- The tray tooltip now shows the agent version.
Downloads
- macOS: https://downloads.grailward.com/agent/v0.3.1/grailward-agent-macos.zip
- Windows: https://downloads.grailward.com/agent/v0.3.1/grailward-agent-windows-amd64.exe
SHA-256
4880795663feb37e6e28b718893e59ef0419bdb521d7dd6bc7fb22478da15438 grailward-agent-darwin
8e92c3cda1c0a0b80db32d60b4e3f10e6c73c8d896bd23048a7b5b8fb36b42f8 grailward-agent-macos.zip
d96eaf54d967468cb53c6e90813686d9630df16ec6c18bb9e18c96ed7086e17a grailward-agent-windows-amd64.exe
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
v0.2.1 — tray app, log noise fix
- Fixed
agent.logspam: a per-file status line is logged only when it changes (a persistent condition logs once instead of flooding every scan). - First version with this public source mirror.
Downloads
Binaries are distributed at grailward.com/download (canonical: downloads.grailward.com, immutable versioned paths).
- macOS: https://downloads.grailward.com/agent/v0.2.1/grailward-agent-macos.zip
- Windows: https://downloads.grailward.com/agent/v0.2.1/grailward-agent-windows-amd64.exe
SHA-256
62f84741ef82dfdd04a322b037b9371e1b21256c094c84dbbb684d33a02bf6ea grailward-agent-darwin
8a8e16d40a3b68e342f31dd588f3d1f0e78c193e1eb572174e088325b5b63175 grailward-agent-macos.zip
d786f522df1b6e2cf192757f4ae6e246ebfc6c83af670bba24e7e37edd53b87e grailward-agent-windows-amd64.exe