40 Commits

Author SHA1 Message Date
rcourtman c384d5e0c8 Prepare v6.0.3 patch release 2026-07-05 11:07:27 +01:00
rcourtman c0ae794dc9 Prepare v6.0.2 release 2026-07-04 23:19:42 +01:00
rcourtman 84ad973540 Prepare v6.0.1 patch release
- bump release, Docker, and Helm metadata to 6.0.1

- add committed v6.0.1 patch release notes and changelog

- allow stable patch hotfix releases without a fabricated same-version prerelease tag
2026-07-04 19:32:01 +01:00
rcourtman 63bbbb1508 Refresh v6 GA publication metadata 2026-07-04 10:30:10 +01:00
rcourtman 3dfac7df16 Align v6 GA publication dates
- set the GA packet to 2026-07-03
- set the v5 maintenance end date to 2026-10-01
2026-07-03 21:14:29 +01:00
rcourtman da14b88d9f Prepare v6.0.0-rc.7 release candidate 2026-06-27 09:06:02 +01:00
rcourtman 11464b4df8 Clarify agent upgrade and notification docs 2026-06-12 19:26:26 +01:00
rcourtman 3a51429a58 fix(licensing): honest installation-limit copy and v6 connectivity disclosure
Docs and frontend half of the licensing-policy client work from the v6
upgrade sweep (license findings 5 and 6); the Go classifier and grant
refresh fix land separately once the shared pre-commit guard unblocks.

A 409 MAX_INSTALLATIONS during v5 key migration rendered as 'another v6
activation handoff is still settling. Retry activation from this
instance.' Retrying can never succeed until a slot is freed server-side,
so that copy stranded users. The notice now says the key is already
active on its maximum number of v6 installations and points at
support@pulserelay.pro to free a slot, via the new
exchange_installation_limit reason and free_installation_slot action.

docs/UPGRADE_v6.md gains a 'Breaking Change: Paid Licensing Requires
Connectivity' section: v5 validated keys fully offline, v6 needs
periodic connectivity to license.pulserelay.pro, with roughly 10 days of
offline tolerance (72 hour grant plus 7 day grace) before paid features
drop to Community, plus air-gap guidance and the migrated-key
installation cap. docs/releases/V6_CHANGELOG.md gains the matching
breaking-change bullet.

Note: the two frontend files also carry two small additive hunks from
the parallel persisted-license-unreadable slice (a copy case and its
test, inert until its Go side lands); they share these files and are
included to avoid splitting them mid-flight.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-11 08:32:07 +01:00
rcourtman bd6f77e093 Prepare v6.0.0 release candidate
Tighten v5-to-v6 upgrade safety, release installability, provider MSP mode handling, AI cost accounting, metrics flushing, and frontend guardrails for the v6.0.0 GA candidate.
2026-06-04 14:07:14 +01:00
rcourtman d5f144f8f1 Prepare v6.0.0 stable release 2026-06-03 17:31:11 +01:00
rcourtman 4ef6caaa9d Finalize v6 GA release packet 2026-06-03 17:15:00 +01:00
rcourtman 1f84fd3dd0 Harden v6 upgrade release proofs 2026-06-03 17:07:25 +01:00
rcourtman e1d1ec1d7c Add update readiness checks for v6 upgrades
Surface server upgrade readiness on update plans so v5 agent continuity and agent token scope issues are checked before install.
2026-05-28 16:47:49 +01:00
rcourtman affc1c76ed Add rc.6 operator support pack and prerelease index pointers
Stages the doc-only subset of rc.6 packet prep work on top of
df7934936. Holds VERSION bump and the registry/contract governance
reconciliation back for a focused later pass since the IA revert
created broader subsystem-contract debt than the packet prep can
absorb.

- docs/releases/V6_RC6_OPERATOR_SUPPORT_PACK_DRAFT.md: new 300-line
  operator support brief mirroring the rc.5 pack with rc.6 themes:
  pre-release for testing framing, platform-shaped frontend revert
  explanation, vSphere as a first-class platform, Machines surface,
  TrueNAS native detail UX, FilterBar adoption, Patrol capacity-
  forecast and PDM bridge, free-first self-hosted posture, install.sh
  smoke gate. Carries the rc.5 free-first paid-continuity wording
  through unchanged so the operator-support-pack policy test holds.
- docs/releases/RELEASE_NOTES_v6_RC6_DRAFT.md,
  docs/releases/V6_CHANGELOG_RC6_DRAFT.md: fill in the SHA audit
  numbers (v6.0.0-rc.5..df7934936, 616 commits, 1379 files / 139185
  insertions / 67870 deletions). Add the licensing-continuity
  paragraph carrying the rc.5 Pulse Mobile pairing for handoff
  copy through unchanged so the discovered-packet policy test holds.
- docs/RELEASE_NOTES.md: link the rc.6 draft packet as current, push
  rc.5 to historical.
- docs/UPGRADE_v6.md: round out the prerelease packet pointer block
  with the rc.6 operator support pack path alongside the release
  notes and changelog already pointed at in df7934936.
- docs/releases/V6_PRERELEASE_RUNBOOK.md: add 6.0.0-rc.6 to the
  version-examples list and bump the RC_VERSION export shown in the
  RC release steps to rc.6.

