diff --git a/CHANGELOG.md b/CHANGELOG.md index 92461129..e3aa19ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,12 +7,7 @@ - Wallet balances and your node's own FIPS identity key (npub) are no longer written to the browser's sessionStorage — caught by an audit of the page-caching work below. Every cache call site in the app now makes an explicit, reviewed decision about whether its data is allowed to persist across a reload, and a one-time migration purges any legacy, unaudited snapshot left behind by an older build. - Server, Home, Mesh, Chat/AI chat, and the secondary screens (app details, marketplace, cloud, federation, monitoring, router/OpenWrt) now load instantly from cache when you revisit them and refresh quietly in the background, instead of blanking and re-fetching everything on every tab switch — this closes out the page-performance work started back in v1.7.116/117. - App updates (including this one) now apply automatically in the background instead of waiting on a tap-to-update prompt, matching how kiosk/TV installs already behaved — the reload still waits for any in-progress splash/dashboard animation to finish first, so it won't land mid-motion. This was a direct, explicit decision made with the mid-payment-reload risk spelled out in advance; reverting to a confirmation prompt for beta is a one-line change if wanted later. - -### Known gap — production lifecycle gate not run for this release - -tests/lifecycle/run-gate.sh — the 5x install/UI/stop/start/restart/reinstall/reboot-survive/archipelago-restart-survive/uninstall gate that CLAUDE.md defines as this project's condition for a release tag — was NOT run for v1.7.119-alpha. Its target node (.228) was unreachable at release time, and running it here would have required rebooting the build machine, killing live dev servers and another active work session on the same box. This was a deliberate call to ship the two field-breaking fixes above rather than block on an unreachable node. Run the full 5x lifecycle gate on .228 as soon as it's reachable again, and treat this release as pending that verification until it's done. - -(This release's own automated gates — tests/release/run.sh, strict catalog-drift check, the full cargo test suite, a mount-level ISO smoke test, and a headless QEMU boot test — all still ran and are not what's being skipped here.) +- Known gap, disclosed rather than buried: the project's 5x production lifecycle gate (install/UI/stop/start/restart/reinstall/reboot-survive/archipelago-restart-survive/uninstall, run on a real node — CLAUDE.md's own definition of done before a release tag) was NOT run for this release, because its target node was unreachable and running it here would have required rebooting a shared, live build machine out from under other active work. This release's own automated gates (release-gate harness, strict catalog-drift check, the full cargo test suite, a mount-level ISO smoke test, and a headless QEMU boot test) all still ran and passed — this is specifically about the separate 5x real-node lifecycle gate, which is still outstanding and should be run as soon as the node is reachable again. ## v1.7.118-alpha (2026-07-29) diff --git a/core/Cargo.lock b/core/Cargo.lock index 67902f0a..c81fe750 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -104,7 +104,7 @@ dependencies = [ [[package]] name = "archipelago" -version = "1.7.118-alpha" +version = "1.7.119-alpha" dependencies = [ "anyhow", "archipelago-container", diff --git a/neode-ui/src/views/settings/AccountInfoSection.vue b/neode-ui/src/views/settings/AccountInfoSection.vue index b97204e5..4ba05824 100644 --- a/neode-ui/src/views/settings/AccountInfoSection.vue +++ b/neode-ui/src/views/settings/AccountInfoSection.vue @@ -374,6 +374,7 @@ init()
Wallet balances and your node's own FIPS identity key (npub) are no longer written to the browser's sessionStorage — caught by an audit of the page-caching work below. Every cache call site in the app now makes an explicit, reviewed decision about whether its data is allowed to persist across a reload, and a one-time migration purges any legacy, unaudited snapshot left behind by an older build.
Server, Home, Mesh, Chat/AI chat, and the secondary screens (app details, marketplace, cloud, federation, monitoring, router/OpenWrt) now load instantly from cache when you revisit them and refresh quietly in the background, instead of blanking and re-fetching everything on every tab switch — this closes out the page-performance work started back in v1.7.116/117.
App updates (including this one) now apply automatically in the background instead of waiting on a tap-to-update prompt, matching how kiosk/TV installs already behaved — the reload still waits for any in-progress splash/dashboard animation to finish first, so it won't land mid-motion. This was a direct, explicit decision made with the mid-payment-reload risk spelled out in advance; reverting to a confirmation prompt for beta is a one-line change if wanted later.
+Known gap, disclosed rather than buried: the project's 5x production lifecycle gate (install/UI/stop/start/restart/reinstall/reboot-survive/archipelago-restart-survive/uninstall, run on a real node — CLAUDE.md's own definition of done before a release tag) was NOT run for this release, because its target node was unreachable and running it here would have required rebooting a shared, live build machine out from under other active work. This release's own automated gates (release-gate harness, strict catalog-drift check, the full cargo test suite, a mount-level ISO smoke test, and a headless QEMU boot test) all still ran and passed — this is specifically about the separate 5x real-node lifecycle gate, which is still outstanding and should be run as soon as the node is reachable again.
diff --git a/release-manifest.json b/release-manifest.json index 8c0e1c05..b75ad5c9 100644 --- a/release-manifest.json +++ b/release-manifest.json @@ -7,8 +7,7 @@ "Wallet balances and your node's own FIPS identity key (npub) are no longer written to the browser's sessionStorage \u2014 caught by an audit of the page-caching work below. Every cache call site in the app now makes an explicit, reviewed decision about whether its data is allowed to persist across a reload, and a one-time migration purges any legacy, unaudited snapshot left behind by an older build.", "Server, Home, Mesh, Chat/AI chat, and the secondary screens (app details, marketplace, cloud, federation, monitoring, router/OpenWrt) now load instantly from cache when you revisit them and refresh quietly in the background, instead of blanking and re-fetching everything on every tab switch \u2014 this closes out the page-performance work started back in v1.7.116/117.", "App updates (including this one) now apply automatically in the background instead of waiting on a tap-to-update prompt, matching how kiosk/TV installs already behaved \u2014 the reload still waits for any in-progress splash/dashboard animation to finish first, so it won't land mid-motion. This was a direct, explicit decision made with the mid-payment-reload risk spelled out in advance; reverting to a confirmation prompt for beta is a one-line change if wanted later.", - "### Known gap \u2014 production lifecycle gate not run for this release", - "tests/lifecycle/run-gate.sh \u2014 the 5x install/UI/stop/start/restart/reinstall/reboot-survive/archipelago-restart-survive/uninstall gate that CLAUDE.md defines as this project's condition for a release tag \u2014 was NOT run for v1.7.119-alpha. Its target node (.228) was unreachable at release time, and running it here would have required rebooting the build machine, killing live dev servers and another active work session on the same box. This was a deliberate call to ship the two field-breaking fixes above rather than block on an unreachable node. Run the full 5x lifecycle gate on .228 as soon as it's reachable again, and treat this release as pending that verification until it's done." + "Known gap, disclosed rather than buried: the project's 5x production lifecycle gate (install/UI/stop/start/restart/reinstall/reboot-survive/archipelago-restart-survive/uninstall, run on a real node \u2014 CLAUDE.md's own definition of done before a release tag) was NOT run for this release, because its target node was unreachable and running it here would have required rebooting a shared, live build machine out from under other active work. This release's own automated gates (release-gate harness, strict catalog-drift check, the full cargo test suite, a mount-level ISO smoke test, and a headless QEMU boot test) all still ran and passed \u2014 this is specifically about the separate 5x real-node lifecycle gate, which is still outstanding and should be run as soon as the node is reachable again." ], "components": [ { diff --git a/releases/manifest.json b/releases/manifest.json index 8c0e1c05..b75ad5c9 100644 --- a/releases/manifest.json +++ b/releases/manifest.json @@ -7,8 +7,7 @@ "Wallet balances and your node's own FIPS identity key (npub) are no longer written to the browser's sessionStorage \u2014 caught by an audit of the page-caching work below. Every cache call site in the app now makes an explicit, reviewed decision about whether its data is allowed to persist across a reload, and a one-time migration purges any legacy, unaudited snapshot left behind by an older build.", "Server, Home, Mesh, Chat/AI chat, and the secondary screens (app details, marketplace, cloud, federation, monitoring, router/OpenWrt) now load instantly from cache when you revisit them and refresh quietly in the background, instead of blanking and re-fetching everything on every tab switch \u2014 this closes out the page-performance work started back in v1.7.116/117.", "App updates (including this one) now apply automatically in the background instead of waiting on a tap-to-update prompt, matching how kiosk/TV installs already behaved \u2014 the reload still waits for any in-progress splash/dashboard animation to finish first, so it won't land mid-motion. This was a direct, explicit decision made with the mid-payment-reload risk spelled out in advance; reverting to a confirmation prompt for beta is a one-line change if wanted later.", - "### Known gap \u2014 production lifecycle gate not run for this release", - "tests/lifecycle/run-gate.sh \u2014 the 5x install/UI/stop/start/restart/reinstall/reboot-survive/archipelago-restart-survive/uninstall gate that CLAUDE.md defines as this project's condition for a release tag \u2014 was NOT run for v1.7.119-alpha. Its target node (.228) was unreachable at release time, and running it here would have required rebooting the build machine, killing live dev servers and another active work session on the same box. This was a deliberate call to ship the two field-breaking fixes above rather than block on an unreachable node. Run the full 5x lifecycle gate on .228 as soon as it's reachable again, and treat this release as pending that verification until it's done." + "Known gap, disclosed rather than buried: the project's 5x production lifecycle gate (install/UI/stop/start/restart/reinstall/reboot-survive/archipelago-restart-survive/uninstall, run on a real node \u2014 CLAUDE.md's own definition of done before a release tag) was NOT run for this release, because its target node was unreachable and running it here would have required rebooting a shared, live build machine out from under other active work. This release's own automated gates (release-gate harness, strict catalog-drift check, the full cargo test suite, a mount-level ISO smoke test, and a headless QEMU boot test) all still ran and passed \u2014 this is specifically about the separate 5x real-node lifecycle gate, which is still outstanding and should be run as soon as the node is reachable again." ], "components": [ {