From f5c492357ecf42ac35cf028190189e26b3d61299 Mon Sep 17 00:00:00 2001 From: rcourtman Date: Wed, 5 Aug 2026 22:18:52 +0100 Subject: [PATCH] Revert "Prepare v6.2.0-rc.9 release" Restore RC8 release metadata and remove the unpublished RC9 packet after cancelling its release workflow. --- VERSION | 2 +- deploy/helm/pulse/Chart.yaml | 8 +- deploy/helm/pulse/README.md | 2 +- docker-compose.yml | 2 +- docs/RELEASE_NOTES.md | 6 +- docs/UPGRADE_v6.md | 6 +- .../subsystems/deployment-installability.md | 48 +++++------- docs/releases/RELEASE_NOTES_v6.2.0-rc.9.md | 78 ------------------- docs/releases/V6_CHANGELOG_v6.2.0-rc.9.md | 44 ----------- frontend-modern/public/docs/UPGRADE_v6.md | 6 +- scripts/install-docker.sh | 2 +- .../installtests/build_release_assets_test.go | 34 ++++---- .../installtests/install_docker_sh_test.go | 6 +- 13 files changed, 54 insertions(+), 190 deletions(-) delete mode 100644 docs/releases/RELEASE_NOTES_v6.2.0-rc.9.md delete mode 100644 docs/releases/V6_CHANGELOG_v6.2.0-rc.9.md diff --git a/VERSION b/VERSION index 69a7f5eff..db2fae8b7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -6.2.0-rc.9 +6.2.0-rc.8 diff --git a/deploy/helm/pulse/Chart.yaml b/deploy/helm/pulse/Chart.yaml index 5ed3662c4..677312a29 100644 --- a/deploy/helm/pulse/Chart.yaml +++ b/deploy/helm/pulse/Chart.yaml @@ -2,9 +2,9 @@ apiVersion: v2 name: pulse description: Helm chart for deploying the Pulse hub and optional Docker, Kubernetes, or OpenShift monitoring agent. type: application -version: 6.2.0-rc.9 -appVersion: "6.2.0-rc.9" -icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.2.0-rc.9/docs/images/pulse-logo.svg +version: 6.2.0-rc.8 +appVersion: "6.2.0-rc.8" +icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.2.0-rc.8/docs/images/pulse-logo.svg keywords: - monitoring - proxmox @@ -32,7 +32,7 @@ annotations: description: Smoke tests with kind cluster deployment artifacthub.io/links: | - name: Documentation - url: https://github.com/rcourtman/Pulse/blob/v6.2.0-rc.9/docs/KUBERNETES.md + url: https://github.com/rcourtman/Pulse/blob/v6.2.0-rc.8/docs/KUBERNETES.md - name: Support url: https://github.com/rcourtman/Pulse/discussions artifacthub.io/maintainers: | diff --git a/deploy/helm/pulse/README.md b/deploy/helm/pulse/README.md index caf68ba33..a27392fc7 100644 --- a/deploy/helm/pulse/README.md +++ b/deploy/helm/pulse/README.md @@ -1,6 +1,6 @@ # pulse -![Version: 6.2.0-rc.9](https://img.shields.io/badge/Version-6.2.0--rc.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.2.0-rc.9](https://img.shields.io/badge/AppVersion-6.2.0--rc.9-informational?style=flat-square) +![Version: 6.2.0-rc.8](https://img.shields.io/badge/Version-6.2.0--rc.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.2.0-rc.8](https://img.shields.io/badge/AppVersion-6.2.0--rc.8-informational?style=flat-square) Helm chart for deploying the Pulse hub and optional Docker, Kubernetes, or OpenShift monitoring agent. diff --git a/docker-compose.yml b/docker-compose.yml index 0b9290a8d..deb623eb0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.8' services: pulse: - image: ${PULSE_IMAGE:-rcourtman/pulse:6.2.0-rc.9} + image: ${PULSE_IMAGE:-rcourtman/pulse:6.2.0-rc.8} container_name: pulse restart: unless-stopped logging: diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index 93d8dcfda..1e5bf5d6e 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -7,12 +7,10 @@ For historical v4 notes that previously lived in this repo, see: `docs/releases/RELEASE_NOTES_v4.md` For the current v6 support release candidate packet, see: -- `docs/releases/RELEASE_NOTES_v6.2.0-rc.9.md` -- `docs/releases/V6_CHANGELOG_v6.2.0-rc.9.md` - -For historical v6.2 support release candidate packets, see: - `docs/releases/RELEASE_NOTES_v6.2.0-rc.8.md` - `docs/releases/V6_CHANGELOG_v6.2.0-rc.8.md` + +For historical v6.2 support release candidate packets, see: - `docs/releases/RELEASE_NOTES_v6.2.0-rc.7.md` - `docs/releases/V6_CHANGELOG_v6.2.0-rc.7.md` - `docs/releases/RELEASE_NOTES_v6.2.0-rc.6.md` diff --git a/docs/UPGRADE_v6.md b/docs/UPGRADE_v6.md index 982104852..c1f492ff5 100644 --- a/docs/UPGRADE_v6.md +++ b/docs/UPGRADE_v6.md @@ -4,13 +4,11 @@ This guide covers practical upgrade steps for existing Pulse installs moving to For the current v6 support release candidate packet, see: -- `docs/releases/RELEASE_NOTES_v6.2.0-rc.9.md` -- `docs/releases/V6_CHANGELOG_v6.2.0-rc.9.md` +- `docs/releases/RELEASE_NOTES_v6.2.0-rc.8.md` +- `docs/releases/V6_CHANGELOG_v6.2.0-rc.8.md` For historical v6.2 support release candidate packets, see: -- `docs/releases/RELEASE_NOTES_v6.2.0-rc.8.md` -- `docs/releases/V6_CHANGELOG_v6.2.0-rc.8.md` - `docs/releases/RELEASE_NOTES_v6.2.0-rc.7.md` - `docs/releases/V6_CHANGELOG_v6.2.0-rc.7.md` - `docs/releases/RELEASE_NOTES_v6.2.0-rc.6.md` diff --git a/docs/release-control/v6/internal/subsystems/deployment-installability.md b/docs/release-control/v6/internal/subsystems/deployment-installability.md index d9210644c..dd3e0d32d 100644 --- a/docs/release-control/v6/internal/subsystems/deployment-installability.md +++ b/docs/release-control/v6/internal/subsystems/deployment-installability.md @@ -1169,21 +1169,21 @@ host-local redirect contract as runtime token minting and exchange. Proof input must reject absolute, scheme-relative, backslash-authority, encoded-separator, and control-character targets before constructing the handoff request. -The active support prerelease `v6.2.0-rc.9` cut sets the repo-root `VERSION`, +The active support prerelease `v6.2.0-rc.8` cut sets the repo-root `VERSION`, repo-root `docker-compose.yml` image default, `scripts/install-docker.sh` -fallback, and Helm chart release metadata to the same `6.2.0-rc.9` release +fallback, and Helm chart release metadata to the same `6.2.0-rc.8` release version. This support prerelease keeps `rollback_version=v6.1.2`, publishes a versioned public GitHub prerelease plus versioned Docker and Helm artifacts, and does not move stable/latest install pointers or stable semver aliases. Stable install pointers stay on `v6.1.2`, whose active stable cut is recorded below and -continues to govern the stable line until this candidate is promoted. The ninth -`v6.2.0` candidate is an alert-delivery, lifecycle-safety, and read-path -efficiency cut that supersedes `v6.2.0-rc.8`: it restores notification -transport metadata and state continuity, honors disabled grouping, closes -tenant resource stores, completes guest metadata writes before shutdown, and -shares generation-bound resource views. The exact `main` SHA must pass the -integrated release checks and immutable-candidate build before the single-build -workflow crosses its public mutation boundary. +continues to govern the stable line until this candidate is promoted. The +eighth `v6.2.0` candidate is a runtime-resilience and authorization-coherence +cut that supersedes `v6.2.0-rc.7`: it aligns Go memory pressure with cgroup +limits, hardens WebSocket liveness, corrects TrueNAS and Proxmox protection +state, unifies session-admin enforcement, and removes clipping from long +operator surfaces. The exact `main` SHA must pass the integrated release checks +and immutable-candidate build before the single-build workflow crosses its +public mutation boundary. Every release cut, including a prerelease, now gates that mutation boundary on the complete frontend unit suite, frontend type-checking, and a deterministic render smoke against the verified frontend bundle. The smoke must render @@ -1194,18 +1194,13 @@ diagnostics. The same release workflow also executes the generated self-signed and custom-CA Windows installer commands through Windows PowerShell 5.1 before release assembly, so the first HTTPS fetch is release proof rather than a string-shape assertion. -The `v6.2.0-rc.9` server cut is classified +The `v6.2.0-rc.8` server cut is classified `existing-mobile-build-compatible`. The synchronized Pulse Mobile 1.0.0 iOS build 12 and Android versionCode 9 candidates, both using runtime version 2, remain distributed to the existing beta cohort through TestFlight and Play -open testing. The changes since RC8 do not alter mobile relay payloads, pairing, -approvals, authentication, or onboarding contracts; no additional companion -upload or public store rollout is part of RC9. -The preceding `v6.2.0-rc.8` candidate used the same support-prerelease path -with `rollback_version=v6.1.2` and pinned the same four install surfaces to -`6.2.0-rc.8`. It is superseded by this cut and no longer governs the install -pins; its packet stays in `docs/releases/` as the historical candidate record -for the `v6.2.0` line. +open testing. The changes since RC7 do not alter mobile relay payloads, pairing, +approvals, or onboarding contracts; no additional companion upload or public +store rollout is part of RC8. The preceding `v6.2.0-rc.7` candidate used the same support-prerelease path with `rollback_version=v6.1.2` and pinned the same four install surfaces to `6.2.0-rc.7`. It is superseded by this cut and no longer governs the install @@ -1390,20 +1385,19 @@ For the active stable `v6.1.2` cut, the repo-root compose default and `scripts/install-docker.sh` fallback must both pin `6.1.2` whenever the governed `VERSION` is that stable cut. The stable promotion guard remains in force and rejects leftover `-rc.` defaults. -For the active support prerelease `v6.2.0-rc.9` cut, the repo-root compose -default and `scripts/install-docker.sh` fallback must both pin `6.2.0-rc.9` +For the active support prerelease `v6.2.0-rc.8` cut, the repo-root compose +default and `scripts/install-docker.sh` fallback must both pin `6.2.0-rc.8` until the next governed stable cut moves them forward. The stable promotion guard remains in force and must reject leftover `-rc.` defaults when the governed `VERSION` returns to a stable release. Each new candidate on the `v6.2.0` line moves these two pins together with the repo-root `VERSION` and the Helm chart metadata in the same commit; a candidate that leaves any of the four on a superseded `6.2.0-rc.*` value is a release-packet blocker. -The RC9 packet records `d7f8e98912f89b1636066b52e401a32c7245417e` as -the code-backed validation-risk head. That head includes the post-RC8 -notification-delivery, tenant resource lifecycle, guest metadata shutdown, and -resource-read efficiency changes. The CI guardrail alignment and metadata-only -release-preparation commits may be the workflow dispatch head because they do -not change that code-backed release-risk range. +The RC8 packet records `54a312bebd97d7cd79004acff54687755d2ab809` as +the code-backed validation-risk head. That head includes the post-RC7 runtime, +authorization, protection-state, responsive-layout, telemetry, and release +proof changes. The metadata-only release-preparation commit may be the workflow +dispatch head because it does not change that code-backed release-risk range. `internal/updates/` is the live deployment and upgrade planner. It owns deployment-type detection, update-plan generation, adapter selection, server diff --git a/docs/releases/RELEASE_NOTES_v6.2.0-rc.9.md b/docs/releases/RELEASE_NOTES_v6.2.0-rc.9.md deleted file mode 100644 index 6c8c11960..000000000 --- a/docs/releases/RELEASE_NOTES_v6.2.0-rc.9.md +++ /dev/null @@ -1,78 +0,0 @@ -# Pulse v6.2.0-rc.9 Release Notes - -`v6.2.0-rc.9` is a release candidate for the next Pulse v6 minor line. It -follows stable `v6.1.2` and supersedes `v6.2.0-rc.8`. This candidate focuses on -alert-notification correctness, orderly tenant and monitor shutdown, and lower -allocation pressure on frequently read resource views. - -## Highlights - -- Live ntfy alert delivery now preserves the configured title, priority, and - tags, matching the notification test path. -- Saving notification settings no longer drops provider incidents or resets - acknowledgement state, and disabling grouping now delivers queued alerts - individually instead of retaining stale grouped behavior. -- Grouped provider notifications describe every alert in the group rather than - presenting one alert as though it were the whole incident set. -- Tenant offboarding and server shutdown now release per-tenant resource-store - handles, while guest metadata writes are allowed to finish before the monitor - stops. -- Resource APIs reuse per-generation raw and presentation lists, and mock-mode - consumers reuse a versioned unified view between fixture ticks. - -## Fixed - -- Restored ntfy metadata on the live firing path and kept live/test delivery - semantics aligned. -- Preserved non-metric provider incidents and acknowledged alert state across - notification configuration saves. -- Honored `grouping.enabled: false`, flushed pending alerts separately, and - represented all grouped alerts in provider payloads. -- Closed tenant-scoped resource stores during offboarding, replacement, and - shutdown without leaking handles or racing active readers. -- Waited for guest metadata persistence before monitor teardown so accepted - writes are not abandoned during shutdown. -- Replaced repeated registry and mock-fixture rebuilding with generation-bound - shared read views while keeping request-local decoration isolated. - -## Release Qualification - -- The v6 control plane reports all 44 readiness assertions and all 25 release - gates passed for this release-preparation checkpoint. -- Release publication builds and validates one immutable `main` SHA before - creating or publishing the GitHub prerelease, Docker image, Helm chart, and - private Pro packet. -- Notification regression suites cover live ntfy metadata, configuration-save - incident continuity, acknowledgement preservation, disabled grouping, and - multi-alert provider payloads. -- Resource and monitoring regression suites cover per-generation list sharing, - mock-view caching, orderly metadata completion, and resource-store cleanup. - -## Upgrade Notes - -Use the normal v6 install or update flow for `v6.2.0-rc.9` only when you are -comfortable testing an RC. The rollback target is stable `v6.1.2`. - -The exact rollback reinstall command is: - -```bash -./scripts/install.sh --version v6.1.2 -``` - -Existing configurations remain valid and no manual data migration is required. - -This server candidate is compatible with the current Pulse Mobile 1.0.0 beta -candidates. iOS build 12 is distributed through the TestFlight public beta link, -and Android versionCode 9 remains available through Play open testing; both use -runtime version 2. The changes since RC8 do not alter mobile relay payloads, -pairing, approvals, authentication, or onboarding contracts. No public -mobile-store rollout is part of this RC. - -Windows Unified Agent binaries in this candidate keep checksum and -detached-signature verification, but they are not yet Authenticode-signed and -Windows may show an unknown-publisher warning. No unsigned-Windows exception -applies to any `v6.2.0` release. Stable `v6.2.0` must publish Windows agents -through the mandatory SignPath Authenticode path. - -Paid Pulse Pro, Relay, and eligible legacy customers should continue to use the -private download page and private runtime image for paid runtime features. diff --git a/docs/releases/V6_CHANGELOG_v6.2.0-rc.9.md b/docs/releases/V6_CHANGELOG_v6.2.0-rc.9.md deleted file mode 100644 index 5bf5e44c9..000000000 --- a/docs/releases/V6_CHANGELOG_v6.2.0-rc.9.md +++ /dev/null @@ -1,44 +0,0 @@ -# Pulse v6.2.0-rc.9 - -_This changelog describes the changes since `v6.2.0-rc.8`. -`v6.2.0-rc.9` remains a prerelease and rolls back to stable `v6.1.2`._ - -## Improved - -- Shared per-generation resource lists across API requests while preserving - request-local decoration and canonical presentation behavior. -- Cached mock unified views against fixture versions instead of rebuilding - registries for every read between ticks. -- Released per-tenant resource-store handles during offboarding, replacement, - and shutdown. -- Let accepted guest metadata writes complete before monitor shutdown. - -## Fixed - -- Preserved configured ntfy title, priority, and tags on live alert delivery. -- Kept provider incidents and acknowledged state intact across notification - configuration saves. -- Honored disabled alert grouping and flushed queued alerts individually. -- Included every grouped alert in provider notification payloads. -- Replaced two non-discriminating audit telemetry fields with meaningful, - privacy-preserving signals. - -## Release Metadata - -- Version: `v6.2.0-rc.9` -- Previous candidate: `v6.2.0-rc.8` -- Previous stable: `v6.1.2` -- Rollback target: `v6.1.2` -- Rollback command: `./scripts/install.sh --version v6.1.2` -- Promotion path: exact-SHA single-build release candidate from `main`, - published as a support prerelease that does not move stable or latest - install pointers -- Windows signing decision: Authenticode through SignPath is the mandatory - signing backend and no unsigned-Windows exception applies to any `v6.2.0` - release -- Mobile decision: `existing-mobile-build-compatible`; Pulse Mobile 1.0.0 iOS - build 12 is distributed through the TestFlight public beta link and Android - versionCode 9 remains on Play open testing, both using runtime version 2. The - changes since RC8 do not alter mobile relay payloads, pairing, approvals, - authentication, or onboarding contracts. No public store rollout is part of - this candidate diff --git a/frontend-modern/public/docs/UPGRADE_v6.md b/frontend-modern/public/docs/UPGRADE_v6.md index 982104852..c1f492ff5 100644 --- a/frontend-modern/public/docs/UPGRADE_v6.md +++ b/frontend-modern/public/docs/UPGRADE_v6.md @@ -4,13 +4,11 @@ This guide covers practical upgrade steps for existing Pulse installs moving to For the current v6 support release candidate packet, see: -- `docs/releases/RELEASE_NOTES_v6.2.0-rc.9.md` -- `docs/releases/V6_CHANGELOG_v6.2.0-rc.9.md` +- `docs/releases/RELEASE_NOTES_v6.2.0-rc.8.md` +- `docs/releases/V6_CHANGELOG_v6.2.0-rc.8.md` For historical v6.2 support release candidate packets, see: -- `docs/releases/RELEASE_NOTES_v6.2.0-rc.8.md` -- `docs/releases/V6_CHANGELOG_v6.2.0-rc.8.md` - `docs/releases/RELEASE_NOTES_v6.2.0-rc.7.md` - `docs/releases/V6_CHANGELOG_v6.2.0-rc.7.md` - `docs/releases/RELEASE_NOTES_v6.2.0-rc.6.md` diff --git a/scripts/install-docker.sh b/scripts/install-docker.sh index 343343db2..0da414f40 100755 --- a/scripts/install-docker.sh +++ b/scripts/install-docker.sh @@ -6,7 +6,7 @@ set -euo pipefail SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" DOCKER_IMAGE_REPO="${DOCKER_IMAGE_REPO:-rcourtman/pulse}" -CANONICAL_DEFAULT_PULSE_VERSION="6.2.0-rc.9" +CANONICAL_DEFAULT_PULSE_VERSION="6.2.0-rc.8" resolve_default_pulse_version() { if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then diff --git a/scripts/installtests/build_release_assets_test.go b/scripts/installtests/build_release_assets_test.go index a8dd75c90..8b5158edd 100644 --- a/scripts/installtests/build_release_assets_test.go +++ b/scripts/installtests/build_release_assets_test.go @@ -492,14 +492,14 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) { "`v"+version+"` is a release candidate", "## Highlights", "stable `v"+previous+"`", - "supersedes `v6.2.0-rc.8`", - "Live ntfy alert delivery now preserves the configured title, priority, and tags", - "Saving notification settings no longer drops provider incidents or resets acknowledgement state", - "disabling grouping now delivers queued alerts individually", - "Grouped provider notifications describe every alert in the group", - "Tenant offboarding and server shutdown now release per-tenant resource-store handles", - "Resource APIs reuse per-generation raw and presentation lists", - "Notification regression suites cover live ntfy metadata", + "supersedes `v6.2.0-rc.7`", + "aligns the Go runtime memory limit", + "routes now share one session-administrator model", + "TrueNAS completed init containers no longer create permanent critical alerts", + "Large threshold sections and expanded infrastructure tables remain usable", + "Product telemetry now measures content-free adoption counts", + "every successfully read WebSocket frame as client liveness", + "Hardware-related fix claims now require version-bound live-runtime proof", "iOS build 12 is distributed through the TestFlight public beta link", "Android versionCode 9 remains available through Play open testing", "No public mobile-store rollout is part of this RC", @@ -509,17 +509,17 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) { ) assertFileContainsAllNormalized(t, changelogPath, "Version: `v"+version+"`", - "Previous candidate: `v6.2.0-rc.8`", + "Previous candidate: `v6.2.0-rc.7`", "Previous stable: `v"+previous+"`", "Rollback target: `v"+previous+"`", "Promotion path: exact-SHA single-build release candidate from `main`", - "This changelog describes the changes since `v6.2.0-rc.8`", - "Shared per-generation resource lists across API requests", - "Cached mock unified views against fixture versions", - "Released per-tenant resource-store handles", - "Preserved configured ntfy title, priority, and tags", - "Kept provider incidents and acknowledged state intact", - "Honored disabled alert grouping", + "This changelog describes the changes since `v6.2.0-rc.7`", + "Cgroup-aware Go memory-limit configuration", + "Accepted any inbound WebSocket frame as proof of liveness", + "Matched cross-site auto-registration to canonical Proxmox identity", + "Stopped completed TrueNAS init containers from creating permanent critical incidents", + "Corrected authorization and capability parity", + "Removed the structurally inert Patrol autofix telemetry counter", "Windows signing decision: Authenticode through SignPath is the mandatory signing backend", "Mobile decision: `existing-mobile-build-compatible`", "iOS build 12 is distributed through the TestFlight public beta link", @@ -558,7 +558,7 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) { "This support prerelease keeps `rollback_version=v"+previous+"`, publishes a versioned public GitHub prerelease plus versioned Docker and Helm artifacts, and does not move stable/latest install pointers or stable semver aliases.", "For the active support prerelease `v"+version+"` cut, the repo-root compose default and `scripts/install-docker.sh` fallback must both pin `"+version+"` until the next governed stable cut moves them forward.", "The `v"+version+"` server cut is classified `existing-mobile-build-compatible`.", - "The changes since RC8 do not alter mobile relay payloads, pairing, approvals, authentication, or onboarding contracts; no additional companion upload or public store rollout is part of RC9.", + "The changes since RC7 do not alter mobile relay payloads, pairing, approvals, or onboarding contracts; no additional companion upload or public store rollout is part of RC8.", ) } diff --git a/scripts/installtests/install_docker_sh_test.go b/scripts/installtests/install_docker_sh_test.go index c1b1d4e66..c4dcd7e09 100644 --- a/scripts/installtests/install_docker_sh_test.go +++ b/scripts/installtests/install_docker_sh_test.go @@ -133,7 +133,6 @@ func TestPreviousStableForPrereleaseVersionCrossesMinorBoundaries(t *testing.T) {version: "6.2.0-rc.6", want: "6.1.2"}, {version: "6.2.0-rc.7", want: "6.1.2"}, {version: "6.2.0-rc.8", want: "6.1.2"}, - {version: "6.2.0-rc.9", want: "6.1.2"}, } for _, test := range tests { @@ -341,8 +340,7 @@ func TestInstallDockerProofTracksSupportPrereleaseContract(t *testing.T) { assertFileContainsAllNormalized(t, repoFile("docs", "release-control", "v6", "internal", "subsystems", "deployment-installability.md"), "The active support prerelease `v"+version+"` cut sets the repo-root `VERSION`, repo-root `docker-compose.yml` image default, `scripts/install-docker.sh` fallback, and Helm chart release metadata to the same `"+version+"` release version.", "This support prerelease keeps `rollback_version=v"+previous+"`, publishes a versioned public GitHub prerelease plus versioned Docker and Helm artifacts, and does not move stable/latest install pointers or stable semver aliases.", - "is an alert-delivery, lifecycle-safety, and read-path efficiency cut that supersedes `v6.2.0-rc.8`: it restores notification transport metadata and state continuity, honors disabled grouping, closes tenant resource stores, completes guest metadata writes before shutdown, and shares generation-bound resource views", - "The preceding `v6.2.0-rc.8` candidate used the same support-prerelease path with `rollback_version=v6.1.2` and pinned the same four install surfaces to `6.2.0-rc.8`.", + "is a runtime-resilience and authorization-coherence cut that supersedes `v6.2.0-rc.7`: it aligns Go memory pressure with cgroup limits, hardens WebSocket liveness, corrects TrueNAS and Proxmox protection state, unifies session-admin enforcement, and removes clipping from long operator surfaces", "The preceding `v6.2.0-rc.7` candidate used the same support-prerelease path with `rollback_version=v6.1.2` and pinned the same four install surfaces to `6.2.0-rc.7`.", "The preceding `v6.2.0-rc.6` candidate used the same support-prerelease path with `rollback_version=v6.1.2` and pinned the same four install surfaces to `6.2.0-rc.6`.", "The preceding `v6.2.0-rc.5` candidate used the same support-prerelease path with `rollback_version=v6.1.2` and pinned the same four install surfaces to `6.2.0-rc.5`.", @@ -352,7 +350,7 @@ func TestInstallDockerProofTracksSupportPrereleaseContract(t *testing.T) { "The preceding `v6.2.0-rc.1` candidate used the same support-prerelease path with `rollback_version=v6.1.2` and pinned the same four install surfaces to `6.2.0-rc.1`.", "The `v"+version+"` server cut is classified `existing-mobile-build-compatible`.", "Pulse Mobile 1.0.0 iOS build 12 and Android versionCode 9 candidates, both using runtime version 2, remain distributed to the existing beta cohort through TestFlight and Play open testing.", - "The changes since RC8 do not alter mobile relay payloads, pairing, approvals, authentication, or onboarding contracts; no additional companion upload or public store rollout is part of RC9.", + "The changes since RC7 do not alter mobile relay payloads, pairing, approvals, or onboarding contracts; no additional companion upload or public store rollout is part of RC8.", "Authenticode signing through SignPath is the canonical Windows signing backend for the `v6.2.0` line.", "For the active support prerelease `v"+version+"` cut, the repo-root compose default and `scripts/install-docker.sh` fallback must both pin `"+version+"` until the next governed stable cut moves them forward.", )