## kubernetes-sigs/headlamp — v0.44.0…v0.45.0

_475+ commits._

### Features
- **frontend: getHeadlampAPIHeaders: Add backend token helpers** (66b35cf)
- **backend: auth: Add desktop backend token middleware** (206baad)
- **frontend: helpers: k8s: Add namespace restriction unit coverage** (327eb62)
- **app: setup-plugins: Support default-disabled plugins** (34d83a8)
- **Merge pull request #6759 from guillaumebernard84/add-allowed-namespaces-label-selector** (307aa5e)
- **frontend: Terminal: Add Electron right click context menu** (cdd1223)
- **frontend: Add allowed namespaces label selector to cluster settings** (4c26f8a)
- **frontend: pod: Add target container support to debug containers** (6d6e3ff)
- **Merge pull request #7144 from sniok/add-azure-aks-permissions** (1827915)
- **frontend: AppTheme themes: Support secondary contrast theme color** (08ce75e)
- **frontend: i18n: Add seven locale packs and extend pt-BR** (4065ac3)
- **frontend: i18n: Add the scheduling keys to the pt-PT locale** (ec199fc)

### Fixes
- **app: Fix binary naming scheme** (f521b47)
- **Merge pull request #7361 from illume/regression-149-empty-namespace-selectors** (3b3f439)
- **Merge pull request #7373 from illume/deps/fix-security-vulnerabilities** (76a8368)
- **headlamp-plugin: Fix npm dependency vulnerabilities** (be5c427)
- **app: Fix npm dependency vulnerabilities** (4778729)
- **frontend: Fix npm dependency vulnerabilities** (6e6d1ab)
- **backend: Update Go toolchain to 1.26.7 to fix stdlib vulnerabilities** (67cdf4d)
- **Merge pull request #7003 from unlikelyzero/fix/electron-suite-playwright-config** (1ea5e75)
- **Merge pull request #6655 from qiangli/fix/ingress-drop-removed-extensions-v1beta1** (01fe6ee)
- **Merge pull request #6988 from rootp1/fix-6555-map-loading-hang** (7249d05)
- **Merge pull request #6431 from tejhan/fix/oidc-token-rejection-loop** (334d8fe)
- **Merge pull request #7121 from rootp1/fix-terminal-context-menu** (89f37b3)
- **Merge pull request #6814 from KeerthiKumarR/fix-shortcuts-i18n** (b630aae)
- **backend: portforward: Fix context key to match rest of backend** (e8b0980)
- **Merge pull request #7216 from rootp1/fix-helm-e2e-plugin-manager** (0e5ce27)
- **Merge pull request #7241 from rootp1/fix-rwx-pvc-resource-map-groups** (bfafe7d)
- **Merge pull request #6707 from shreyas-acharya/fix/clusters-version-polling-background-tab** (f78f47e)
- **Merge pull request #7295 from utkarshalpha/fix-runcmd-consent-deny** (39eca99)
- **Merge pull request #6967 from unlikelyzero/fix/6639-a11y-electron-newpage** (c63fe42)
- **Merge pull request #5936 from vishnukothakapu/fix/use-local-storage-state-stale-closure-v2** (c149e48)
- **Merge pull request #6502 from Aamod007/fix/electron-zoom-persistence-3948** (c1d80ae)
- **Merge pull request #7319 from gambtho/fix-websocket-auth-fallback** (ec2ac36)
- **backend: cluster: Fix WebSocket auth fallback** (e99a94c)

