archy/releases/manifest.json
Dorian fd3f5d2701
Some checks failed
Build Archipelago ISO (dev) / build-iso (push) Has been cancelled
release(v1.7.32-alpha): fix frontend tarball layout + mDNS shutdown hang
- HOTFIX: v1.7.31-alpha's frontend tarball was packaged with a
  `neode-ui/` top-level directory instead of the flat layout v1.7.30
  and earlier used. Nodes that applied v1.7.31 ended up with
  `/opt/archipelago/web-ui/neode-ui/index.html` instead of
  `/opt/archipelago/web-ui/index.html`, and nginx returned 403/500.
  v1.7.32's tarball is built with `tar -C web/dist/neode-ui .` so
  files land directly at web-ui root. Broken nodes auto-heal on this
  update (web-ui dir is replaced).
- transport/lan.rs: add Drop impl that calls ServiceDaemon::shutdown()
  on the mdns_sd daemon. Without this the OS thread it spawns, plus
  the blocking `receiver.recv()` task, keep the tokio runtime alive
  past SIGTERM — long enough for systemd's TimeoutStopSec to SIGKILL
  the service and mark it Failed. Was visible on every update:
  "shut down cleanly" logged, then 15s later systemd forcibly kills.
- main.rs: after logging "Archipelago shut down cleanly", call
  `std::process::exit(0)` explicitly. Belt-and-suspenders against
  any future non-daemon thread creeping in (reqwest resolver pool,
  etc.) and causing the same SIGKILL regression.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-22 03:52:22 -04:00

27 lines
1.4 KiB
JSON

{
"version": "1.7.32-alpha",
"release_date": "2026-04-22",
"changelog": [
"Critical fix: the v1.7.31-alpha frontend package shipped with the wrong archive layout, which caused the web UI to return 403/500 after the update landed. v1.7.32-alpha ships the frontend correctly — nodes that got stuck on the 403 page will auto-recover on this update.",
"Shutdown fix: updates no longer briefly show the archipelago service as 'Failed' in systemd. The old version was logging 'shut down cleanly' but leaving a background mDNS thread alive, so systemd would force-kill it 15 seconds later and mark the unit failed. The process now exits promptly after saving its state."
],
"components": [
{
"name": "archipelago",
"current_version": "1.7.31-alpha",
"new_version": "1.7.32-alpha",
"download_url": "https://git.tx1138.com/lfg2025/archy/raw/branch/main/releases/v1.7.32-alpha/archipelago",
"sha256": "f5c0d51a3235b7619ac5b71140abd07b04cc90555205a4c0416c8c8c4a9a4588",
"size_bytes": 40791792
},
{
"name": "archipelago-frontend-1.7.32-alpha.tar.gz",
"current_version": "1.7.31-alpha",
"new_version": "1.7.32-alpha",
"download_url": "https://git.tx1138.com/lfg2025/archy/raw/branch/main/releases/v1.7.32-alpha/archipelago-frontend-1.7.32-alpha.tar.gz",
"sha256": "1eb1deaf479538f0552f395fc1aea67b1a247ddef6bfbf436353ba1997eac1be",
"size_bytes": 77008678
}
]
}