mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 02:25:56 +00:00
Prepare v6.4.0-rc.3 release
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.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,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.2}
|
||||
image: ${PULSE_IMAGE:-rcourtman/pulse:6.4.0-rc.3}
|
||||
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.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
@@ -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.
|
||||
@@ -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
|
||||
@@ -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`
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user