Prepare v6.4.0-rc.3 release

This commit is contained in:
Richard Courtman
2026-08-26 00:58:11 +01:00
parent 4e74703749
commit 8051e54d9a
13 changed files with 148 additions and 20 deletions
+1 -1
View File
@@ -1 +1 @@
6.4.0-rc.2
6.4.0-rc.3
+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.4.0-rc.2
appVersion: "6.4.0-rc.2"
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.4.0-rc.2/docs/images/pulse-logo.svg
version: 6.4.0-rc.3
appVersion: "6.4.0-rc.3"
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.4.0-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.4.0-rc.2/docs/KUBERNETES.md
url: https://github.com/rcourtman/Pulse/blob/v6.4.0-rc.3/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.4.0-rc.2](https://img.shields.io/badge/Version-6.4.0--rc.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.4.0-rc.2](https://img.shields.io/badge/AppVersion-6.4.0--rc.2-informational?style=flat-square)
![Version: 6.4.0-rc.3](https://img.shields.io/badge/Version-6.4.0--rc.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.4.0-rc.3](https://img.shields.io/badge/AppVersion-6.4.0--rc.3-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.4.0-rc.2}
image: ${PULSE_IMAGE:-rcourtman/pulse:6.4.0-rc.3}
container_name: pulse
restart: unless-stopped
logging:
+6 -2
View File
@@ -7,8 +7,8 @@ For historical v4 notes that previously lived in this repo, see:
`docs/releases/RELEASE_NOTES_v4.md`
For the current v6 release candidate packet (the current v6 support release candidate packet), see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.2.md`
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
For the current stable v6 packet, see:
- `docs/releases/RELEASE_NOTES_v6.3.2.md`
@@ -19,6 +19,10 @@ For the preceding stable v6 packet, see:
- `docs/releases/V6_CHANGELOG_v6.3.1.md`
For the preceding v6.4 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.2.md`
For the earlier v6.4 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.1.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.1.md`
+7 -2
View File
@@ -4,8 +4,8 @@ This guide covers practical upgrade steps for existing Pulse installs moving to
For the current v6 release candidate packet (the current v6 support release candidate packet), see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.2.md`
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
For the current stable v6 packet, see:
@@ -19,6 +19,11 @@ For the preceding stable v6 packet, see:
For the preceding v6.4 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.2.md`
For the earlier v6.4 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.1.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.1.md`
@@ -1747,10 +1747,10 @@ 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 prerelease `v6.4.0-rc.2` cut sets the repo-root `VERSION`, repo-root
The active prerelease `v6.4.0-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.4.0-rc.2` release version. It follows
`v6.4.0-rc.1` on the published `v6.4.0` candidate line. This prerelease keeps
Helm chart release metadata to the same `6.4.0-rc.3` release version. It follows
`v6.4.0-rc.2` on the published `v6.4.0` candidate line. This prerelease keeps
`rollback_version=v6.3.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. The candidate makes large-estate
@@ -1760,7 +1760,8 @@ behavior; adds notification delivery history and a least-privilege agent
profile; provides deliberate Docker and Kubernetes re-enrolment recovery; and
fixes metrics-history retention, Patrol startup recovery, backup pagination,
stale storage and stale container-health presentation, and backup scope
persistence. The changes since `v6.4.0-rc.1` do not require a Pulse Mobile
persistence. API-only Proxmox nodes also retain node metrics history without
presenting agent-only disk I/O. The changes since `v6.4.0-rc.2` 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
@@ -1773,6 +1774,11 @@ only after the release owner explicitly confirms that production credentials
and certificate authorization are ready and a reviewed policy/code change
restores it.
The preceding `v6.4.0-rc.2` publication attempt built and staged the exact
candidate artifacts but failed release convergence before public activation.
Its tag is immutable and the candidate is superseded by `v6.4.0-rc.3`; stable
install pointers and stable semver aliases remained on `v6.3.2`.
The preceding prerelease `v6.4.0-rc.1` cut set 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.4.0-rc.1` release
@@ -2204,8 +2210,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 prerelease `v6.4.0-rc.2` cut, the repo-root compose default and
`scripts/install-docker.sh` fallback must both pin `6.4.0-rc.2` until the next
For the active prerelease `v6.4.0-rc.3` cut, the repo-root compose default and
`scripts/install-docker.sh` fallback must both pin `6.4.0-rc.3` 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
@@ -0,0 +1,37 @@
# Pulse v6.4.0-rc.3 Release Notes
`v6.4.0-rc.3` is a release candidate for the next v6 minor release. It improves large-estate performance, notification visibility, agent recovery and subscription options, while carrying forward the latest stable fixes.
## What's improved
- **Faster large-estate navigation** — Storage and platform cold loads fell from roughly 15.6 seconds to 1.1 seconds in the measured large-estate case, with windowed tables keeping scrolling responsive.
- **Lighter live updates** — The `/api/state` response fell from 4.75 MB to 4.09 MB, while changed-item catch-up and faster patch merging reduce work after reconnects and open mobile Alerts reliably.
- **Visible notification delivery** — A recent-delivery log shows redacted outcomes, and test sends now say when delivery is paused instead of implying that a message was sent.
- **Safer agent operation** — A least-privilege install profile limits the agent account and sudo access, while Docker and Kubernetes recovery controls allow deliberate re-enrolment after removal.
- **Clearer plan choices** — MSP evaluation mode supports provider trials, and the Business tier is now available for teams that need the annual business plan.
- **Simpler saved filtering** — Saved views have been removed; bookmarkable filtered URLs remain available for returning to useful table filters.
## Fixes
- Metrics history now releases oversized backing memory after dense data ages out, preventing the memory growth first corrected in v6.3.2.
- Patrol retries provider setup on each scheduled run, reports the real blocked reason and recovers from an early-start timing race.
- Proxmox backup roll-ups now calculate total pages from the normalised page size, so recovery pagination remains accurate.
- The Proxmox storage drawer now stacks the TLS and command-execution checkboxes, keeping both controls usable in issue #1775.
- Storage rows mark retained values stale and show the last successful refresh after a source poll fails.
- Stopped Docker and Podman containers no longer repeat health alerts from a stale retained result.
- Docker, Kubernetes and host agents expose recovery controls when a removed agent needs permission to re-enrol.
- A disabled Proxmox backup collection scope remains disabled after configuration reloads.
- Fixed polling intervals, offline-alert policy and command-execution intent remain intact across monitoring and re-enrolment flows.
- Proxmox RAID controller member disks are visible again in storage details.
- API-only Proxmox nodes now retain node metrics history; disk I/O is shown only when a linked agent supplies it.
## Before you upgrade
- This is a release candidate. Stable installations remain on v6.3.2 unless an operator explicitly selects this version.
- Existing configurations remain valid and no manual data migration is required.
- Windows Unified Agent binaries are checksum- and detached-signature-verified but are not Authenticode-signed, so Windows may show an Unknown Publisher warning.
- No Pulse Mobile update is required for this candidate.
## Known issues
- Windows Authenticode signing remains unavailable for this candidate; use the published checksum and detached signature when verifying Windows agent downloads.
+68
View File
@@ -0,0 +1,68 @@
# Pulse v6.4.0-rc.3
_This changelog describes the changes since `v6.4.0-rc.2` included in
`v6.4.0-rc.3`. It carries that candidate packet forward and also re-lists fixes
first shipped on the `v6.3.2` stable patch line where they remain part of the
next minor release._
## Added
- Notification delivery history exposes recent redacted delivery outcomes,
while test sends report when delivery is paused instead of claiming success.
- A least-privilege Unified Agent install profile creates a non-login service
account and grants only the selected system inspection commands through sudo.
- Docker, Kubernetes and host-agent diagnostics expose an **Allow re-enrol**
recovery control when a prior removal blocks a legitimate returning agent.
- MSP evaluation mode supports provider trials, and the annual Business tier is
available for teams that need the business plan.
## Changed
- Large-estate storage and platform navigation uses windowed rows, incremental
route loading and stable scroll ownership. The measured storage cold path
improved from approximately 15.6 seconds to 1.1 seconds.
- `/api/state` fell from 4.75 MB to 4.09 MB in the measured estate. Resource
updates use changed-ID catch-up, including mobile Alerts entry, and merge
patched keys without rebuilding unaffected resource state.
- Per-tick real-time merges and workload row updates now avoid redundant work.
- Saved views have been removed. URL-backed filters remain bookmarkable and
shareable without a second saved-view state model.
## Fixed
- Metrics-history retention releases oversized backing arrays after dense seed
data ages out. This correction first shipped in stable `v6.3.2` and remains
included in the next minor line.
- Patrol retries provider initialisation on every scheduled run, exposes the
actual blocked reason and self-recovers from its early-start race
([fix](https://github.com/rcourtman/Pulse/commit/7c37a85cb)).
- Proxmox backup roll-ups derive `totalPages` from the normalised page size
([fix](https://github.com/rcourtman/Pulse/commit/6686cdce2)).
- The Proxmox storage drawer stacks the TLS and command-execution checkboxes so
both controls remain usable
([#1775](https://github.com/rcourtman/Pulse/commit/a28b3535b)).
- Storage rows mark retained readings stale and show the last good refresh age
after a poll failure.
- Stopped Docker and Podman containers no longer re-fire health alerts from a
retained stale health result.
- Disabled Proxmox backup collection scope persists across configuration
reloads.
- Fixed polling intervals, disabled offline policies, command intent and
re-enrolment cleanup remain intact across monitoring and agent recovery.
- Proxmox storage details show RAID controller member disks again.
- API-only Proxmox nodes retain node metrics history without presenting agent-
only disk I/O; linked-agent nodes keep the full host history groups.
## Release Metadata
- Version: `v6.4.0-rc.3`
- Previous candidate tag: `v6.4.0-rc.2`
- Previous stable: `v6.3.2`
- Rollback target: `v6.3.2`
- Rollback command: `./scripts/install.sh --version v6.3.2`
- Promotion path: exact-SHA single-build release candidate from `main`
- Windows signing decision: prereleases publish checksum- and
detached-signature-verified Windows agents without Authenticode while
SignPath remains unavailable; Windows may show an Unknown Publisher warning
- Mobile decision: `no-mobile-impact`; no companion build or public store
rollout is required
+7 -2
View File
@@ -4,8 +4,8 @@ This guide covers practical upgrade steps for existing Pulse installs moving to
For the current v6 release candidate packet (the current v6 support release candidate packet), see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.2.md`
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
For the current stable v6 packet, see:
@@ -19,6 +19,11 @@ For the preceding stable v6 packet, see:
For the preceding v6.4 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.2.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.2.md`
For the earlier v6.4 release candidate packet, see:
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.1.md`
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.1.md`
+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.4.0-rc.2"
CANONICAL_DEFAULT_PULSE_VERSION="6.4.0-rc.3"
resolve_default_pulse_version() {
if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then
@@ -892,6 +892,7 @@ func TestCurrentPrereleasePacketTracksInstallMetadata(t *testing.T) {
"Saved views have been removed",
"MSP evaluation mode",
"Business tier",
"API-only Proxmox nodes now retain node metrics history",
"not Authenticode-signed",
"Unknown Publisher warning",
)
@@ -911,6 +912,7 @@ func TestCurrentPrereleasePacketTracksInstallMetadata(t *testing.T) {
"Storage rows mark retained readings stale",
"Stopped Docker and Podman containers no longer re-fire health alerts",
"Disabled Proxmox backup collection scope persists",
"API-only Proxmox nodes retain node metrics history",
"Windows signing decision: prereleases publish checksum- and detached-signature-verified Windows agents without Authenticode",
"Mobile decision: `no-mobile-impact`",
"no companion build or public store rollout is required",
@@ -143,6 +143,7 @@ func TestPreviousStableForPrereleaseVersionCrossesMinorBoundaries(t *testing.T)
{version: "6.3.0-rc.2", want: "6.2.1"},
{version: "6.4.0-rc.1", want: "6.3.2"},
{version: "6.4.0-rc.2", want: "6.3.2"},
{version: "6.4.0-rc.3", want: "6.3.2"},
}
for _, test := range tests {