Prepare v6.3.0-rc.1 release

This commit is contained in:
rcourtman
2026-08-17 22:04:54 +01:00
parent ba90475e59
commit 2c59fb742e
13 changed files with 61 additions and 61 deletions
+1 -1
View File
@@ -1 +1 @@
6.2.2-rc.3
6.3.0-rc.1
+4 -4
View File
@@ -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.2-rc.3
appVersion: "6.2.2-rc.3"
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.2.2-rc.3/docs/images/pulse-logo.svg
version: 6.3.0-rc.1
appVersion: "6.3.0-rc.1"
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.3.0-rc.1/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.2-rc.3/docs/KUBERNETES.md
url: https://github.com/rcourtman/Pulse/blob/v6.3.0-rc.1/docs/KUBERNETES.md
- name: Support
url: https://github.com/rcourtman/Pulse/discussions
artifacthub.io/maintainers: |
+1 -1
View File
@@ -1,6 +1,6 @@
# pulse
![Version: 6.2.2-rc.3](https://img.shields.io/badge/Version-6.2.2--rc.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.2.2-rc.3](https://img.shields.io/badge/AppVersion-6.2.2--rc.3-informational?style=flat-square)
![Version: 6.3.0-rc.1](https://img.shields.io/badge/Version-6.3.0--rc.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.3.0-rc.1](https://img.shields.io/badge/AppVersion-6.3.0--rc.1-informational?style=flat-square)
Helm chart for deploying the Pulse hub and optional Docker, Kubernetes, or OpenShift monitoring agent.
+1 -1
View File
@@ -2,7 +2,7 @@ version: '3.8'
services:
pulse:
image: ${PULSE_IMAGE:-rcourtman/pulse:6.2.2-rc.3}
image: ${PULSE_IMAGE:-rcourtman/pulse:6.3.0-rc.1}
container_name: pulse
restart: unless-stopped
logging:
+3 -3
View File
@@ -6,9 +6,9 @@ Pulse release notes live on GitHub:
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.2-rc.3.md`
- `docs/releases/V6_CHANGELOG_v6.2.2-rc.3.md`
For the current v6 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.3.0-rc.1.md`
- `docs/releases/V6_CHANGELOG_v6.3.0-rc.1.md`
For the current stable v6 packet, see:
- `docs/releases/RELEASE_NOTES_v6.2.1.md`
+3 -3
View File
@@ -2,10 +2,10 @@
This guide covers practical upgrade steps for existing Pulse installs moving to v6.
For the current v6 support release candidate packet, see:
For the current v6 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.2.2-rc.3.md`
- `docs/releases/V6_CHANGELOG_v6.2.2-rc.3.md`
- `docs/releases/RELEASE_NOTES_v6.3.0-rc.1.md`
- `docs/releases/V6_CHANGELOG_v6.3.0-rc.1.md`
For the current stable v6 packet, see:
@@ -1447,25 +1447,25 @@ 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 active support prerelease `v6.2.2-rc.3` cut sets the repo-root `VERSION`,
The active prerelease `v6.3.0-rc.1` 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.2-rc.3` release
version. It follows stable `v6.2.1`, supersedes `v6.2.2-rc.2`, uses
fallback, and Helm chart release metadata to the same `6.3.0-rc.1` release
version. It follows stable `v6.2.1`, opens the 6.3 candidate line, uses
`rollback_version=v6.2.1`, and keeps stable/latest pointers on `v6.2.1`. This
candidate retains the complete earlier packet and adds durable scoped Patrol
candidate establishes the new minor-release packet with durable scoped Patrol
objectives, validated read-only observers, verified work receipts, agent action
preflight with stable refusal codes, large-estate response improvements, and
monitoring correctness fixes. Subscription-backed Patrol turns also bound
command cleanup after an idle deadline so descendant-held output pipes cannot
extend the caller-owned stall budget. The changes since `v6.2.2-rc.2` do not require a
extend the caller-owned stall budget. The changes since `v6.2.1` do not require a
Pulse Mobile client change and preserve the existing mobile, Relay, onboarding,
and mobile-facing API contracts, so the server cut is classified
`no-mobile-impact`; no companion upload or public mobile-store rollout is part
of this candidate.
The prerelease Windows path retains exact-SHA, checksum, and detached-signature
verification without Authenticode; stable `v6.2.2` restores mandatory SignPath
verification without Authenticode; stable `v6.3.0` restores mandatory SignPath
signing unless a new version-bound decision is recorded.
This support prerelease keeps `rollback_version=v6.2.1`, publishes a versioned
This prerelease keeps `rollback_version=v6.2.1`, publishes a versioned
public GitHub prerelease plus versioned Docker and Helm artifacts, and does not
move stable/latest install pointers or stable semver aliases.
@@ -1738,8 +1738,8 @@ 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.2-rc.3` cut, the repo-root compose
default and `scripts/install-docker.sh` fallback must both pin `6.2.2-rc.3`
For the active prerelease `v6.3.0-rc.1` cut, the repo-root compose default and
`scripts/install-docker.sh` fallback must both pin `6.3.0-rc.1`
until the next governed stable cut moves them forward. Each new release moves
these two pins together with the repo-root `VERSION` and the Helm chart metadata
in the same commit; a cut that leaves any of the four on a superseded value is a
@@ -1,10 +1,9 @@
# Pulse v6.2.2-rc.3 Release Notes
# Pulse v6.3.0-rc.1 Release Notes
`v6.2.2-rc.3` is a release candidate for the next Pulse v6 patch. It follows
stable `v6.2.1` and supersedes `v6.2.2-rc.2`. This candidate includes the
complete earlier packet and introduces the Patrol v2 operating model, guarded
agent action preflight, large-estate response improvements, and monitoring
correctness fixes.
`v6.3.0-rc.1` is a release candidate for the next Pulse v6 minor release and
the first candidate in the 6.3 line. It follows stable `v6.2.1` and introduces
the Patrol v2 operating model, guarded agent action preflight, large-estate
response improvements, and monitoring correctness fixes.
## Highlights
@@ -73,7 +72,7 @@ correctness fixes.
## Upgrade Notes
Use the normal v6 install or update flow for `v6.2.2-rc.3` only when you are
Use the normal v6 install or update flow for `v6.3.0-rc.1` only when you are
comfortable testing a release candidate. The rollback target is `v6.2.1`.
The exact rollback reinstall command is:
@@ -82,14 +81,14 @@ The exact rollback reinstall command is:
./scripts/install.sh --version v6.2.1
```
The changes since `v6.2.2-rc.2` do not require a Pulse Mobile client change and
The changes since `v6.2.1` do not require a Pulse Mobile client change and
preserve the existing mobile, Relay, onboarding, and mobile-facing API
contracts. No companion mobile build upload or public mobile-store rollout is
part of this candidate.
Windows Unified Agent binaries in this prerelease retain exact-SHA, checksum,
and detached-signature verification but are not Authenticode-signed, so Windows
may display an Unknown Publisher warning. Stable `v6.2.2` still requires the
may display an Unknown Publisher warning. Stable `v6.3.0` still requires the
normal SignPath Authenticode lane unless a separate version-bound owner decision
is recorded.
@@ -1,7 +1,7 @@
# Pulse v6.2.2-rc.3
# Pulse v6.3.0-rc.1
_This changelog describes the changes since `v6.2.2-rc.2`.
`v6.2.2-rc.3` remains a prerelease and rolls back to stable `v6.2.1`._
_This changelog describes the changes since `v6.2.1`.
`v6.3.0-rc.1` is a prerelease and rolls back to stable `v6.2.1`._
## Added
@@ -50,8 +50,8 @@ _This changelog describes the changes since `v6.2.2-rc.2`.
## Release Metadata
- Version: `v6.2.2-rc.3`
- Previous candidate: `v6.2.2-rc.2`
- Version: `v6.3.0-rc.1`
- Previous release: `v6.2.1`
- Previous stable: `v6.2.1`
- Rollback target: `v6.2.1`
- Rollback command: `./scripts/install.sh --version v6.2.1`
@@ -59,7 +59,7 @@ _This changelog describes the changes since `v6.2.2-rc.2`.
published as a support prerelease without moving stable or latest pointers
- Windows signing decision: the standing prerelease path publishes exact-SHA,
checksum, and detached-signature verified Windows agents without
Authenticode; stable `v6.2.2` restores mandatory SignPath signing
- Mobile decision: `no-mobile-impact`; changes since `v6.2.2-rc.2` preserve the
Authenticode; stable `v6.3.0` restores mandatory SignPath signing
- Mobile decision: `no-mobile-impact`; changes since `v6.2.1` preserve the
existing mobile, Relay, onboarding, and mobile-facing API contracts, and no
companion upload or public store rollout is required
+3 -3
View File
@@ -2,10 +2,10 @@
This guide covers practical upgrade steps for existing Pulse installs moving to v6.
For the current v6 support release candidate packet, see:
For the current v6 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.2.2-rc.3.md`
- `docs/releases/V6_CHANGELOG_v6.2.2-rc.3.md`
- `docs/releases/RELEASE_NOTES_v6.3.0-rc.1.md`
- `docs/releases/V6_CHANGELOG_v6.3.0-rc.1.md`
For the current stable v6 packet, see:
+1 -1
View File
@@ -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.2-rc.3"
CANONICAL_DEFAULT_PULSE_VERSION="6.3.0-rc.1"
resolve_default_pulse_version() {
if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then
@@ -628,7 +628,7 @@ func TestCurrentStableMinorReleasePacketTracksInstallMetadata(t *testing.T) {
)
}
func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
func TestCurrentPrereleasePacketTracksInstallMetadata(t *testing.T) {
version := currentReleaseVersion(t)
if !isPrereleaseVersion(version) {
t.Skip("current release is stable")
@@ -641,9 +641,9 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
if !ok {
t.Fatalf("current prerelease %q has no stable target", version)
}
previousCandidate, ok := previousPrereleaseVersion(version)
comparisonVersion, ok := previousPrereleaseVersion(version)
if !ok {
t.Fatalf("current support prerelease %q has no previous candidate", version)
comparisonVersion = previous
}
releaseNotesPath := repoFile("docs", "releases", "RELEASE_NOTES_v"+version+".md")
@@ -658,7 +658,7 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
"Action refusal telemetry now classifies target changes, prerequisites, contract failures",
"Subscription-backed turns now complete their idle timeout promptly",
"The rollback target is `v"+previous+"`",
"The changes since `v"+previousCandidate+"` do not require a Pulse Mobile client change",
"The changes since `v"+comparisonVersion+"` do not require a Pulse Mobile client change",
"preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts",
"Windows Unified Agent binaries in this prerelease retain exact-SHA, checksum, and detached-signature verification but are not Authenticode-signed",
"Stable `v"+stableTarget+"` still requires the normal SignPath Authenticode lane",
@@ -669,24 +669,24 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
"Previous stable: `v"+previous+"`",
"Rollback target: `v"+previous+"`",
"Promotion path: exact-SHA single-build release candidate from `main`",
"This changelog describes the changes since `v"+previousCandidate+"`",
"This changelog describes the changes since `v"+comparisonVersion+"`",
"Durable, scoped Patrol objectives and validated read-only observer missions",
"Typed Unified Agent action preflight for supported host and Docker operations",
"Stable pre-mutation refusal codes and fleet telemetry buckets",
"Windows signing decision: the standing prerelease path publishes exact-SHA, checksum, and detached-signature verified Windows agents without Authenticode; stable `v"+stableTarget+"` restores mandatory SignPath signing",
"Mobile decision: `no-mobile-impact`",
"changes since `v"+previousCandidate+"` preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts",
"changes since `v"+comparisonVersion+"` preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts",
"no companion upload or public store rollout is required",
)
assertFileContainsAll(t, repoFile("docs", "RELEASE_NOTES.md"),
"docs/releases/RELEASE_NOTES_v"+version+".md",
"docs/releases/V6_CHANGELOG_v"+version+".md",
"current v6 support release candidate packet",
"current v6 release candidate packet",
)
assertFileContainsAll(t, repoFile("docs", "UPGRADE_v6.md"),
"docs/releases/RELEASE_NOTES_v"+version+".md",
"docs/releases/V6_CHANGELOG_v"+version+".md",
"current v6 support release candidate packet",
"current v6 release candidate packet",
)
assertFileContainsAll(t, repoFile("deploy", "helm", "pulse", "Chart.yaml"),
"version: "+version,
@@ -706,10 +706,10 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
`CANONICAL_DEFAULT_PULSE_VERSION="`+version+`"`,
)
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.",
"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 changes since `v"+previousCandidate+"` do not require a Pulse Mobile client change and preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts, so the server cut is classified `no-mobile-impact`; no companion upload or public mobile-store rollout is part of this candidate.",
"The active 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 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 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 changes since `v"+comparisonVersion+"` do not require a Pulse Mobile client change and preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts, so the server cut is classified `no-mobile-impact`; no companion upload or public mobile-store rollout is part of this candidate.",
"The prerelease Windows path retains exact-SHA, checksum, and detached-signature verification without Authenticode; stable `v"+stableTarget+"` restores mandatory SignPath signing unless a new version-bound decision is recorded.",
)
}
@@ -139,6 +139,7 @@ func TestPreviousStableForPrereleaseVersionCrossesMinorBoundaries(t *testing.T)
{version: "6.2.2-rc.1", want: "6.2.1"},
{version: "6.2.2-rc.2", want: "6.2.1"},
{version: "6.2.2-rc.3", want: "6.2.1"},
{version: "6.3.0-rc.1", want: "6.2.1"},
}
for _, test := range tests {
@@ -336,7 +337,7 @@ func TestInstallDockerProofTracksStableMinorContract(t *testing.T) {
)
}
func TestInstallDockerProofTracksSupportPrereleaseContract(t *testing.T) {
func TestInstallDockerProofTracksPrereleaseContract(t *testing.T) {
version := currentReleaseVersion(t)
if !isPrereleaseVersion(version) {
t.Skip("current release is stable")
@@ -349,17 +350,17 @@ func TestInstallDockerProofTracksSupportPrereleaseContract(t *testing.T) {
if !ok {
t.Fatalf("current prerelease %q has no stable target", version)
}
previousCandidate, ok := previousPrereleaseVersion(version)
comparisonVersion, ok := previousPrereleaseVersion(version)
if !ok {
t.Fatalf("current support prerelease %q has no previous candidate", version)
comparisonVersion = previous
}
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.",
"The changes since `v"+previousCandidate+"` do not require a Pulse Mobile client change and preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts, so the server cut is classified `no-mobile-impact`; no companion upload or public mobile-store rollout is part of this candidate.",
"The active 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 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.",
"The changes since `v"+comparisonVersion+"` do not require a Pulse Mobile client change and preserve the existing mobile, Relay, onboarding, and mobile-facing API contracts, so the server cut is classified `no-mobile-impact`; no companion upload or public mobile-store rollout is part of this candidate.",
"The prerelease Windows path retains exact-SHA, checksum, and detached-signature verification without Authenticode; stable `v"+stableTarget+"` restores mandatory SignPath signing unless a new version-bound decision is recorded.",
"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.",
"For the active 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.",
)
}