diff --git a/releases/manifest.json b/releases/manifest.json index f6b09a5f..4b4025a6 100644 --- a/releases/manifest.json +++ b/releases/manifest.json @@ -1,27 +1,38 @@ { - "version": "1.7.42-alpha", - "release_date": "2026-04-22", + "version": "1.7.43-alpha", + "release_date": "2026-04-23", "changelog": [ - "Bitcoin dashboard no longer flickers errors during initial chain sync. When bitcoind is busy validating a fresh block, its RPC thread can block for five to ten seconds \u2014 long enough that the old 10-second client timeout was rejecting roughly 30% of UI calls even on a perfectly healthy node. The RPC client now retries transient timeouts transparently (3 attempts, 500ms + 1500ms backoffs between them) and only surfaces errors that bitcoind itself reported. Calls that used to flash red on the dashboard during sync now just take a second or two longer and return correct data.", - "Connection-refused against bitcoind is still fast-failed \u2014 a genuinely-dead daemon is reported in under a second, so real outages are still surfaced immediately. The retry wrapper only engages on timeouts and transport-level errors, never on well-formed bitcoind error responses, so real RPC bugs are not masked.", - "Stress-tested against a syncing pruned node on live hardware: 20 out of 20 getblockchaininfo calls succeed under load (previously ~60% success), with worst-case latency under 50 seconds during peak IBD catch-up and sub-100ms once blocks are cached." + "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." ], "components": [ { "name": "archipelago", - "current_version": "1.7.41-alpha", - "new_version": "1.7.42-alpha", - "download_url": "https://git.tx1138.com/lfg2025/archy/raw/branch/main/releases/v1.7.42-alpha/archipelago", - "sha256": "5e0b1006546348c888cbbbd93a1002d7cc7006a0018195762f00d84ed6436c9e", - "size_bytes": 41222000 + "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 }, { - "name": "archipelago-frontend-1.7.42-alpha.tar.gz", - "current_version": "1.7.41-alpha", - "new_version": "1.7.42-alpha", - "download_url": "https://git.tx1138.com/lfg2025/archy/raw/branch/main/releases/v1.7.42-alpha/archipelago-frontend-1.7.42-alpha.tar.gz", - "sha256": "8eca3ada91f64b6d34b37950a8b9eb570981b95dd9ab54cd88909deb6acf31b6", - "size_bytes": 162088504 + "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 } ] } diff --git a/releases/v1.7.43-alpha/archipelago b/releases/v1.7.43-alpha/archipelago new file mode 100755 index 00000000..631dcb26 Binary files /dev/null and b/releases/v1.7.43-alpha/archipelago differ diff --git a/releases/v1.7.43-alpha/archipelago-frontend-1.7.43-alpha.tar.gz b/releases/v1.7.43-alpha/archipelago-frontend-1.7.43-alpha.tar.gz new file mode 100644 index 00000000..c13a0901 Binary files /dev/null and b/releases/v1.7.43-alpha/archipelago-frontend-1.7.43-alpha.tar.gz differ