mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 02:25:56 +00:00
Prepare v6.4.0-rc.5 release
Package the atomic API-token deletion fix, alert delivery evidence, reducer-backed lifecycle cutover, separated agent install tokens, and filesystem history feedback for the next release candidate. Change-source: pulse-maintainer
This commit is contained in:
@@ -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.4
|
||||
appVersion: "6.4.0-rc.4"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.4.0-rc.4/docs/images/pulse-logo.svg
|
||||
version: 6.4.0-rc.5
|
||||
appVersion: "6.4.0-rc.5"
|
||||
icon: https://raw.githubusercontent.com/rcourtman/Pulse/v6.4.0-rc.5/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.4/docs/KUBERNETES.md
|
||||
url: https://github.com/rcourtman/Pulse/blob/v6.4.0-rc.5/docs/KUBERNETES.md
|
||||
- name: Support
|
||||
url: https://github.com/rcourtman/Pulse/discussions
|
||||
artifacthub.io/maintainers: |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# pulse
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
Helm chart for deploying the Pulse hub and optional Docker, Kubernetes, or OpenShift monitoring agent.
|
||||
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ version: '3.8'
|
||||
|
||||
services:
|
||||
pulse:
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.4.0-rc.4}
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.4.0-rc.5}
|
||||
container_name: pulse
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
|
||||
@@ -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.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.3.2.md`
|
||||
@@ -19,10 +19,12 @@ 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.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
|
||||
For earlier v6.4 release candidate packets, see:
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `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.1.md`
|
||||
|
||||
+6
-4
@@ -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.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
|
||||
@@ -19,11 +19,13 @@ For the preceding stable v6 packet, see:
|
||||
|
||||
For the preceding v6.4 release candidate packet, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
|
||||
For earlier v6.4 release candidate packets, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `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.1.md`
|
||||
|
||||
@@ -1782,22 +1782,20 @@ 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.4` cut sets the repo-root `VERSION`, repo-root
|
||||
The active prerelease `v6.4.0-rc.5` 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.4` release version. It follows
|
||||
`v6.4.0-rc.3` on the published `v6.4.0` candidate line. This prerelease keeps
|
||||
Helm chart release metadata to the same `6.4.0-rc.5` release version. It follows
|
||||
`v6.4.0-rc.4` 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 moves resources,
|
||||
Connected infrastructure, and active alerts onto keyed per-client deltas;
|
||||
defers expensive realtime merges during operator input; preserves windowed-row
|
||||
identity across reordered snapshots; and isolates REST recovery from the
|
||||
websocket delta baseline. It also restores Proxmox network details, hardens
|
||||
backup and drawer history targeting, clears committed notification delivery
|
||||
warnings immediately, and keeps supported Proxmox VM/LXC lifecycle requests on
|
||||
the governed action path without a QEMU guest-agent prerequisite or manual
|
||||
command fallback. The changes since `v6.4.0-rc.3` do not require a Pulse Mobile
|
||||
client change and preserve
|
||||
install pointers or stable semver aliases. The candidate makes API-token
|
||||
deletion atomic across persistence failures; adds append-only alert transition
|
||||
and notification-decision evidence; exposes delivery outcomes and held reasons
|
||||
on existing browser surfaces; separates agent install tokens from generated
|
||||
commands; and moves canonical metric, lifecycle, and stateful alert families
|
||||
onto the deterministic reducer core with confirmation, recovery,
|
||||
acknowledgement, and refire parity proof. The changes since `v6.4.0-rc.4` 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 canonical mobile
|
||||
@@ -1813,10 +1811,15 @@ 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.4` cut published from exact source SHA
|
||||
`8fb7b3764183168f93140d83e2b18b4e953b6cd8`. Its tag and versioned artifacts
|
||||
remain immutable; `v6.4.0-rc.5` supersedes it without moving stable install
|
||||
pointers or stable semver aliases from `v6.3.2`.
|
||||
|
||||
The preceding `v6.4.0-rc.3` cut published from exact source SHA
|
||||
`cf0ca6f127540e9997c2eb97eeed32f27619d242`. Its tag and versioned artifacts
|
||||
remain immutable; `v6.4.0-rc.4` supersedes it without moving stable install
|
||||
pointers or stable semver aliases from `v6.3.2`.
|
||||
remain immutable; later `v6.4.0` prereleases supersede it without moving stable
|
||||
install pointers or stable semver aliases from `v6.3.2`.
|
||||
|
||||
The preceding `v6.4.0-rc.2` publication attempt built and staged the exact
|
||||
candidate artifacts but failed release convergence before public activation.
|
||||
@@ -2255,8 +2258,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.4` cut, the repo-root compose default and
|
||||
`scripts/install-docker.sh` fallback must both pin `6.4.0-rc.4` until the next
|
||||
For the active prerelease `v6.4.0-rc.5` cut, the repo-root compose default and
|
||||
`scripts/install-docker.sh` fallback must both pin `6.4.0-rc.5` 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,30 @@
|
||||
# Pulse v6.4.0-rc.5 Release Notes
|
||||
|
||||
`v6.4.0-rc.5` is a release candidate for the next v6 minor release. It makes API-token removal durable, exposes notification decisions more clearly, and moves alert lifecycle handling onto a deterministic transition core.
|
||||
|
||||
## What's improved
|
||||
|
||||
- **Clearer notification evidence** — Active alerts show delivery status, and the delivery activity view includes held notifications and their suppression reasons.
|
||||
- **More reliable alert lifecycles** — Metric, availability, health, posture, backup, snapshot, storage, and update alerts now share a deterministic transition core with pinned confirmation, recovery, acknowledgement, and re-fire behavior.
|
||||
- **Safer agent setup** — Agent install commands reveal their newly generated token separately, making it easier to copy the credential without mixing it with the shell command.
|
||||
- **Better filesystem feedback** — Filesystem history drawers again show loading progress while a longer range is fetched.
|
||||
|
||||
## Fixes
|
||||
|
||||
- API-token deletion now persists the reduced inventory atomically and restores the complete prior live inventory if saving fails, instead of reporting success with inconsistent credentials ([#1783](https://github.com/rcourtman/Pulse/issues/1783)).
|
||||
- Alert delivery diagnosis now distinguishes pending, sent, failed, and suppressed outcomes without requiring operators to infer delivery from an active alert alone.
|
||||
- Confirmation-based alerts retain the first matched observation as their occurrence start, and new confirmation runs no longer inherit stale timestamps.
|
||||
- Canonically keyed metric alerts resolve through the same identity used to create them instead of remaining stale after recovery.
|
||||
- Stateful alert manual clears preserve acknowledgement and recent-resolution behavior so a quick refire does not duplicate history.
|
||||
- Guest and host memory percentages use the same cache-aware basis in operator-facing explanations.
|
||||
|
||||
## 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.
|
||||
- Pulse Mobile does not consume the changed alert transition internals or browser delivery evidence. Existing mobile, Relay, onboarding, pairing, push, and mobile-facing API contracts are unchanged, so no companion update 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.
|
||||
|
||||
## Known issues
|
||||
|
||||
- Windows Authenticode signing remains unavailable for this candidate; use the published checksum and detached signature when verifying Windows agent downloads.
|
||||
@@ -0,0 +1,37 @@
|
||||
# Pulse v6.4.0-rc.5
|
||||
|
||||
_This changelog describes the changes since `v6.4.0-rc.4` included in
|
||||
`v6.4.0-rc.5`._
|
||||
|
||||
## Added
|
||||
|
||||
- Active-alert delivery diagnosis exposes pending, sent, failed, and suppressed notification outcomes.
|
||||
- The append-only alert event log records lifecycle transitions and notification decisions, including suppression mechanisms and reasons.
|
||||
- Agent install-token responses separate the one-time token value from the generated installation command.
|
||||
|
||||
## Changed
|
||||
|
||||
- Canonical metric, lifecycle, and stateful alert families use the deterministic reducer core for activation, confirmation, recovery, acknowledgement restoration, cooldown refire, and recent-resolution state.
|
||||
- Legacy tracking maps remain compatibility mirrors while reducer-owned transitions become authoritative.
|
||||
- Alert delivery evidence and held notifications are projected onto the existing alert overview and delivery activity surfaces.
|
||||
- Confirmation, intent, recovery, and backup-offline deferral semantics are characterized by composed parity suites before and after family cutover.
|
||||
|
||||
## Fixed
|
||||
|
||||
- API-token deletion snapshots the full inventory, persists the exact reduced inventory, and rolls the live token set and primary-token projection back on persistence failure ([#1783](https://github.com/rcourtman/Pulse/issues/1783)).
|
||||
- Canonically keyed metric alerts resolve through their canonical identity rather than leaving stale active records after recovery.
|
||||
- Confirmation-based lifecycle timestamps retain the first matched observation and restart correctly after an interrupted confirmation run.
|
||||
- Stateful manual clears preserve recent-resolution and acknowledgement retention, preventing duplicate history on a quick refire.
|
||||
- Filesystem history drawers again render loading progress.
|
||||
- Guest and host memory explanations use the canonical cache-aware usage basis.
|
||||
|
||||
## Release Metadata
|
||||
|
||||
- Version: `v6.4.0-rc.5`
|
||||
- Previous candidate tag: `v6.4.0-rc.4`
|
||||
- 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`; the changed alert transition internals and browser delivery evidence preserve the existing mobile, Relay, onboarding, route, request/response, pairing, and push contracts, so no companion build or public store rollout is required
|
||||
@@ -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.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.5.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.5.md`
|
||||
|
||||
For the current stable v6 packet, see:
|
||||
|
||||
@@ -19,11 +19,13 @@ For the preceding stable v6 packet, see:
|
||||
|
||||
For the preceding v6.4 release candidate packet, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.4.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.4.md`
|
||||
|
||||
For earlier v6.4 release candidate packets, see:
|
||||
|
||||
- `docs/releases/RELEASE_NOTES_v6.4.0-rc.3.md`
|
||||
- `docs/releases/V6_CHANGELOG_v6.4.0-rc.3.md`
|
||||
- `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.1.md`
|
||||
|
||||
@@ -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.4"
|
||||
CANONICAL_DEFAULT_PULSE_VERSION="6.4.0-rc.5"
|
||||
|
||||
resolve_default_pulse_version() {
|
||||
if [ -n "${PULSE_IMAGE_VERSION:-}" ]; then
|
||||
|
||||
@@ -887,11 +887,11 @@ func TestCurrentPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
"## Fixes",
|
||||
"## Before you upgrade",
|
||||
"## Known issues",
|
||||
"keyed per-client deltas",
|
||||
"Delivery warnings now clear",
|
||||
"QEMU guest agent",
|
||||
"Restored Proxmox network details",
|
||||
"Pulse Mobile does not consume the changed browser resource stream",
|
||||
"Clearer notification evidence",
|
||||
"More reliable alert lifecycles",
|
||||
"API-token deletion now persists the reduced inventory atomically",
|
||||
"Filesystem history drawers again show loading progress",
|
||||
"Pulse Mobile does not consume the changed alert transition internals",
|
||||
"not Authenticode-signed",
|
||||
"Unknown Publisher warning",
|
||||
)
|
||||
@@ -901,12 +901,12 @@ func TestCurrentPrereleasePacketTracksInstallMetadata(t *testing.T) {
|
||||
"Rollback target: `v"+previous+"`",
|
||||
"Promotion path: exact-SHA single-build release candidate from `main`",
|
||||
"This changelog describes the changes since `v"+comparisonVersion+"`",
|
||||
"Resources, connected-infrastructure entries, and active alerts use per-client keyed deltas",
|
||||
"REST state recovery is isolated from the websocket baseline",
|
||||
"Notification queue health is reconciled immediately",
|
||||
"Proxmox VM/LXC lifecycle actions remain available through the governed action path",
|
||||
"Proxmox node network details render again",
|
||||
"Backup recovery data retains the correct source attribution",
|
||||
"The append-only alert event log records lifecycle transitions and notification decisions",
|
||||
"Canonical metric, lifecycle, and stateful alert families use the deterministic reducer core",
|
||||
"API-token deletion snapshots the full inventory",
|
||||
"Canonically keyed metric alerts resolve through their canonical identity",
|
||||
"Stateful manual clears preserve recent-resolution and acknowledgement retention",
|
||||
"Filesystem history drawers again render loading progress",
|
||||
"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",
|
||||
|
||||
@@ -145,6 +145,7 @@ func TestPreviousStableForPrereleaseVersionCrossesMinorBoundaries(t *testing.T)
|
||||
{version: "6.4.0-rc.2", want: "6.3.2"},
|
||||
{version: "6.4.0-rc.3", want: "6.3.2"},
|
||||
{version: "6.4.0-rc.4", want: "6.3.2"},
|
||||
{version: "6.4.0-rc.5", want: "6.3.2"},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
|
||||
Reference in New Issue
Block a user