Skip to content

v0.3.18-nightly.20260403

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Apr 05:51
· 865 commits to main since this release

Changelog

  • 3ca6eac Add Go goroutine leak detection and map bounds tests (P2-C, P2-D) (#4052)
  • f07e868 Add array safety guards to nil-safety CI workflow (P1-B) (#4048)
  • 658c4fc Add back navigation to NamespaceDrillDown and GPUNamespaceDrillDown (#4192)
  • b491d13 Add concurrent mutation safety scan test (P2-B) (#4054)
  • 5cd1e1b Add confirmation dialogs and user feedback for destructive actions (#3916)
  • d2de0fc Add draft save/restore feature to Contribute modal (#4340)
  • 20ee5bb Add hover tooltips for technical abbreviations (CPUs, GPUs, TPUs, VRAM, CUDA, MIG) (#4027)
  • 0c8a6d6 Add magic numbers ratchet and security endpoint audit (P4-A, P4-C) (#4060)
  • 6c73866 Add mission component unit tests and card factory validation (P3-A, P3-C) (#4056)
  • feca3ea Add navigation error toast regression test (P1-C) (#4051)
  • d5c317a Add page coverage smoke tests for untested feature dashboards (P3-B) (#4058)
  • 54878cb Add screenshot 1 for issue #4343
  • 807d119 Add screenshot 1 for issue #4355
  • e24a161 Add screenshot 1 for issue 1985a3cf-6265-40b8-8f07-1e735e89d6e5
  • cc9f524 Add screenshot 1 for issue 3307be76-e651-4ea3-a80e-27031017498a
  • 9c3e20e Add screenshot 1 for issue 632d87d0-462f-4683-b8ce-264ff76f2c52
  • 310762e Add screenshot 1 for issue a6a62d0a-579b-4bf8-b104-044c82d3aa50
  • 9b72a20 Add screenshot 1 for issue a8e6ffbc-0185-4642-9180-1f87c4fe76f2
  • 6a25f47 Add screenshot 1 for issue aab966e7-0bae-4b1d-aedd-3fd8ead81331
  • ea029e9 Add screenshot 1 for issue b95cdbf3-b5c0-490d-8ef4-2f6f5fb1875d
  • 8921e97 Add screenshot 1 for issue fdc44169-92ef-4ec7-b9a6-1a1e4084faae
  • f68d5c4 Clean up test screenshot
  • 6171e0d Expand card-standard ratchet for isRefreshing/isFailed + add concurrency safety tests (#4049)
  • cbf92d9 Fix 'Failed to load dashboard' toast when switching between dashboards (#4011)
  • 9067372 Fix WCAG AA color contrast violations (opacity + inline styles) (#4210)
  • 1c68411 Fix color consistency: error states, status shades, progress bar colors (#3891)
  • 661064a Fix custom card validation, ADOPTERS link, sparkles overlay, GPU chart order and units (#4032)
  • 88bab39 Fix inconsistent inline CSS spacing values — align to 4px/8px grid (#3867)
  • 4ada1d3 Fix modal safety: disable backdrop close on forms, add ESC key handling (#3954)
  • c517a51 Fix refresh icon animation consistency: use animate-spin CSS class, tie to loading state (#3906)
  • 303a2a3 Merge pull request #4289 from kubestellar/fix/stable-coverage
  • c928a11 Merge pull request #4292 from kubestellar/fix/stable-coverage
  • 4ac7784 Merge pull request #4293 from kubestellar/fix/stable-coverage
  • 1c510f5 Merge pull request #4294 from kubestellar/fix/stable-coverage
  • 57b6e50 Merge pull request #4295 from kubestellar/fix/stable-coverage
  • 9bbbeb0 Merge pull request #4297 from kubestellar/fix/stable-coverage
  • a9f9a57 Merge pull request #4298 from kubestellar/fix/stable-coverage
  • 1c4563e Merge pull request #4299 from kubestellar/fix/stable-coverage
  • c2c907c Merge pull request #4301 from kubestellar/fix/stable-coverage
  • 51f7227 Merge pull request #4302 from kubestellar/fix/stable-coverage
  • e61f06e Merge pull request #4304 from kubestellar/fix/stable-coverage
  • 95f9891 Merge pull request #4309 from kubestellar/fix/stable-coverage
  • 5600280 Merge pull request #4317 from kubestellar/fix/stable-coverage
  • 5f1a982 Merge pull request #4320 from kubestellar/fix/stable-coverage
  • 92f3f65 Merge pull request #4326 from kubestellar/fix/stable-coverage
  • 62c06c5 Merge pull request #4331 from kubestellar/fix/stable-coverage
  • ab3fbae Merge pull request #4333 from kubestellar/fix/stable-coverage
  • aea428f Merge pull request #4337 from kubestellar/fix/stable-coverage
  • 2285073 Merge pull request #4338 from kubestellar/fix/stable-coverage
  • d494fbf Merge pull request #4344 from kubestellar/fix/coverage-wave1
  • 3364c90 Merge pull request #4354 from kubestellar/fix/coverage-on-push
  • dfbfc59 Merge pull request #4358 from kubestellar/fix/last-test-failures
  • 7310860 Merge pull request #4360 from kubestellar/fix/remaining-test-failures
  • 35be049 Merge pull request #4361 from kubestellar/fix/aipredictions-tests
  • 307c1ab Merge pull request #4362 from kubestellar/fix/skip-flaky-alerts-tests
  • a5c0f19 Remove debug console.log statements from useMissionControl.ts (#3819)
  • c3abeff Revert "feat: show active user count in navbar header (#4103)" (#4106)
  • 88117dc Test screenshot upload
  • 9aec910 Test screenshot upload for token verification
  • 6f93cb5 [WIP] Add ARIA labels to interactive elements (#3856)
  • 48b5689 chore(deps): Bump @types/three from 0.169.0 to 0.183.1 in /web (#3937)
  • 9797cfd chore(deps): Bump i18next from 25.10.5 to 26.0.2 in /web (#3943)
  • 7d9234c chore(deps): Bump i18next-browser-languagedetector in /web (#3936)
  • fa6304f chore(deps): Bump modernc.org/sqlite from 1.47.0 to 1.48.0 (#3934)
  • da8d0d0 chore(deps): Bump msw from 2.12.9 to 2.12.14 in /web (#3941)
  • 9c275d6 chore(deps): Bump postcss from 8.5.6 to 8.5.8 in /web (#3935)
  • 8127ccf chore(deps): Bump typescript-eslint from 8.57.1 to 8.57.2 in /web (#3933)
  • 686448b chore(deps): Bump vite-plugin-compression2 from 2.5.2 to 2.5.3 in /web (#3939)
  • 355f00d feat: show active user count in navbar header (#4103)
  • 124dd64 fix(deps): patch lodash high CVE + brace-expansion moderate CVE via npm audit fix (#4208)
  • 47b2448 fix: add .catch() to all response.json() calls to prevent Firefox unhandled rejections (#3979)
  • 838e815 fix: add auth and restrict CORS on cancel-chat and events endpoints (#3829, #3830) (#3839)
  • 30460a7 fix: add dark mode variants for white opacity classes in cluster dialog components (#4029)
  • a4c3656 fix: add exponential backoff and max retries to WebSocket reconnection (#3870) (#3880)
  • 10e1be7 fix: add loading/disabled state to CreateDashboardModal Create button (#3919)
  • 6aadabb fix: add missing aria-label attributes to role="button" elements and icon-only buttons (#4105)
  • c9dbf37 fix: add missing loading/error states to data-fetching components (#3865)
  • 4d3e1b1 fix: add missing test files for AI providers (#3828) (#3848)
  • 3dfa028 fix: add missing token revocation methods to MockStore (#3851, #3852) (#3860)
  • edf8072 fix: add toast notifications for silent error handling in mission callbacks and stats config (#3914)
  • 0d8e667 fix: address Auto-QA issues for refresh animation, error handling (#4100)
  • d35e3a4 fix: address Copilot review feedback from PRs #4105, #4106, #4107 (#4109)
  • f1a8bfc fix: align QA tuner category taxonomy with consumer focus areas (#3862) (#3869)
  • 1207b12 fix: cardHooks-expand minor fix
  • 0a97497 fix: chain config-writing jobs sequentially to prevent race condition (#3826) (#3841)
  • c893c1b fix: clear setTimeout on unmount in Kubedle and PreflightFailure (#3822)
  • ac3a658 fix: defer useSearchIndex API hooks until user types a search query (#3871) (#3884)
  • b4385fa fix: extract hardcoded Google Fonts URL to externalApis config (#3877)
  • 1ba563d fix: harden CORS origin matching to prevent prefix and wildcard bypass (#3863) (#3868)
  • e6217ef fix: move Add Cards button to footer and always show preview panel (#3836, #3837) (#3849)
  • 5a7cf46 fix: parallelize CountServiceAccountsAllClusters and skip unnecessary RBAC fetches (#3824) (#3842)
  • fc37553 fix: persist token revocation store in SQLite (#3823) (#3843)
  • 8e2abca fix: prevent accidental modal close and add missing Escape handlers (#4107)
  • 0fc3930 fix: prevent unhandled JSON.parse rejections on /ci-cd page (#3816)
  • 64eae42 fix: reject negative replica counts in handleScaleHTTP (#3831) (#3840)
  • 7a469ac fix: remove orphaned duplicate getDefaultCards in lib/defaultCards.ts (#3825) (#3846)
  • 088f743 fix: replace raw string type literals with protocol.Type* constants in handleMixedModeChat (#3832) (#3844)
  • 39c52b4 fix: set TLS MinVersion to 1.2 in ping handler HTTP client (#3853) (#3859)
  • 114df20 fix: show last activity time instead of creation time in mission list (#4093)
  • b40c956 fix: standardize status color shades in PersistenceSection (#4101)
  • 25a09a3 fix: unify add card bubble position across all dashboard pages (#3834) (#3845)
  • 19db489 fix: update FilterTabs test to match i18n translation keys (#3850) (#3861)
  • b46a39f fix: upgrade console.warn to console.error for caught errors in useDependencies and useMissions (#4212)
  • c108d17 fix: use current-context as default cluster in Kubectl terminal (#3833) (#3847)
  • becf14c refactor: extract hardcoded thresholds and magic numbers to named constants (#4024)
  • de41103 refactor: split high-complexity components into focused files (#4062)
  • 1fd4d5c resolve conflict
  • 01064fa resolve conflict
  • d4cf943 resolve e2e conflict
  • 8976332 resolve mission component conflicts
  • f416c84 resolve mission conflict
  • 874721b ♿ Fix event handler accessibility parity on clickable divs (#3959)
  • d12ff4d ♿ Fix keyboard navigation gaps in Tour, Onboarding, CardHistory, and ClusterGrid (#3858)
  • 0f52dff ♿ Fix small touch targets in NamespaceResources for mobile accessibility (#4243)
  • 7ee3372 ⚠️ Revert adopter PRs merged in error — awaiting external contributor approval (#4034)
  • b80b422 ⚠️ breaking: rename 'solution' missions → 'fixer', solutions/ → fixes/ (#4033)
  • 5dbed0f ✨ 1,465 lines: StackContext, useCachedData, crossplane, kagent_crds, useHoverState
  • fae9b72 ✨ 1,677 lines: useMissions + AlertsContext + analytics deep tests (77 agents)
  • 16f8dfe ✨ 2,330 lines: deep tests for useCachedData + mcp/shared (agents)
  • 5fee019 ✨ 2,338 lines: 6 stub tests → deep suites (useProw, useTour, useCachedProw, useGPUReservations, useNightlyE2EData, useGPUUtilizations) + widget tests
  • ac584db ✨ 27 new test files + expansions: 247+ tests for previously untested files
  • afe8db9 ✨ 3,115 lines: contexts, MCP hooks, lib utilities expansion (87 agents)
  • 41437ba ✨ 3,780 lines: MCP hooks + lib + security hooks + test fixes (82 agents)
  • 8630ac7 ✨ 372 more tests: useMissionSuggestions, usePersistence, useModalNavigation, MCP clusters/crossplane/kagent_crds/security/workloads (#4246)
  • 75fc3f1 ✨ 372 more tests: useMissionSuggestions, usePersistence, useModalNavigation, MCP clusters/crossplane/kagent_crds/security/workloads (#4247)
  • 9d5fb60 ✨ 4,127 more lines of tests (72 agents total) (#4245)
  • 4a8ed10 ✨ 687 more deep tests pushing hooks/lib/contexts to 80%+ (#4241)
  • 7fde2d4 ✨ 7 more test files: kagentiProvider, registry, compiler, cardInstallMap, standalone, context, dashboardVisits fix
  • 39e4098 ✨ Add 215 render smoke tests for untested components (#4075)
  • 71a7c5c ✨ Add CI coverage reporting and per-file coverage gate for PRs (#4064)
  • 67f3621 ✨ Add GA4 events for screenshot attach/upload success/failure (#4188)
  • df69dc1 ✨ Add Mission Control E2E tests + fix WebGL globe crash (#4197)
  • 7146d1a ✨ Add Mission Control stress tests — 19 tests across 7 categories (#4206)
  • 6574741 ✨ Add OpenCost as an adopter (#3982)
  • 280028c ✨ Add cache lifecycle tests (557 lines)
  • 043fa7d ✨ Add cluster selector in Mission Control + Kubara catalog source (#4363)
  • 5ab8c7f ✨ Add coverage regression guard — block badge update + open issue on >5% drop (#4251)
  • ee99c84 ✨ Add dry-run + kind cluster E2E tests for Mission Control (#4233)
  • e8cd6a7 ✨ Add multi-project selection: filter dashboard by projects (#4290) (#4347)
  • 43d0ef4 ✨ Add per-GPU-type history with node filtering and churn metrics (#4008)
  • a00a61b ✨ Add post-build vendor safety check to prevent Vite define corruption (#4252)
  • 15449a5 ✨ Add post-merge Playwright verification against production (#4351)
  • 5301cd1 ✨ Add post-merge build verification workflow (#4276) (#4345)
  • b95ef50 ✨ Add refresh button on watched GitHub repos and local directories (#4059)
  • d4239db ✨ Add subtle engagement psychology: visit streak + rotating tips (#4067)
  • 95b17e4 ✨ Add useCardFetch hook for custom card data fetching (#4230)
  • bf47450 ✨ Auto-open GitHub issue when Coverage Suite tests fail (#4353)
  • ec43b8d ✨ Auto-update coverage badge via gist on merge to main (#4066)
  • 27a66ce ✨ Coverage push: remove all=true + 5,000 more deep tests (#4235)
  • 6a12409 ✨ Deep test coverage for 71 hooks — coverage sprint (#4073)
  • bc843d6 ✨ Deep test coverage for lib/ utilities — 81 new test files, 730 tests (#4070)
  • c636095 ✨ Deep test coverage: 0% → 53% (60 agents, ~7,000 test cases) (#4222)
  • 4433631 ✨ Deep test coverage: 0% → 53% (60 agents, ~7,000 test cases) (#4223)
  • 9763a2e ✨ Display active user count in navbar header (#3904)
  • 01a018e ✨ Expand auth.test.ts coverage: add 18 new tests for uncovered branches
  • c8f8351 ✨ Expand post-build safety checks: chunks, MSW, bundle size (#4272)
  • 5cf5878 ✨ Expand tests: AlertsContext, useResolutions, compiler, standalone, BaseModal
  • c3216d2 ✨ Expand tests: useAIPredictions, accessibility, cache/worker
  • 5648160 ✨ Expand tests: useGlobalFilters, useLastRoute, useWorkloadMonitor, kagenti, useDataSource
  • 87e153c ✨ Expand tests: useMetricsHistory, clusters, analytics, registry
  • 544207d ✨ Expand tests: useProviderHealth, useSearchIndex, networking, icons, kagentiProvider, useDataSource
  • f3294fb ✨ Expand useActiveUsers + mcp/compute tests + fix compiler assertions
  • 02af16d ✨ Expand useLLMd + useResolutions test coverage
  • 432b1b7 ✨ Expand useMissions test coverage: add tests for scanner, abort, reconnect
  • 0b02dcd ✨ Expand useSidebarConfig test coverage
  • ed089bd ✨ Expand useTokenUsage tests + fix compiler test assertions
  • cd149ed ✨ Expand useUpdateProgress + useInsightEnrichment test coverage
  • db2e30b ✨ Fix kubectlProxy-expand + expand registerHooks tests
  • a826ce3 ✨ Fix refresh + add CNCF project icons on files in Mission Explorer (#4071)
  • fd2eae1 ✨ Fix useKubectl tests + expand kubectlProxy + cardHooks coverage
  • d8352e5 ✨ Further expand useArgoCD coverage tests
  • 932c72c ✨ Implement Mission Control dry-run mode (#4229)
  • 15211b5 ✨ List specific failing tests in Coverage Suite issues
  • a429c70 ✨ Merge Project Selector and Filter Panel into single dropdown (#4369)
  • 1cf086d ✨ Mission Explorer UX improvements (#4065)
  • 72af537 ✨ More tests + useNightlyE2EData expansion (#4250)
  • b31fceb ✨ Move Source/PR buttons to detail view, clean up tree sidebar (#4068)
  • 48830f3 ✨ Replace Projects with Saved Filter Sets + remove navbar X button (#4371)
  • e784c88 ✨ Restructure CI: slim PR gate, hourly full coverage, weekly review (#4128)
  • ca6da80 ✨ Run Coverage Suite on push to main + add PR blame to failure issues
  • d2a250b ✨ Wave 2: deep branch coverage for Dashboard and unified system (#4122)
  • 69759b9 ✨ Wave 2: deep branch coverage for complex hooks (#4124)
  • 0fd3330 ✨ Wave 2: deep interaction tests for 79 card components (#4121)
  • 3d54093 ✨ YAML/Markdown runbook support in Mission Explorer with API group → CNCF project mapping (#4045)
  • 581c48b ✨ feat: GPU Inventory History card — time-series view of GPU usage trends (#3965)
  • 0e3b876 ✨ feat: add KubeRay, SLO, Failover, and Trino dashboard cards with preset dashboards (#4009)
  • 9b8a49d ✨ feat: add dedicated Karmada Ops dashboard page (#4014)
  • 7df1ec6 ✨ sseClient expansion + cache-lifecycle fix
  • 675ce9d ✨ useStackDiscovery + useUsers expanded tests
  • d01a08f ⬆️ Upgrade Vite to v8, plugin-react to v6, vitest to v4.1 (#4013)
  • 25fc13a 🌱 Add Cadence to ADOPTERS.MD (#3996)
  • cff5e27 🌱 Add Cadence to ADOPTERS.md (#4044)
  • 43c7f30 🌱 Add Easegress to ADOPTERS.md (#3989)
  • ed6134b 🌱 Add Easegress to ADOPTERS.md (#4037)
  • 536d9e7 🌱 Add Harbor to ADOPTERS.md (#3991)
  • 5470635 🌱 Add Kairos to ADOPTERS.md (#3995)
  • e949497 🌱 Add KitOps as an adopter in ADOPTERS.md (#3987)
  • 18b8562 🌱 Add KitOps to ADOPTERS.md (#4035)
  • 20003a5 🌱 Add Kmesh to ADOPTERS.md (#3993)
  • 3a3f0b6 🌱 Add Kubean to ADOPTERS.md (#3992)
  • 9f982aa 🌱 Add Longhorn to ADOPTERS.md (#3999)
  • 1876fb6 🌱 Add PipeCD to ADOPTERS.md (#3990)
  • 30098c7 🌱 Add SlimToolkit/Mint as adopter in ADOPTERS.md (#3988)
  • 6132603 🌱 Add debug logging for screenshot upload flow in feedback dialog (#4187)
  • fb47e42 🌱 Add kube-vip to ADOPTERS.md (#3994)
  • 0f5c796 🌱 Add unit tests for useLocalAgent, useClusterProgress, useUpdateProgress, useMCS (#3966)
  • d4eeefd 🌱 Add workflow_dispatch trigger to coverage-gate (#4092)
  • 28a88d0 🌱 CNCF incubation readiness: governance docs, security self-assessment, roadmap (#4069)
  • 22de863 🌱 Re-add OpenSSF Scorecard badge with correct API URL (#4097)
  • a062796 🌱 Remove label-helper and pr-verify-title workflows (#4174)
  • 8ab8bcb 🌱 Replace wildcard imports with named imports in test files (tree-shaking fix) (#4194)
  • 48b7d91 🌱 Sync workflows from kubestellar/infra (#3817)
  • aae1511 🌱 Update jsdom and vite-plugin-istanbul to latest major versions (#3879)
  • 98ce0a0 🌱 feat: show git commit hash in sidebar next to viewer count (#4015)
  • 53cb713 🌱 refactor: replace hardcoded hex colors with design tokens in PodExecTerminal (#3983) (#4000)
  • ace5e44 🌱 refactor: split high-complexity components into sub-components (#4010)
  • d4b0ae3 🐛 Add 7-day screenshot retention policy with automated cleanup (#4352)
  • 9078004 🐛 Add Karmada Ops to sidebar search, rename Compliance to Sec. Compliance (#4021)
  • 036783a 🐛 Add MSW catch-all for unmocked API routes (#4366)
  • 91e01c2 🐛 Add actionable token permission guidance with GitHub + Settings links (#4236)
  • 32032dc 🐛 Add cancelling state to mission cancellation flow (#4123, #4125, #4126) (#4143)
  • f5eb423 🐛 Add concurrency group to hourly coverage to prevent queue pileup (#4176)
  • cfaa4cd 🐛 Add missing widget API routes that redirected to SPA catch-all (#4145)
  • 46d56a1 🐛 Address Copilot comments on PRs #4157 #4158 #4159 (#4170)
  • 7096ae8 🐛 Address Copilot comments: DEV badge a11y, navbar style, ESC handler (#4171)
  • 42d3723 🐛 Address Copilot comments: tour a11y, GPU threshold, coverage workflow (#4186)
  • 38d507a 🐛 Address Copilot review comments across 8 merged PRs (#4161)
  • 49d31c7 🐛 Address Copilot review comments across PRs #4099 #4143 #4145 #4146 (#4158)
  • ec08577 🐛 Address Copilot review comments from PRs #4129, #4130, #4134 (#4147)
  • 31511e1 🐛 Address Copilot review feedback on #4100 (#4104)
  • 1737437 🐛 Allow users to edit mission description/steps before running (#4341)
  • 4423fd9 🐛 Centralize token permission guidance; recommend classic PAT over fine-grained (#4321)
  • 15d5284 🐛 Don't cancel coverage-gate runs on push to main (#4102)
  • 52ad446 🐛 Embed screenshots as base64 in issue body; GHA processes into images (#4220) (#4327)
  • 079e2d2 🐛 Enforce HS256-only JWT parsing via shared parser with WithValidMethods (#4356)
  • 255143b 🐛 Filter button: icon-only with purple glow, no text (#4370)
  • 877eedd 🐛 Fix 'any' type usage — rebase on main + resolve type errors (#4085) (#4098)
  • 1827bbe 🐛 Fix 11 remaining brace imbalances + skip ArgoCD banner tests + add --coverage.reportOnFailure
  • 4e7d650 🐛 Fix 14 broken test files blocking coverage suite (#4184)
  • 9e8f976 🐛 Fix 28 corrupted test files: remove extra }) and restore clean versions
  • 5c4abd0 🐛 Fix 3 failing tests: useDiagnoseRepairLoop API shape, cache-lifecycle assertion, useLocalClusterTools checkVCluster
  • cccae84 🐛 Fix 3 security issues: scale auth, SSE cache namespace, JSON validation (#4150, #4151, #4156) (#4157)
  • 7060934 🐛 Fix 3 test assertion failures blocking coverage shards
  • 30c7a96 🐛 Fix 5 backend robustness issues (#4281, #4280, #4265, #4263, #4262) (#4328)
  • be76cee 🐛 Fix 5 bugs: Falco demo data, screenshot preview, deployment status mismatch, ArgoCD demo mode, cluster reachability (#4204)
  • 64f5a71 🐛 Fix 5 remaining truncated test files (security hooks)
  • 3e43a81 🐛 Fix ARIA label and role gaps in modal and interactive components (#3952)
  • 5a8bc1c 🐛 Fix AlertsContext + useAIPredictions test assertions
  • 7c8d0e6 🐛 Fix AlertsContext tests wave 2 assertions
  • c670702 🐛 Fix Auto-QA issues: button patterns and missing test coverage (#4172)
  • 234fe8d 🐛 Fix Auto-QA issues: route constants, Copilot 404 handling (#4203)
  • 1e1f0eb 🐛 Fix Copilot findings: console noop, GA4 tracker, safety check scope (#4308)
  • e887dff 🐛 Fix Copilot review issues from PR #4110 (#4133)
  • cce86e5 🐛 Fix DOM nesting and accessibility violations (Auto-QA) (#3908)
  • 3ba35f3 🐛 Fix GPU exhaustion: cluster-level threshold, not per-node (#4185)
  • 1211cf5 🐛 Fix GitHub repo browsing in Mission Explorer — use Contents API (#4047)
  • 7d221c9 🐛 Fix Go test failures in validateToken and checkOrigin (#4099)
  • 1fd12e6 🐛 Fix JWT URL leakage and token query-param spoofing (#4278, #4264) (#4335)
  • 0b40979 🐛 Fix Kube Chess AI freeze and Kube Craft block selection (#4110)
  • 8454575 🐛 Fix Mission Explorer: show GitHub repo files instead of tab content (#4050)
  • 5436769 🐛 Fix OOM in hourly coverage: increase Node heap to 8GB (#4166)
  • 3289401 🐛 Fix OOM in hourly coverage: increase Node heap to 8GB (#4173)
  • 83784ea 🐛 Fix OOM: shard coverage into 4 parallel jobs + merge (#4181)
  • 35abf8d 🐛 Fix OOM: single worker for coverage suite (#4177)
  • a75a4a9 🐛 Fix Save Resolution failing with hardcoded 'claude' agent fallback (#4079) (#4096)
  • 049c923 🐛 Fix StackContext test assertions: auto-select behavior changed
  • 6e811c6 🐛 Fix UI flicker: batch consecutive setState calls in Tour, Clusters, AddClusterDialog (#4219)
  • 35f6670 🐛 Fix Unexpected token '<' errors: block unhandled /api/* in MSW (#4332)
  • f78ad13 🐛 Fix WebSocket race, nil-pointer crash, shutdown panic (#4260, #4261, #4279) (#4306)
  • fcf26c5 🐛 Fix active-users HTML parse errors on Netlify deploy previews (#4325)
  • 0a6ec0f 🐛 Fix card shadows, Trestle flicker, duplicate cancel text (#4254, #4266, #4286) (#4329)
  • 3e17de5 🐛 Fix console.kubestellar.io console errors (#4346)
  • 38ecf12 🐛 Fix coverage workflow: shard failures no longer silently pass (#4238)
  • e2c1506 🐛 Fix coverage: every 2 hours, never cancel in-progress runs (#4178)
  • 0d60f82 🐛 Fix dashboard load/error handling per Copilot review (#4011) (#4018)
  • f7f2ca2 🐛 Fix deployment capabilities for unreachable clusters and health check gauge (#4139, #4131) (#4146)
  • 4621452 🐛 Fix dev mode bar overlapping navbar and content (#4160)
  • 33a2b4f 🐛 Fix dismiss button not actually dismissing card recommendations (#4227) (#4231)
  • eb33460 🐛 Fix drilldown z-index, RecordFocus validation, Kyverno docs link (#4315)
  • 4602ff6 🐛 Fix duplicate YAML keys in coverage-hourly.yml from squash merge (#4225)
  • 47fc0c2 🐛 Fix duplicate renderHook import in auth.test.ts (parse error breaking coverage) (#4240)
  • 8f7cc3d 🐛 Fix failing Go tests: IsAllowedOrigin and ValidateToken (#4224)
  • 42e1776 🐛 Fix false "screenshot uploaded" message when upload actually fails (#4220) (#4226)
  • 08edb2d 🐛 Fix inaccurate claims in security self-assessment (#4348)
  • 4b9777a 🐛 Fix kind E2E cluster creation: use kind get clusters + export kubeconfig
  • 747b369 🐛 Fix kind E2E: async creation, soft assertions, retry MC open
  • 57e1cd1 🐛 Fix landing pages stuck on spinner — move to lightweight route group (#4244)
  • b2ba58e 🐛 Fix misleading 'No operators' when fetch fails or times out (#4025)
  • b15a728 🐛 Fix missing isRefreshing in NamespaceRBAC card (#4005)
  • f1f5e5a 🐛 Fix missing isRefreshing in NetworkPolicyCoverage card (#4004)
  • 06fd5c8 🐛 Fix missing loading states in NamespaceOverview card (#4006)
  • a144416 🐛 Fix missing useCardLoadingState params across 3 cards (#4330)
  • 03a0111 🐛 Fix nightly regressions: consistency violations, vitest OOM, API retries (#4108)
  • e1cc266 🐛 Fix offline clusters stat block using solid heatmap styling (#4132)
  • 97d0e4d 🐛 Fix parse errors in context test files (#4255)
  • d1181e1 🐛 Fix production crash: remove bare console.* stripping from Vite define (#4248)
  • 2b0a561 🐛 Fix remaining console errors: auth refresh, CSP, GTM (#4364)
  • ded5c8b 🐛 Fix remaining test assertions: useAIPredictions, useActiveUsers, useDeployMissions, useLastRoute, useSidebarConfig, useTokenUsage
  • 5bd57d4 🐛 Fix root cause: duplicate mock keys + stray code in 18 test files
  • a7f143d 🐛 Fix screenshot success screen and add paste support in FeatureRequestModal (#4055)
  • e4ef89e 🐛 Fix screenshot upload failure and overlapping info tooltips (#4134)
  • c4afedd 🐛 Fix shared dropdownRef across .map() in suggestions/recommendations (#4232) (#4311)
  • afa0754 🐛 Fix sidebar collapse and pin icons overlapping with sidebar content (#3886) (#3887)
  • aa66cbe 🐛 Fix silent error handling in ClusterRole update and sync endpoint (#4129)
  • 7cf3263 🐛 Fix silent error swallowing and incorrect demo data fallback in data handlers (#4159)
  • adc1e3a 🐛 Fix stale agent closure in startMission/executeMission callbacks (#4228) (#4234)
  • 1876fe4 🐛 Fix stale chunk errors after deploy and add AI Missions navbar button (#4336)
  • 1ced6d4 🐛 Fix test assertions: AuthCallback, useActiveUsers, useArgoCD, useMissions, registerHooks, useDataSource
  • d1a4e80 🐛 Fix test assertions: crossplane, networking, cache, dynamicCardStore, dynamicStatsStore
  • 8420eac 🐛 Fix test assertions: useLocalClusterTools, useSidebarConfig, useTrestle, accessibility, analytics
  • a7a46a3 🐛 Fix tips to say 'KubeStellar Console' not just 'KubeStellar' (#4175)
  • 41e64df 🐛 Fix toggleNode to list GitHub repo file contents (#4063)
  • b50dc70 🐛 Fix unreadable green line — make dev mode indicator legible (#4095)
  • 29999cf 🐛 Fix useAIPredictions analyze tests: use advanceTimersByTimeAsync
  • 3d40331 🐛 Fix useActiveUsers + useDeployMissions-expand test assertions
  • 1686c3e 🐛 Fix useActiveUsers, useTokenUsage, and cache test assertions
  • 7688653 🐛 Fix useArgoCD-expand test assertions for current API
  • a9a4905 🐛 Fix useCachedData assertions + expand kagent_crds test coverage
  • a5f6e7c 🐛 Fix useLLMd + useResolutions test assertions for current API
  • 1675771 🐛 Fix useLastRoute + useResolutions + useSidebarConfig test assertions
  • 2a2a010 🐛 Fix usePrometheusMetrics, sseClient, executor test assertions
  • 1d44475 🐛 Guard against undefined config in dynamic card rendering (#4312) (#4323)
  • 114efe6 🐛 Harden card proxy: CIDR fatal, context propagation, AbortController (#4237)
  • 3bb16ce 🐛 Make Mission Control a proper modal dialog (#4339)
  • a58705e 🐛 Remove 3 expansion test files causing shard failures
  • 270afa0 🐛 Remove active users widget from navbar, widen agent setup modal (#4007)
  • a8bd5df 🐛 Remove broken OpenSSF Scorecard badge (repo not enrolled) (#4094)
  • 42796ba 🐛 Remove concurrency group from coverage — was blocking manual triggers (#4179)
  • 89b2fd4 🐛 Remove console.debug calls that leak metadata to production (#4239)
  • 0d65daa 🐛 Replace all window.confirm() with styled ConfirmDialog (#4057)
  • 9311e67 🐛 Replace dev mode bar with small DEV badge in navbar (#4149) (#4167)
  • 15b9330 🐛 Restore 23 truncated test files from working branch (#4274)
  • 93851d4 🐛 Restore all test files with balanced braces — fix coverage suite
  • 377cb03 🐛 Restore truncated test files — fix coverage drop to 12% (#4249)
  • ad5cb84 🐛 Return 400 for malformed webhook payloads instead of 500 (#4130)
  • 813ec1c 🐛 Return graceful degraded response for unreachable clusters instead of 500 (#4148)
  • 058e57e 🐛 Run merge-coverage even if some shards fail/cancel (#4183)
  • 9a33bd1 🐛 Screenshots as compressed comments + GHA processing (#4220) (#4342)
  • 197a0c3 🐛 Skip 2 flaky AlertsContext tests with timing issues in CI
  • b7ff224 🐛 Skip 3 failing test assertions — unblock coverage shards (#4275)
  • 9e06cc0 🐛 Skip 3 useCachedData tests with mock setup issues (not code regressions)
  • a167ba2 🐛 Skip failing ArgoCD card tests (component changed, tests not updated) (#4256)
  • cc1a040 🐛 Throttle Complication Handler: global concurrency group (1 at a time) (#4180)
  • bd9e2ba 🐛 URGENT: Remove unused DEV_BAR_HEIGHT_PX import blocking Netlify build (#4253)
  • 55329a8 🐛 fix: Copilot review feedback on #3979 and #3980 (#3981)
  • 05b2956 🐛 fix: Go security bugs — safe type assertions, race condition, dead code, dev secret (#3960)
  • 7c1e89a 🐛 fix: address Copilot review comments from PRs #4008 and #4009 (#4012)
  • 36ff8ea 🐛 fix: address Copilot review feedback on #3963 (#3964)
  • 2d33562 🐛 fix: address Copilot review on #3966 — fix mock leaks and remove duplicate test (#3971)
  • e7c554f 🐛 fix: auth security — JWT revocation on WS, token leak, 401 flag, stale tokens (#3961)
  • 160cdcc 🐛 fix: eliminate race condition in ISO 27001 parallel cluster audit (#3968) (#3985)
  • 1c1d641 🐛 fix: frontend bugs — drilldown crash, demo banner hover, arcade resize, save resolution (#3963)
  • 654141d 🐛 fix: markdown preview now matches GitHub rendering (#3974) (#3997)
  • 697496b 🐛 fix: missions search, mission state UX, namespace dropdown (#3962)
  • daa1b01 🐛 fix: remove server build metadata from unauthenticated /health endpoint (#3967) (#3986)
  • 8d5fa6c 🐛 fix: screenshots not uploaded in FeatureRequestModal (Contribute modal) (#3980)
  • eec972d 🐛 fix: target vllm-d runners with openshift label to prevent scooter-cks from stealing deploy jobs (#4017)
  • ce079a8 📖 Add AI quality assurance docs + 5 ratcheted antipattern checks (#4359)