Repository navigation
Conversation
Opens once when Radar starts on a version that has release notes, and from a "What's new" link next to the Radar version on Home. Fresh installs only record the version. Hidden in cloud mode and when embedded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Summary by QodoShow What's New after Radar upgrades
AI Description
Diagram
High-Level Assessment
Files changed (7)
|
Code Review by Qodo
1.
|
The investigations workspace redirects home in run modes that can't host local agents, so the link could land users back where they started. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Local installs showed the version line only when release notes existed for the running version, so most releases had no version on Home. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
DialogPortal focused the panel in an effect keyed on `open`, but the panel mounts a render later, so focus stayed behind the backdrop. Tab could reach the page underneath, closing dropped focus on the body, and dialogs had no accessible name. Adds ariaLabelledBy / ariaLabel, a Tab trap that leaves editor-handled Tab alone, and focus restore at logical close. ConfirmDialog is named by its title. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The release notes catalog starts empty so draft copy can never reach users by accident: a version shows the dialog and Home link only once its release PR adds an entry. The dialog is named by its title. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The first highlight now leads at full width, highlight cards are the click target instead of a small link beneath them, and the header shows the version jump. An odd last card spans its row, and the scroll area fades at the bottom when more content is below. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds the v1.15.0 entry to the What's New catalog. This replaces #1877, which was stacked on the closed #1876; the dialog landed on main in #1902 instead. `scripts/check-whats-new.sh` (#1908) refuses to release v1.15.0 without this entry, so this must merge before the tag. ## Highlights A full-width lead card, then a 2x2 grid. Each secondary card has its own icon color, so they read apart. 1. **AI investigations that show their work** (lead, no CTA; the investigations workspace redirects home in run modes that can't host local agents). This recaps the v1.14.1 rework (#1766, #1802) on purpose: it's the first What's New dialog, and we want to put AI investigations in front of people. OpenCode (#1265) is the new v1.15 part. 2. **Full manifest diffs for Argo CD resources** (#1622) 3. **Rightsizing and cost data in MCP**: new agent tools, and risks lead before savings in the UI too (#1820, #1723) 4. **Deeper batch + AI/ML workloads support**: Kueue, JobSet and Ray pages; Job and JobSet details show why a queued job has no Pods (#1874, #1885, #1900, #1849, #1893, #1897) 5. **Canary and blue-green in Topology** (#1626) ## Also in this release Eight one-liners, paired by length because the grid fills row by row: table sort memory (#1428), OCI Helm installs (#1815), expiring TLS certificates in Checks (#1829), Radar Desktop keeping preferences across restarts (#1907), Pod vs template in Issues (#1848), PVC usage availability (#1828), Strimzi and admission webhook failures in Issues (#1840, #1830), `--listen-address` (#1845). Left out: security fixes, dependency bumps, refactors and CI, accessibility work (#1901, #1909), and narrow items (ALB action annotations, INSTALL_DIR). No usage-stats line is needed, because #1879's consent question already sits in this dialog. ## UI changes beyond the catalog - The heading names the release line (`v1.15`, via `releaseLine`), since patch releases show the same notes. The "You just updated from → to" line keeps exact versions. - An optional `tone` on highlights colors the icon tile (violet, teal, emerald, indigo). It uses Radar's existing `bg-X-500/10 text-X-600 dark:text-X-400` pattern, and was checked in light and dark themes. ## Verification - `scripts/check-whats-new.sh v1.15.0` → found notes - `make tsc` clean; What's New and usage-data tests: 39 passed - Previewed live with `VERSION=v1.15.0 make build`, opening `/?whats-new`, with #1879's consent question in place The matching public changelog is skyhook-dev/marketing#312. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Release-notes catalog and presentational What's New UI only; no auth, API, or data-handling changes. > > **Overview** > Adds the **v1.15.0** What's New catalog entry (five highlights with CTAs where appropriate, plus eight improvement one-liners) so `check-whats-new` can ship the tag. > > The dialog heading now shows the **minor release line** via new `releaseLine()` (e.g. `v1.15` instead of `v1.15.0`), while the upgrade subtitle still uses exact versions. Secondary highlight cards can set an optional **`tone`** (violet, teal, emerald, indigo) for distinct icon tiles; the lead card stays on the accent style. > > Tests cover `releaseLine` and the preview dialog title expectation. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit f0038c3. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY -->
After an upgrade, Radar gives no sign of what changed. New features only get found by accident. This PR adds a What's New dialog that opens once, the first time Radar starts on a version that has release notes. It can be reopened from a "What's new" link next to the Radar version on Home.
This PR ships dormant. The release-notes catalog (
web/src/components/whats-new/releaseNotes.ts) is empty, so no version shows the dialog or the Home link until its release PR adds an entry. Draft notes for the next release are kept on a separate branch, to be finalized with the release tag.Behavior
radar*browser-storage entry. That check runs when the module loads, because the version check writes its ownradar-update-checkkey during the first session. Checking later would make every fresh install look like an upgrade.DialogPortal accessibility (affects every dialog)
DialogPortalin@skyhook-io/k8s-uifocused the panel in an effect keyed onopen, but the panel mounts one render later, so focus stayed behind the backdrop. This PR:ariaLabelledBy/ariaLabelprops.ConfirmDialogand the What's New dialog are now named by their titles. The props are backward compatible. Radar Hub picks this up with its next k8s-ui bump. There are 10 new tests, 7 of which fail against the old component.Verification
make tscpasses. Web tests: 1518 pass. k8s-ui tests: 3923 pass.VERSION=v1.15.0build and the draft notes:🤖 Generated with Claude Code
Note
Medium Risk
DialogPortal focus/trap/restore behavior changes every modal in k8s-ui (backward-compatible props, but altered keyboard/focus semantics); What's New is low-impact while the catalog is empty.
Overview
Adds a What's New release-notes dialog that auto-opens once after upgrading to a version with catalog entries (ships dormant with an empty
RELEASE_NOTESuntil a release PR fills it). Dismissal and prior-version detection uselocalStorage; fresh installs only record the version; cloud and embedded hosts skip it. Users can reopen via a What's new link on Home (when notes exist),?whats-newpreview URLs, or aradar:show-whats-newwindow event. Home now shows the Radar version line for non-cloud local installs, with optional upgrade UI gated byshowUpgrade.DialogPortalgains modal accessibility: focus moves into the panel after mount (respectingautoFocuschildren), Tab cycles within the dialog without fighting editors thatpreventDefaulton Tab, focus restores to the opener at logical close (with StrictMode-safe microtask handling),inert/ pointer-events during exit animation, and optionalariaLabelledBy/ariaLabel.ConfirmDialogwires title id and close button label. New unit tests cover dialog focus, naming, and What's New eligibility logic.Reviewed by Cursor Bugbot for commit 0b6cd3f. Bugbot is set up for automated code reviews on this repo. Configure here.