Prepare v6.0.5 RC3 release packet

Refs #1535
This commit is contained in:
rcourtman 2026-07-07 16:48:12 +01:00
parent eb99d7a6b3
commit 0ff922ca16
12 changed files with 120 additions and 19 deletions

View file

@ -1 +1 @@
6.0.5-rc.2
6.0.5-rc.3

View file

@ -2,9 +2,9 @@ apiVersion: v2
name: pulse
description: Helm chart for deploying the Pulse hub and optional Docker monitoring agent.
type: application
version: 6.0.5-rc.2
appVersion: "6.0.5-rc.2"
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.0.5-rc.2/docs/images/pulse-logo.svg
version: 6.0.5-rc.3
appVersion: "6.0.5-rc.3"
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.0.5-rc.3/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.0.5-rc.2/docs/KUBERNETES.md
url: https://github.com/rcourtman/Pulse/blob/v6.0.5-rc.3/docs/KUBERNETES.md
- name: Support
url: https://github.com/rcourtman/Pulse/discussions
artifacthub.io/maintainers: |

View file

@ -1,6 +1,6 @@
# pulse
![Version: 6.0.5-rc.2](https://img.shields.io/badge/Version-6.0.5--rc.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.0.5-rc.2](https://img.shields.io/badge/AppVersion-6.0.5--rc.2-informational?style=flat-square)
![Version: 6.0.5-rc.3](https://img.shields.io/badge/Version-6.0.5--rc.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.0.5-rc.3](https://img.shields.io/badge/AppVersion-6.0.5--rc.3-informational?style=flat-square)
Helm chart for deploying the Pulse hub and optional Docker monitoring agent.

View file

@ -2,7 +2,7 @@ version: '3.8'
services:
pulse:
image: ${PULSE_IMAGE:-rcourtman/pulse:6.0.5-rc.2}
image: ${PULSE_IMAGE:-rcourtman/pulse:6.0.5-rc.3}
container_name: pulse
restart: unless-stopped
logging:

View file

@ -7,10 +7,12 @@ 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.0.5-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.2.md`
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.3.md`
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.3.md`
For historical v6 support release candidate packets, see:
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.2.md`
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.1.md`
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.1.md`

View file

@ -4,8 +4,8 @@ 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.0.5-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.2.md`
- `docs/releases/RELEASE_NOTES_v6.0.5-rc.3.md`
- `docs/releases/V6_CHANGELOG_v6.0.5-rc.3.md`
For the current stable v6 packet and rollout references, see:

View file

@ -821,9 +821,9 @@ TLS floor in the dynamic config.
## Current State
The active support prerelease `v6.0.5-rc.2` cut sets the repo-root `VERSION`,
The active support prerelease `v6.0.5-rc.3` 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.0.5-rc.2` release
fallback, and Helm chart release metadata to the same `6.0.5-rc.3` release
version. This support prerelease keeps `rollback_version=v6.0.4`, publishes a
versioned public GitHub prerelease plus versioned Docker and Helm artifacts,
and does not move stable/latest install pointers or stable semver aliases. It
@ -832,8 +832,9 @@ tool-call readiness, remembered-login submit persistence, Proxmox SATA/SAT
SMART temperature fallback, legacy agent update token recovery, threshold-aware
temperature display severity, PBS backup polling memory bounds, physical disk
SMART/Proxmox merge identity, Proxmox token preservation diagnostics, legacy
OIDC SSO discovery with CSP nonce handling, and route-aware Proxmox host URLs
behind RC validation instead of publishing another same-day stable patch.
OIDC SSO discovery with CSP nonce handling, mobile onboarding URL handoff
sanitization, SSO browser-session display labels, and route-aware Proxmox host
URLs behind RC validation instead of publishing another same-day stable patch.
The initial GA promotion
metadata remains
`promoted_from_tag=v6.0.0-rc.7`, `rollback_version=v5.1.35`,
@ -887,8 +888,8 @@ compose image default, standalone installer fallback constant, and packaged
Helm metadata. A draft release workflow failure caused by stale image or chart
pins is a release-packet blocker until the defaults, tests, and evidence
record are refreshed from the new branch head.
For the active support prerelease `v6.0.5-rc.2` cut, the repo-root compose
default and `scripts/install-docker.sh` fallback must both pin `6.0.5-rc.2`
For the active support prerelease `v6.0.5-rc.3` cut, the repo-root compose
default and `scripts/install-docker.sh` fallback must both pin `6.0.5-rc.3`
until the next governed stable cut moves them forward. The stable promotion
guard remains in force by rejecting leftover `-rc.` defaults when the governed
`VERSION` is a stable release.

View file

@ -0,0 +1,53 @@
# Pulse v6.0.5-rc.3 Release Notes
`v6.0.5-rc.3` is a release candidate for the next Pulse v6 patch line. It
follows stable `v6.0.4` and supersedes `v6.0.5-rc.2` with additional support
fixes for Pulse Mobile onboarding handoff URLs and SSO browser-session display
labels. It retains the earlier support fixes for Patrol Gemini model readiness,
remembered-login submit persistence, Proxmox SMART temperature fallback for
direct SATA/SAT disks, legacy agent update token recovery, threshold-aware
temperature display severity, PBS backup polling memory bounds, physical disk
SMART/Proxmox merge identity, Proxmox token preservation diagnostics, legacy
OIDC SSO discovery with CSP nonce handling, and route-aware Proxmox host URLs.
## Fixes
- Fixed Patrol readiness checks for Gemini models so tool-call capability is
detected from Gemini candidate parts as well as top-level tool-call lists.
- Fixed the login form so enabling "remember me" during submit persists the
remembered username immediately.
- Fixed Proxmox SMART temperature fallback for direct SATA/SAT disks where
smartctl auto-detection returned disk health but no temperature until retried
with an explicit SAT probe.
- Fixed legacy agent update token recovery for v5-to-v6 update paths that could
not find stored connection state even though a running agent still had usable
connection details.
- Fixed temperature display severity so node, workload, Docker, standalone
agent, and drawer temperature surfaces use configured alert thresholds instead
of hardcoded warning colors.
- Bounded PBS backup polling memory use and added coverage for read-state
polling behavior.
- Fixed physical disk SMART/Proxmox merge identity so NVMe and SMART-enriched
disk records keep their canonical identity and temperature metadata.
- Fixed Proxmox token preservation regressions during install/update flows and
added smoke diagnostics for token setup and validation.
- Fixed legacy OIDC SSO discovery and CSP nonce handling so configured SSO
providers are advertised to the login surface after upgrade.
- Fixed Pulse Mobile pairing QR/deep-link payloads so non-HTTPS resolved Pulse
web URLs are omitted from `instance_url` with a structured diagnostic instead
of being embedded in mobile handoff links.
- Fixed SSO browser-session display labels so OIDC and SAML sessions keep
stable provider-scoped principals for authorization while app chrome shows the
IdP username, email, or display label.
- Preferred route-aware Proxmox host URLs when generating host setup details.
- Refreshed Docker, Helm, installer, and release-helper metadata for the
release candidate.
## Upgrade Notes
Use the normal v6 install or update flow for `v6.0.5-rc.3` only when you are
comfortable testing an RC. The rollback target for this release candidate is
`v6.0.4`.
Paid Pulse Pro, Relay, and eligible legacy customers should continue to use the
private download page and private runtime image for paid runtime features.

View file

@ -0,0 +1,41 @@
# Pulse v6.0.5-rc.3
_This changelog describes the `v6.0.5-rc.3` release candidate compared with
stable `v6.0.4`._
## Fixed
- Patrol readiness checks now detect Gemini tool-call capability from Gemini
candidate parts as well as top-level tool-call lists.
- Remembered-login state now persists the saved username when the checkbox is
enabled during submit.
- Proxmox SMART temperature collection now retries direct SATA/SAT disks with an
explicit SAT probe when smartctl auto-detection returns health but no
temperature.
- Legacy agent update token recovery now handles v5-to-v6 update paths where a
running agent can provide connection details even when stored state is absent.
- Temperature displays now resolve configured alert thresholds across node,
workload, Docker, standalone agent, and drawer surfaces.
- PBS backup polling now keeps a bounded read-state working set during backup
discovery.
- Physical disk SMART and Proxmox records now merge through canonical disk
identity so NVMe, size, SMART, and temperature metadata survive enrichment.
- Proxmox install/update flows now preserve generated token state and expose
smoke diagnostics for setup validation.
- Legacy OIDC SSO discovery now persists and advertises configured providers,
with CSP nonce handling for embedded frontend assets.
- Pulse Mobile pairing now omits unsafe non-HTTPS Pulse web handoff URLs from
QR/deep-link payloads while keeping relay pairing usable and returning an
`instance_url_not_https` diagnostic for settings copy.
- OIDC and SAML browser sessions now expose a separate display label for app
chrome while authorization remains bound to the stable provider-scoped
principal.
- Proxmox host setup now prefers route-aware host URLs.
- Docker, Helm, installer, and release-helper metadata now track the active
release candidate version.
## Release Metadata
- Version: `v6.0.5-rc.3`
- Rollback target: `v6.0.4`
- Promotion path: release candidate from `main`

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.0.5-rc.2"
CANONICAL_DEFAULT_PULSE_VERSION="6.0.5-rc.3"
resolve_default_pulse_version() {
if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then

View file

@ -333,6 +333,8 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
"PBS backup polling",
"Proxmox token preservation",
"legacy OIDC SSO discovery",
"Pulse Mobile pairing",
"SSO browser-session display labels",
"route-aware Proxmox host URLs",
"rollback target for this release candidate is `v"+previous+"`",
)
@ -350,6 +352,8 @@ func TestCurrentSupportPrereleasePacketTracksInstallMetadata(t *testing.T) {
"Physical disk SMART and Proxmox records now merge",
"Proxmox install/update flows now preserve generated token state",
"Legacy OIDC SSO discovery now persists",
"Pulse Mobile pairing now omits unsafe non-HTTPS Pulse web handoff URLs",
"OIDC and SAML browser sessions now expose a separate display label",
"Proxmox host setup now prefers route-aware host URLs",
)
assertFileContainsAll(t, repoFile("docs", "RELEASE_NOTES.md"),

View file

@ -229,7 +229,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.",
"legacy agent update token recovery, threshold-aware temperature display severity, PBS backup polling memory bounds, physical disk SMART/Proxmox merge identity, Proxmox token preservation diagnostics, legacy OIDC SSO discovery with CSP nonce handling, and route-aware Proxmox host URLs behind RC validation",
"legacy agent update token recovery, threshold-aware temperature display severity, PBS backup polling memory bounds, physical disk SMART/Proxmox merge identity, Proxmox token preservation diagnostics, legacy OIDC SSO discovery with CSP nonce handling, mobile onboarding URL handoff sanitization, SSO browser-session display labels, and route-aware Proxmox host URLs behind RC validation",
"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.",
)
}