diff --git a/releases/manifest.json b/releases/manifest.json index 4b4025a6..68553b79 100644 --- a/releases/manifest.json +++ b/releases/manifest.json @@ -1,38 +1,32 @@ { - "version": "1.7.43-alpha", - "release_date": "2026-04-23", + "version": "1.7.45-alpha", + "release_date": "2026-04-29", "changelog": [ - "Install, update, and remove now runs asynchronously so the dashboard no longer freezes for 30+ seconds while podman pulls an image.", - "Install progress bar now advances through seven labelled phases (Preparing, Pulling image, Creating container, Starting, Waiting for health, Finalizing, Done) instead of staying at 0% until the very end.", - "Launch button appears the moment an install finishes instead of waiting up to 60 seconds for the next container scan.", - "Retired the dead .23 Hetzner mirror; new nodes default to OVH (146.59.87.168) as Server 1 and tx1138 as Server 2. Existing nodes auto-purge saved .23 entries.", - "Update-available badges and version comparisons work again: the pinned-image catalog is now read from the path the image recipe actually installs.", - "Nodes with a separate data drive are no longer silently configured as pruned Bitcoin nodes. Disk-size check now measures the data partition instead of the OS partition.", - "Failed updates can recover: reconcile-containers.sh gained --create-missing to rebuild any container removed by a partial update, and update.rs uses it in the rollback path.", - "OTA self-updates now refresh reconcile-containers.sh, container-specs.sh, and image-versions.sh alongside the backend and frontend.", - "Container install log is actually written now. Path moved to /var/log/archipelago/container-installs.log with a tmpfiles.d rule to pre-create the directory with the right ownership.", - "Chunked mesh payloads no longer lose their first four bytes. The encoder was overwriting user data with its length header before running forward error correction.", - "Avatar rendering no longer crashes when the seed byte is 182 or higher. Hue and accent colour math now runs in 32-bit space.", - "Outbox messages with a zero-second TTL expire immediately instead of lingering forever.", - "Pinned-image parser rejects entries that are not actual image references, so stray NOT_AN_IMAGE style variables no longer pollute version checks.", - "AI Assistant tab no longer disappears after updates. demo/aiui is bundled into every release tarball and ISO so AIUI is a versioned first-class part of each release rather than loose state on disk that can be wiped by a directory swap." + "Bitcoin RPC authentication is now bulletproof. The credential is rendered to a host file and bind-mounted into bitcoin-ui, so it stays correct across container restart, image update, reboot, or service restart. Replaces the previous fragile post-start patch that failed on tightly-confined containers.", + "Install progress bar now advances through real phases for multi-container apps too. IndeedHub's seven containers, BTCPay's four, Mempool's three, and Immich's three all show Preparing → Pulling image (X of N) → Creating container → Waiting for health → Done — no more sitting at 0% until the very end.", + "Apps no longer disappear from the dashboard mid-install. The container scanner now respects in-flight installs, updates, and removals, and won't evict an app whose containers haven't finished launching.", + "IndeedHub fresh installs no longer crashloop. Five missing environment variables (DATABASE_PORT, QUEUE_HOST, QUEUE_PORT, S3_PRIVATE_BUCKET_NAME, AES_MASTER_SECRET) are now set so the API boots. The node's Nostr signer integration works on fresh installs.", + "Tailscale install no longer fails with 'executable not found'. Container command was a malformed shell string; now a proper command array.", + "Removed three broken catalog entries that hung installs for 10 minutes (dwn, endurain, ollama — no source images in our registries). Nextcloud restored, sourced from docker.io.", + "Bitcoin Core update path uses the correct image name (was looking for nonexistent lfg2025/bitcoin:28.4).", + "New ISO installs now allocate swap (sized to RAM, capped at 8GB, on the encrypted data partition). Without swap, container builds and memory spikes were hitting OOM under load." ], "components": [ { "name": "archipelago", - "current_version": "1.7.43-alpha", - "new_version": "1.7.43-alpha", - "download_url": "https://git.tx1138.com/lfg2025/archy/raw/branch/main/releases/v1.7.43-alpha/archipelago", - "sha256": "e598d8ecdf0d43adbdbcb3f900b635475e5096ed77214adb2b482ad6a52a5c9b", - "size_bytes": 41088992 + "current_version": "1.7.45-alpha", + "new_version": "1.7.45-alpha", + "download_url": "https://git.tx1138.com/lfg2025/archy/raw/branch/main/releases/v1.7.45-alpha/archipelago", + "sha256": "ca1958b0f420cc6e73aa4bc161e20ebe7750e933888368394ad17a3f3a36cfad", + "size_bytes": 41618344 }, { - "name": "archipelago-frontend-1.7.43-alpha.tar.gz", - "current_version": "1.7.43-alpha", - "new_version": "1.7.43-alpha", - "download_url": "https://git.tx1138.com/lfg2025/archy/raw/branch/main/releases/v1.7.43-alpha/archipelago-frontend-1.7.43-alpha.tar.gz", - "sha256": "b51b1b94116d3ecafc2c1216003c757f728bd018cbd0b4226ae76f315415c604", - "size_bytes": 162089687 + "name": "archipelago-frontend-1.7.45-alpha.tar.gz", + "current_version": "1.7.45-alpha", + "new_version": "1.7.45-alpha", + "download_url": "https://git.tx1138.com/lfg2025/archy/raw/branch/main/releases/v1.7.45-alpha/archipelago-frontend-1.7.45-alpha.tar.gz", + "sha256": "59d538768e92a1cd726afd272838dbdd581c87780140792b2818434ef2ae7b81", + "size_bytes": 77025110 } ] } diff --git a/releases/v1.7.45-alpha/archipelago b/releases/v1.7.45-alpha/archipelago new file mode 100755 index 00000000..f455ea1c Binary files /dev/null and b/releases/v1.7.45-alpha/archipelago differ diff --git a/releases/v1.7.45-alpha/archipelago-frontend-1.7.45-alpha.tar.gz b/releases/v1.7.45-alpha/archipelago-frontend-1.7.45-alpha.tar.gz new file mode 100644 index 00000000..783621a8 Binary files /dev/null and b/releases/v1.7.45-alpha/archipelago-frontend-1.7.45-alpha.tar.gz differ