### Backend
- **charts: tests: Align fixtures with CI Helm version** (0e9fe81)
- **app: scripts: Accept configured DMG artifact names** (4d7325a)
- **app: frontend: Authenticate bundled plugin requests** (1d5e116)
- **releaser: bump version to 0.45.0** (a000beb)
- **Merge pull request #7376 from illume/app-pin-feed-dependencies** (d5ffa35)
- **app: pin feed-compatible AI dependencies** (086a281)
- **Merge pull request #7353 from illume/upstream-0068-local-app-security** (cc9098f)
- **Merge pull request #7358 from illume/upstream-0147-reduce-startup-memory** (de4f7e2)
- **.github: workflows: Run app e2e tests on Linux** (93dce6f)
- **app: e2e-tests: Verify desktop backend token security** (0ec8bb0)
- **app: tray: Authenticate desktop cluster health checks** (365048c)
- **frontend: api/v2: Authenticate desktop cluster requests** (a2b1168)
- **frontend: api/v1: Authenticate desktop cluster requests** (42a1788)
- **backend: cmd: Protect desktop cluster routes** (bb0528b)
- **frontend: renderer: Defer optional modules** (840357e)
- **app: electron: Defer optional startup resources** (47fad43)
- **app: frontend: Cover startup memory branches** (6a5eaef)
- **app: e2e-tests: Verify MCP adapter bundle isolation** (7eaf6fa)
- **frontend: src: Cover deferred startup modules** (9612311)
- **container: Update base image digests for security patches** (78eacc0)
- **app: electron: Cover deferred startup resources** (c16d8ab)
- **app: MCPClient: Cover dormant adapter initialization** (78fd19d)
- **Merge pull request #6833 from illume/upstream-accessible-column-selector-0027-v2** (d6f286e)
- **frontend: useKubeObjectList: Preserve selector list access** (5841b30)
- **frontend: useKubeObjectList: Cover selector list permissions** (b7d2639)
- **Merge pull request #7363 from YousufFFFF/pr-6112-rebase** (c2f0716)
- **e2e-tests: podsPage: Verify keyboard column visibility changes** (16acd29)
- **frontend: Table: Make column selector keyboard accessible** (5bd2e20)
- **frontend: plugins: Address review of lazy plugin i18n loading** (dfc29ff)
- **frontend: i18n: Exclude test files from translation extraction** (09f9512)
- **frontend: plugins: Only fetch the active locale for plugin i18n** (21d82f3)
- **Merge pull request #7051 from illume/upstream-table-props-0057** (e5e0a84)
- **frontend: App: project: Resolve selectors for project views** (b3c4f9d)
- **frontend: project: e2e-tests: Cover selector project regressions** (03b75fd)
- **Merge pull request #6910 from illume/upstream-resource-map-label-reflow-0053** (069925c)
- **frontend: components: k8s: Fail closed for empty selectors** (5851dae)
- **frontend: allowedNamespaces: Cover disabled selector branches** (9a1d8df)
- **e2e-tests: namespaceRestrictions.spec: Cover selector restrictions** (5b1d08f)
- **Merge pull request #6828 from illume/upstream-default-disabled-plugins** (ec808a6)
- **frontend: plugin: Scope defaults to shipped plugins** (7198c62)
- **app: setup-plugins: Apply bundled defaults atomically** (3924824)
- **app: pluginDefaultEnablement.spec: Verify shipped default state** (9f404a6)
- **e2e-tests: pluginSetting.spec: Verify initial plugin state** (05c79e8)
- **frontend: updateSettingsPackages: Cover plugin default behavior** (02a7269)
- **Merge pull request #6831 from illume/upstream-build-manifest-product-metadata** (f69eae3)
- **Merge pull request #6903 from illume/upstream-0046-plugin-source-map-offset** (df10f35)
- **Merge pull request #6819 from krsatyamthakur-droid/frontend/workload-service-account** (a5a69c7)
- **Merge pull request #6908 from illume/upstream-list-plugins-without-shell-0044** (b933e82)
- **e2e-tests: oidcTokenRejection.spec: Verify OIDC rejection flow** (9a3b318)
- **backend: log a warning when the API server rejects an OIDC token.** (e0c99c7)
- **frontend: surface OIDC token rejection instead of looping to login** (54a83e0)
- **frontend: workloads: Show service account in the details view** (5baf74e)
- **frontend: Warn on empty selector and resolve it per cluster** (b184b36)
- **frontend: Rework allowed namespaces selector resolution** (770b3cd)
- **Merge pull request #7245 from Suyog241005/feat/debug-container-target-v2** (f4bf5bc)
- **Merge pull request #7255 from illume/upstream-0058-tooltip-landmark-a11y** (e242f71)
- **Merge pull request #6109 from r0hansaxena/backend/portforward-context-key** (754b4d9)
- **Merge pull request #6827 from illume/app-external-plugin-manifest** (06232ad)
- **backend: portforward: Include target ports in websocket URLs** (4ca567c)
- **backend: portforward: Use context key for duplicate checks** (3536e65)
- **e2e-tests: dynamicCluster: Reproduce stateless port forwarding** (43e0b5c)
- **frontend: resourceMap: Allow labels to reflow at high zoom** (778ed51)
- **e2e-tests: resourceMap.spec.ts: Test long label reflow** (54d9b59)
- **e2e-tests: a11yHelper: Exclude tooltip landmark checks** (3ead3ce)
- **e2e-tests: podsPage.spec: Check visible tooltip accessibility** (61c6948)
- **e2e-tests: a11yHelper: Cover region exclusion scans** (da1825c)
- **.github: e2e-tests: Enforce compatible accessibility coverage** (b35541f)
- **e2e-tests: crdMocks.spec: Allow cold Storybook startup** (af11a7f)
- **frontend: i18n: Refresh translation catalogs** (b5f75cf)
- **Merge pull request #6909 from illume/upstream-0043-linux-executable-name** (8ec4bc1)
- **Merge pull request #7054 from illume/upstream-0054-secondary-theme-contrast** (ac70249)
- **Merge pull request #7065 from illume/upstream-windows-shell-lookup-0061** (284bc71)
- **Merge pull request #7288 from illume/upstream-0048-product-error-content** (6d26cc3)
- **app: build manifest: Validate untrusted metadata** (d571fb4)
- **app: build manifest: Configure product metadata** (89b7ab3)
- **app: build manifest: Characterize product metadata** (43ec500)
- **app: Plugin setup: Pin bundled plugin checksums** (e6d7904)
- **app: Plugin setup: Harden identity verification** (ee82203)
- **app: E2E tests: Run TypeScript plugin setup explicitly** (9af080a)
- **app: Plugin identity: Verify packaged plugin identities** (5d24e02)
- **app: Plugin identity: Test packaged plugin validation** (dbf43b8)
- **frontend: i18n: Sync scheduling catalogs** (0f9198c)
- **Merge pull request #7069 from illume/upstream-unscheduled-pod-grouping-0059** (8929011)
- **Merge pull request #6669 from kahirokunn/cluster-inventory-namespaces** (471d7fd)
- **frontend: i18n: Sync workload scheduling locale keys** (9ff8410)
- **app: shellEnv: Execute login shell without interpolation** (886ab91)
- **app: shellEnv: Skip Unix shell lookup on Windows** (762de76)
- **app: shellEnvironment.spec: Verify shell environment discovery** (9a80d90)
- **Merge pull request #6562 from Anjali-Chauhan1/feature/workload-aware-scheduling** (5d2d76b)
- **Merge pull request #7248 from illume/upstream-backend-app-name-0031** (6cd26a4)
- **Merge pull request #6887 from illume/upstream-dmg-license-0037-b99dfd26** (01cb54f)
- **Merge pull request #6832 from illume/upstream-storybook-crd-mocks** (6c52a64)
- **Merge pull request #6892 from illume/upstream-0042-graphview-crd-watch** (e823f48)
- **Merge pull request #6936 from illume/upstream-project-header-action-navigation-0051** (911df34)
- **app: plugins: Address archive review safeguards** (df9f922)
- **e2e: Storybook: Run CRD mock tests in CI** (494f993)
- **Merge pull request #6893 from illume/upstream-generic-locale-packs-0041** (a06e213)
- **e2e-tests: themeContrast.spec: Verify secondary theme contrast** (91f377c)
- **frontend: ErrorPage: Configure product-specific content** (54cea44)
- **app: packaging: Derive the Linux executable name** (8860623)
- **app: packaging: Test derived Linux executable name** (279ebde)
- **e2e: i18n: Verify locale selection** (3556b73)
- **frontend: i18n: Cover locale theme behavior** (fa693b6)
- **Merge pull request #6730 from rootp1/releaser/security-check** (26e939b)
- **Merge pull request #6859 from illume/upstream-artifact-package-name-0030** (00e27ae)
- **frontend: Update storyshots for the details header live region** (ba5653c)
- **frontend: Workload: Model the pod group template scheduling fields** (388702e)
- **frontend: Workload: Model the composite template scheduling fields** (d8bade1)
- **frontend: PodGroupList: Drop the version specific condition name from a comment** (bf7743d)
- **frontend: PodGroup: Normalize the scheduling condition across versions** (d485466)
- **frontend: Update storyshots for the sticky details header** (545161c)

### Docs
- **docs: development/backend: Document backend token opt-in policy** (116a4b4)
- **docs: backend: Document memory profiling workflow** (9babc8e)
- **docs: add troubleshooting note for OIDC token rejection** (a6f29b6)
- **docs: frontend: Document product error environment variables** (733af44)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/kubernetes-sigs/headlamp?utm_source=github-action)._