Out of scope for this commit and intentionally held back until
governance reconciliation can land coherently:

- VERSION bump to 6.0.0-rc.6 (triggers deployment-installability
  shape-guard which cascades into registry/contract audits against
  72 dead-file references left over from the rc.6 IA revert).
- docs/release-control/v6/internal/status.json,
  docs/release-control/v6/internal/subsystems/registry.json, and the
  10 subsystem contract .md files that need post-IA-revert cleanup.
- scripts/release_control test fixture refreshes.
- The rc-to-ga-promotion-readiness-blocked record regen (gated on
  VERSION bump landing).

Working copies of the held-back files are preserved at
/tmp/rc6-prep-backup-2026-05-27/ with a MANIFEST.md describing each.
2026-05-27 13:37:24 +01:00
rcourtman df79349368 Document rc.6 frontend IA revert in v6 release docs
rc.1-rc.5 shipped a unified /infrastructure /workloads /storage
/recovery top-level layout; rc.6 reverts the frontend to platform-
shaped pages (Proxmox / Docker / Kubernetes / TrueNAS / vSphere /
Standalone) on the same unified resource backend.

Updates the shipped v6 release docs to match:

- RELEASE_NOTES_v6.md and V6_CHANGELOG.md rewritten to describe the
  v6 layout as platform-shaped on a unified backend, with a paragraph
  in each explaining the rc.6 revert and the operator feedback that
  drove it.
- UPGRADE_v6.md prerelease packet pointer bumped from rc.5 to rc.6.
- MIGRATION_UNIFIED_NAV.md gets a top-of-file revert banner that
  redirects bookmarks targeting the unified routes to their platform-
  shaped equivalents; the original content is preserved below as a
  Historical Context section so the 19 tracked references into that
  doc still resolve.

Also adds the rc.6 draft packet:

- docs/releases/RELEASE_NOTES_v6_RC6_DRAFT.md
- docs/releases/V6_CHANGELOG_RC6_DRAFT.md

Validation SHAs in both drafts are left as <populate at packet
finalisation> markers; they fill in when the release-control packet
runs.
2026-05-27 11:50:59 +01:00
rcourtman 366bf8d127 Prepare v6.0.0-rc.5 release packet 2026-05-11 16:52:31 +01:00
rcourtman fd5dd4e0b3 Clarify paid Docker compose image override 2026-05-06 23:11:32 +01:00
rcourtman fc4928e1f2 Clarify paid Pulse Pro runtime install path 2026-05-06 21:52:50 +01:00
rcourtman f149c5d643 Prepare v6.0.0-rc.4 release packet 2026-05-05 15:32:32 +01:00
rcourtman 2c3ece3e51 Prepare v6.0.0-rc.3 release packet 2026-05-01 20:28:12 +01:00
rcourtman 2f2f729d35 Use neutral self-hosted monitoring copy 2026-04-29 11:09:57 +01:00
rcourtman 5d496a5d2a Align self-hosted plan docs and tests 2026-04-29 09:21:10 +01:00
rcourtman 9217c065df Clarify self-hosted no-cap Pro continuity 2026-04-28 20:48:10 +01:00
rcourtman cc26f59f01 Retire self-hosted trial activation callback 2026-04-28 16:36:09 +01:00
rcourtman 62d3fa3e58 Clarify support-only self-hosted trial posture 2026-04-28 14:27:02 +01:00
rcourtman 3cbb62a40d Document update signer continuity for future releases 2026-04-22 20:36:49 +01:00
rcourtman a60fa03d7f Route operator updates through the local signed helper 2026-04-22 16:18:16 +01:00
rcourtman 6db9aeadcf Prepare the v6 stable promotion candidate 2026-04-20 14:09:17 +01:00
rcourtman 92d1b22fb1 Own upgrade guide under deployment-installability 2026-04-16 15:06:54 +01:00
rcourtman 5914a4127d Make self-hosted core monitoring uncapped
Refs #1409
2026-04-16 01:21:57 +01:00
rcourtman f72ff5df5c Update infrastructure install path docs
Refs #1415
2026-04-15 17:00:32 +01:00
rcourtman 23d5a8a6b2 Clarify grandfathered v5 licensing docs 2026-04-15 11:14:48 +01:00
rcourtman 34784c9b9b Lock grandfathering to pre-cutover subscribers 2026-04-15 09:16:07 +01:00
rcourtman d0bde35018 Clarify paid v5 customer continuity in v6 docs 2026-04-15 00:42:14 +01:00
rcourtman f3c4d4d83d Grandfather active v5 Pro customers as uncapped 2026-04-15 00:35:24 +01:00
rcourtman ef0b2af196 Anchor tracked trial-start docs 2026-04-10 19:33:12 +01:00
rcourtman b87a46b01e Extend hosted-trial docs guard 2026-04-10 18:11:25 +01:00
rcourtman d587d0a7f7 Add v6 RC operator support pack 2026-04-10 10:03:04 +01:00
rcourtman 9cd0e077d0 Polish RC release messaging and FAQ 2026-04-10 09:52:08 +01:00
rcourtman 778a2577b6 feat: Pulse v6 release 2026-03-18 16:06:30 +00:00