chore(deps): update cask kubernetes-sigs/headlamp to v0.44.0 #36

Merged
isityael merged 1 commit from renovate/cask-updates into main 2026-08-05 15:00:49 +00:00
isityael commented 2026-07-17 18:00:55 +00:00 (Migrated from github.com)

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Update Change
kubernetes-sigs/headlamp minor 0.42.00.44.0

Release Notes

kubernetes-sigs/headlamp (kubernetes-sigs/headlamp)

v0.44.0: 0.44.0

Compare Source

Need for speed! 🏎️ 💨  Headlamp 0.44.0 extends practical cluster support beyond 30,000 pods. Resource Map remains usable at this scale, Pod lists fetch 1,000 items at a time, Cluster Overview avoids unbounded watch traffic, and Brotli pre-compression reduces typical JavaScript and CSS transfers by 75-80% and server load for compression to 0%. Got dozens of clusters? Headlamp doesn't try to connect to all of them at startup anymore (potentially opening several browser login windows). Four new structured forms cover DaemonSets, CronJobs, Jobs, and ReplicaSets, while ConfigMap binaryData, ServiceAccount permission visibility, Gateway API v1.5.1, and new plugin controls expand day-to-day capabilities. The release includes 99+ bug fixes, including protections against white-screen startup failures when developing Headlamp on Windows, more accurate workload health reporting, stable large-manifest editing on large busy clusters, and actionable cluster connection errors. Accessibility work restores macOS zoom, improves WCAG AA contrast in a few spots, and broadens automated a11y checks. Security and documentation updates add github cosign of release checksums, safer redirects, tested in-cluster kubeconfig examples, and ready-to-use MCP configurations.

These changes were contributed by over 100+ people. Thanks! 🎉

Performance

ResourceMap performance improved with iterative BFS, graph simplification, and incremental WebSocket updates — 59% faster initial load and 86% faster updates at 2,000 pods, and clusters with 20,000+ pods are now usable where they previously crashed the browser. Thanks to @​illume. Also thanks to @​itpick for reporting the issue. #​4991
Cluster overview now polls pod, node, and event data every minute instead of using persistent watch streams, preventing browser OOMs on large clusters. Thanks to @​Aamod007. Also thanks to @​lucas-jackson for reporting the issue. #​6021
Optimized sidebar rendering to eliminate UI lag and main thread blocking caused by unnecessary DOM nodes and layout thrashing during CSS transitions. Thanks to @​Psykii22. #​6233
Frontend and plugin static assets are now precompressed with Brotli and served as .br sidecars — JS/CSS bundles are 75–80% smaller over the wire, WASM assets ~60% smaller, and runtime CPU compression overhead drops to zero. Thanks to @​illume. #​6004
Fixed a memory leak where Backstage receiver event listeners accumulated on each remount of the Home component, improving stability during navigation. Thanks to @​Rohith-Saran. #​5775
Fixed unbounded memory growth in OIDC login by evicting abandoned state tokens that were never cleaned up when users left the login flow. Thanks to @​ayushmaan-16. #​5866
Reduced per-message memory allocations in the WebSocket multiplexer hot path by replacing reflection-based decoding and fmt.Sprintf with typed structs and string concatenation. Thanks to @​Slambot01. #​6294
Reduced memory allocations in the k8cache hot path by checking error status before marshalling and replacing fmt.Sprintf with string concatenation, improving cache performance. Thanks to @​Slambot01. #​6420
Replaced repeated linear metrics searches with a memoized namespace/name-keyed Map in the Pod List, reducing CPU overhead during metric lookups. Thanks to @​skools-here. #​6011
Added pagination to the Pods list with a 1000-item budget and a load-more button, preventing out-of-memory crashes on clusters with tens of thousands of pods. Thanks to @​drewbailey. #​5660
ResourceMap performance improved with iterative BFS, graph simplification, and incremental WebSocket updates.

20,000+ pods — all operations under 37ms, where previously the browser would crash:

Resource Map showing 20,000+ pods with all operations under 37ms
Added pagination to the Pods list with a 1,000-item budget and a load-more button, preventing out-of-memory crashes on clusters with tens of thousands of pods.
Pod list showing 1,000 of ~35,600 pods with a Load more button lots of pods





📱 Mobile

A mobile audit was done, and a number of improvements were made.

Tables now hide least-important columns first on narrow viewports instead of squashing them, keeping visible data readable at high zoom levels. Thanks to @​skoeva. #​6468
Fixed several mobile UI issues including overflow-menu, dialog, terminal, editor, and temporary-sidebar behaviour, making the interface more reliable on small screens. Thanks to @​illume. #​5739
Tables now hide least-important columns first on narrow viewports instead of squashing them.
Resource table keeping important columns readable on a narrow viewport
Mobile overflow menus and terminal dialogs now use the available screen space more effectively.
Mobile overflow menu with labelled Settings and Account actions Full-screen terminal dialog using the available mobile viewport





Enhancements (part 1 of 2)

Administrators can now set a custom default node shell image via a --node-shell-image flag and Helm value, useful for airgapped or restricted deployments. Thanks to @​aryanraj45. #​6056
The ServiceAccount detail page now lists all RoleBindings and ClusterRoleBindings that reference the account, making it easy to audit granted permissions. Thanks to @​sudhidutta7694. Also thanks to @​jcpunk for reporting the issue. #​6040
Added a structured creation form for DaemonSets, letting users create DaemonSet resources through the UI form alongside the existing YAML editor. Thanks to @​vyncent-t. #​6514
Added a structured CreateCronJobForm for CronJob resources, letting users configure schedule, time zone, concurrency policy, and job template fields through the UI. Thanks to @​vyncent-t. #​6422
Added a structured create form for Job resources with field validation, reusable metadata fields, and a new boolean/checkbox field type. Thanks to @​vyncent-t. #​6343
In-cluster context name is now automatically derived from the kubeadm-config ConfigMap, removing the need to manually set --in-cluster-context-name. Thanks to @​Anjali-Chauhan1. Also thanks to @​jcpunk for reporting the issue. #​6342
Added support for the binaryData field in ConfigMap detail and list views, so binary entries are now displayed, editable, and counted alongside data. Thanks to @​dabico. #​6264
Node debugger settings now show the actual default Docker image and namespace as dynamic placeholders, matching backend configuration including custom overrides. Thanks to @​dabico. #​6253
Added Arabic, Hebrew, and Russian localizations to the data table component so users of those languages see correctly translated table UI strings. Thanks to @​Priyanshu-rgbb. #​6226
YAML syntax errors in EditorDialog now display a red squiggly underline at the exact line and column, making it easier to spot and fix invalid YAML before applying. Thanks to @​Psykii22. #​5954
Added support for the binaryData field in ConfigMap detail and list views, so binary entries are now displayed, editable, and counted alongside data.
ConfigMap detail view showing binaryData field alongside data
Added a structured creation form for DaemonSets, letting users create DaemonSet resources through the UI form alongside the existing YAML editor.
DaemonSet structured creation form
YAML syntax errors in EditorDialog now display a red squiggly underline at the exact line and column, making it easier to spot and fix invalid YAML before applying.
Monaco editor showing red squiggly underline on YAML syntax error





Enhancements (part 2 of 2)

Headlamp now auto-connects only to recently-used clusters on startup, avoiding slow or disruptive credential prompts for users with many clusters in their kubeconfig. Thanks to @​skoeva. #​6169
Added a --node-shell-namespace flag and Helm value so admins can configure the namespace used for node shell pods instead of defaulting to 'default'. Thanks to @​aryanraj45. #​6072
Added a structured create form for ReplicaSets with Metadata, Spec, and Pod Template sections, so users no longer need to write raw YAML to create one. Thanks to @​vyncent-t. #​5995
Added 100 as a rows-per-page option in resource tables, reducing the number of paginations needed when browsing namespaces with more than 50 resources. Thanks to @​ibshafique. #​5971
Added a color-coded usage progress bar to the ResourceQuota detail view, making it easy to spot quota pressure at a glance. Thanks to @​beep-boopp. #​5875
Added a desktop setting to optionally hide the system tray icon, giving users who prefer no tray presence an easy opt-out. Thanks to @​VlatkoMilisav. #​5754
Added a tooltip disclaimer next to Events tables explaining Kubernetes Event retention lifetime, helping users understand why older events may disappear. Thanks to @​dabico. #​5531
Headlamp now auto-connects only to recently-used clusters on startup, avoiding slow or disruptive credential prompts for users with many clusters in their kubeconfig.
Home page showing only recently-used clusters
Added a color-coded usage progress bar to the ResourceQuota detail view, making it easy to spot quota pressure at a glance.
ResourceQuota detail view with color-coded usage progress bar
Added a structured CreateCronJobForm for CronJob resources, letting users configure schedule, time zone, concurrency policy, and job template fields through the UI.
CronJob structured creation form
Added a tooltip disclaimer next to Events tables explaining Kubernetes Event retention lifetime, helping users understand why older events may disappear.
Events table with retention lifetime tooltip





🐞 Bug fixes (part 1 of 11)

Headlamp desktop now only terminates its own user's headlamp-server processes, preventing one user on a shared machine from killing another user's backend. Thanks to @​Aamod007. Also thanks to @​lombardialess for reporting the issue. #​6522
Resolved known npm dependency vulnerabilities across all packages by applying npm audit fixes. Thanks to @​yolossn. #​6671
Fixed the active tab highlight in NavigationTabs so tabs like Network Policies are correctly selected when hidden sidebar items are filtered out. Thanks to @​Adii-45. #​6251
Fixed port forwarding list appearing empty for dynamically added clusters by returning the correct cluster name instead of the internal user-suffixed cache key. Thanks to @​Athang69. Also thanks to @​ondrab1 for reporting the issue. #​6188
Fixed the Pods overview chart always showing 100% running by correctly reflecting pods in Error, CrashLoopBackOff, Pending, and other non-running states. Thanks to @​xonas1101. #​6114
Stale Kubernetes API responses and authorization clientsets are now purged immediately when a kube context is removed, preventing stale data from being served. Thanks to @​Pragati5-DEBUG. #​6113
StorageClass list no longer shows undefined in the Allow Volume Expansion column — the cell now displays Yes/No or remains empty when the field is absent. Thanks to @​dabico. #​6308
Added service.appProtocol support to the Headlamp Helm chart, fixing WebSocket and Gateway API compatibility issues with Kubernetes ingress routing. Thanks to @​cgiraldo. #​6049
StorageClass list no longer shows undefined in the Allow Volume Expansion column — the cell now displays Yes/No or remains empty when the field is absent.
StorageClass list with Yes/No in Allow Volume Expansion column





🐞 Bug fixes (part 2 of 11)

API discovery errors and fallbacks are now logged instead of silently swallowed, making it easier to diagnose why legacy discovery paths are being taken. Thanks to @​WasThatRudy. Also thanks to @​krsatyamthakur-droid for reporting the issue. #​6033
Helm chart env values schema now supports valueFrom (secretKeyRef, configMapKeyRef, fieldRef), enabling Kubernetes-native secret and config injection for Headlamp deployments. Thanks to @​Athang69. Also thanks to @​The-Judge for reporting the issue. #​6002
Fixed cache middleware crashing with 'invalid url format' on non-API cluster paths like /healthz, so proxied apiserver endpoints are handled correctly. Thanks to @​Nabsku. #​5798
Improved hook memoization and lazy initialization in ResourceTable settings, resolving React hook warnings without changing table behavior. Thanks to @​kishore08-07. #​5790
Added full support for Kubernetes Gateway API v1.5.1, including BackendTLSPolicy, GRPCRoute, and ReferenceGrant graduating to the Standard channel. Thanks to @​YotamKorah. #​5395
Fixed a race condition in kubeconfig WriteToFile that caused data corruption or missing files when concurrent calls occurred within the same second. Thanks to @​KumarADITHYA123. #​5309
Metrics unavailability (timeouts, CrashLoopBackOff, etc.) now correctly shows a 'metrics unavailable' state instead of silently displaying 0% CPU and memory usage. Thanks to @​Shreya2005-2005. #​5238
Guarded against undefined uid and name in search filtering, preventing a crash when resources with incomplete metadata appear in the list. Thanks to @​krsatyamthakur-droid. #​6680
Updated outdated frontend packages across app, headlamp-plugin, pluginctl, eslint-config, and i18n tooling to improve compatibility and security. Thanks to @​illume. #​6679
Fixed a failing cluster snapshot test on the main branch introduced by a recent merge. Thanks to @​illume. #​6665





🐞 Bug fixes (part 3 of 11)

Images embedded as raw HTML in GitHub release notes now render correctly in the Release Notes dialog instead of being silently dropped. Thanks to @​Pragati5-DEBUG. Also thanks to @​skoeva for reporting the issue. #​6642
Fixed the desktop e2e suite so all tests pass reliably and no longer corrupt the developer's kubeconfig on each run. Thanks to @​unlikelyzero. #​6641
Fixed the DataField editor collapsing to 5px at non-100% browser zoom levels by calculating container height in React instead of via imperative DOM mutations. Thanks to @​bhuvan-somisetty. Also thanks to @​hxl9654 for reporting the issue. #​6619
Fixed a crash on the Secrets list page caused by corrupt localStorage JSON for the 'Hide Helm Secrets' toggle, replacing the unguarded parse with safe fallback handling. Thanks to @​Aamod007. #​6526
Fixed a white-screen-on-boot caused by corrupt notifications localStorage JSON being parsed before any error boundary mounted, so the app now loads normally instead of crashing. Thanks to @​Aamod007. #​6524
Enforced minimum Vitest coverage thresholds for the frontend suite so CI automatically catches real regressions in statements, branches, functions, and lines. Thanks to @​rootp1. #​6486
Images embedded as raw HTML in GitHub release notes now render correctly in the Release Notes dialog instead of being silently dropped.
Release Notes dialog rendering HTML images from GitHub releases





🐞 Bug fixes (part 4 of 11)

Added a nil-error guard in the backend handleError helper to prevent a panic when a nil error is accidentally passed by any of its callers. Thanks to @​vtushar06. #​6437
Fixed a regression where searching for a namespace name flooded results with every resource in that namespace; the 'Set namespace' shortcut now appears correctly and only once. Thanks to @​Priyanshu-rgbb. #​6432
Fixed MULTI_HOME_ENABLED always evaluating to true, so setting REACT_APP_MULTI_HOME_ENABLED=false now correctly disables the Multi Home feature. Thanks to @​ssz2605. #​6424
Cluster rename via kubeconfig now returns an explicit error when the target context is missing, preventing silent failures that left state unchanged. Thanks to @​rootp1. #​6415
Fixed metricTargetValue() in HPA to correctly display 0% for zero averageUtilization values and ensure all metric types are evaluated properly. Thanks to @​skools-here. #​6412
Fixed typos in platform and contributing docs and updated Node.js/npm version prerequisites in plugin tutorials to match current package.json requirements. Thanks to @​Harsh63870. #​6408
Reformatted the Desktop App dependency list in the architecture docs as a Markdown bullet list, improving readability. Thanks to @​kunaldevsahu. #​6384
Fixed a typo in the CronJob list's lastScheduleTime accessor so the Last Schedule column can now be sorted and filtered correctly. Thanks to @​skools-here. #​6383
Fixed a regression where searching for a namespace name flooded results with every resource in that namespace; the 'Set namespace' shortcut now appears correctly and only once.
Global search showing only the Set namespace shortcut for a bare namespace query





🐞 Bug fixes (part 5 of 11)

Fixed a stale WebSocket subscription in useKubeObject when navigating between resources of the same kind, ensuring live updates reflect the correct resource. Thanks to @​Adii-45. #​6345
Fixed PortForward tooltip translation, added secure rel attributes to external links, and hardened localStorage parsing to prevent crashes or UI desync on failures. Thanks to @​KumarADITHYA123. #​6341
Wrapped recentClusters localStorage reads in try/catch to prevent app startup crashes when stored data is corrupted or unreadable. Thanks to @​Kakumanu-Harshitha. #​6310
Guarded useLocalStorageState against corrupted data and QuotaExceededError, preventing blank-screen crashes across 13 components that rely on it. Thanks to @​Kakumanu-Harshitha. #​6307
Fixed frontend test failures on Node.js 24 caused by an AbortSignal incompatibility between jsdom, nock, and the native Request implementation. Thanks to @​vanshika2720. #​6299
Hardened loadTableSettings and storeTableSettings against corrupt localStorage data, preventing blank-screen crashes on all resource list views. Thanks to @​Kakumanu-Harshitha. #​6298
Fixed duplicate HTML id attribute in TimezoneSelect Autocomplete to prevent conflicts when both TimezoneSelect and Chooser are rendered on the same page. Thanks to @​Priyanshu-rgbb. #​6281





🐞 Bug fixes (part 6 of 11)

Fixed parseCpu() to use parseFloat so decimal CPU values like 0.5 or 1.5 cores are parsed correctly instead of being silently truncated. Thanks to @​xonas1101. #​6259
Fixed 'Phase: undefined' display in the Project Resources tab by falling back to 'Unknown' when a pod's phase is not yet reported. Thanks to @​krsatyamthakur-droid. #​6257
Fixed Job detail page incorrectly showing Duration: 0s for still-running jobs; the duration row is now hidden until the job completes. Thanks to @​xonas1101. #​6237
Fixed a nil pointer dereference panic in OidcConfig() when AuthInfo is nil, preventing crashes during token-based or unresolved-user authentication. Thanks to @​Anjali-Chauhan1. #​6235
Replaced bare fmt.Println calls in backend startup with structured logging so startup messages are now captured consistently by the logger. Thanks to @​Rucha0901. #​6224
Fixed the YAML/JSON editor scrolling back to the top on validation errors, so users editing large manifests no longer lose their position while typing. Thanks to @​krsatyamthakur-droid. Also thanks to @​prisha-sh for reporting the issue. #​6209
Cluster connection warning bar is now dismissible, shows the real failure reason with an actionable link, and no longer overlaps window controls. Thanks to @​Anjali-Chauhan1. Also thanks to @​rnc for reporting the issue. #​6206
Fixed a crash in Chrome when the system timezone resolves to an unrecognized identifier like Etc/Unknown, preventing a RangeError on affected Linux systems. Thanks to @​bhuvan-somisetty. Also thanks to @​adriansev for reporting the issue. #​6204
Fixed a React hooks violation in CreateNamespaceButton by deriving validation state during render instead of via useEffect, eliminating the stale-state bug. Thanks to @​Shahazadi-Shaguftha-Syed. #​6192
Fixed Jobs, CronJobs, and JobSet overview charts that were always stuck at 100% healthy by adding correct status logic for workloads without replica fields. Thanks to @​xonas1101. #​6185
Dismissible cluster connection warning bar with failure reason and settings link





🐞 Bug fixes (part 7 of 11)

Fixed OIDC login 404s in local dev by correcting the proxy path from /auth to /auth/, and enforced LF line endings for TS/JS/JSON files. Thanks to @​kjosh-bcvmw. #​6184
Fixed a crash when loading kubeconfigs containing non-Latin1 characters (e.g. Chinese cluster names) by replacing btoa() with UTF-8-safe base64 helpers. Thanks to @​Anjali-Chauhan1. Also thanks to @​youngledo for reporting the issue. #​6178
Fixed the Activity tab title for workload logs so it is now properly localized instead of always showing a hardcoded English 'Logs: ' prefix. Thanks to @​Adii-45. #​6171
Container status tooltips in the Pods list are now translated and respect the user's configured timezone instead of always showing English text and UTC times. Thanks to @​krsatyamthakur-droid. #​6168
Fixed a translation key case mismatch in LogsButton so the correct localized string is now displayed. Thanks to @​srajang1805. #​6163
Fixed broken frontend snapshot tests on main caused by a merge conflict with outdated snapshots. Thanks to @​illume. #​6160
Fixed a variable name typo (namepsacenamespace) and removed dead commented-out code in NodeShellAction with no functional changes. Thanks to @​srajang1805. #​6159
Added optional chaining to KubeObject subclasses so the UI gracefully handles incomplete Kubernetes object data instead of throwing TypeErrors. Thanks to @​Psykii22. #​6145
Fixed a typo in the node drain status error message ('repsone' → 'response') for clearer error reporting. Thanks to @​Rucha0901. #​6141





🐞 Bug fixes (part 8 of 11)

Isolated TestDynamicClustersKubeConfig to a temp directory so test runs no longer pollute the user's real Headlamp config. Thanks to @​Athang69. Also thanks to @​sniok for reporting the issue. #​6136
Fixed a spelling mistake ('listernerApi' → 'listenerApi') in headlampEventSlice for cleaner, more readable code. Thanks to @​rutujdhawale. #​6131
Fixed a cache-key collision in k8cache by percent-encoding literal '+' characters so the '+' delimiter is no longer ambiguous with field content. Thanks to @​sid200727. #​6127
Fixed a Storybook startup failure caused by a circular dependency on Node story helpers, allowing all stories to load correctly. Thanks to @​mahesh-09-12. #​6126
Replaced loose any typing on DocsViewer's docSpecs prop with a strict type, improving type safety and editor autocompletion. Thanks to @​r0hansaxena. #​6098
Fixed the CRD Details Versions table incorrectly showing the storage value in the Served column instead of the served value. Thanks to @​mahesh-09-12. #​6095
Fixed a rules-of-hooks violation in AuthVisible that could cause unexpected behavior by ensuring all hooks run before any early returns. Thanks to @​therealharshit. Also thanks to @​illume for reporting the issue. #​6092
Centralized the hardcoded backend base URL into a single API_BASE constant across Storybook stories, making future URL changes a one-line update. Thanks to @​xonas1101. #​6088
Wrapped hardcoded English strings on the Custom Resource Instances page with i18n so they are now correctly translated with the rest of the UI. Thanks to @​krsatyamthakur-droid. #​6087





🐞 Bug fixes (part 9 of 11)

Fixed a react-hooks/exhaustive-deps lint suppression in ViewButton by using a ref for the initial toggle value, making the effect correctly dependency-safe.

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Update | Change | |---|---|---| | [kubernetes-sigs/headlamp](https://redirect.github.com/kubernetes-sigs/headlamp) | minor | `0.42.0` → `0.44.0` | --- ### Release Notes <details> <summary>kubernetes-sigs/headlamp (kubernetes-sigs/headlamp)</summary> ### [`v0.44.0`](https://redirect.github.com/kubernetes-sigs/headlamp/releases/tag/v0.44.0): 0.44.0 [Compare Source](https://redirect.github.com/kubernetes-sigs/headlamp/compare/headlamp-helm-0.43.0...v0.44.0) **Need for speed!** :racing\_car: :dash:  [Headlamp 0.44.0](https://redirect.github.com/kubernetes-sigs/headlamp/releases/tag/v0.44.0) extends practical cluster support beyond 30,000 pods. Resource Map remains usable at this scale, Pod lists fetch 1,000 items at a time, Cluster Overview avoids unbounded watch traffic, and Brotli pre-compression reduces typical JavaScript and CSS transfers by 75-80% and server load for compression to 0%. Got dozens of clusters? Headlamp doesn't try to connect to all of them at startup anymore (potentially opening several browser login windows). Four new structured forms cover DaemonSets, CronJobs, Jobs, and ReplicaSets, while ConfigMap `binaryData`, ServiceAccount permission visibility, Gateway API v1.5.1, and new plugin controls expand day-to-day capabilities. The release includes 99+ bug fixes, including protections against white-screen startup failures when developing Headlamp on Windows, more accurate workload health reporting, stable large-manifest editing on large busy clusters, and actionable cluster connection errors. Accessibility work restores macOS zoom, improves WCAG AA contrast in a few spots, and broadens automated a11y checks. Security and documentation updates add github cosign of release checksums, safer redirects, tested in-cluster kubeconfig examples, and ready-to-use MCP configurations. These changes were contributed by over 100+ people. Thanks! :tada: #### ⚡ Performance | | | | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | ResourceMap performance improved with iterative BFS, graph simplification, and incremental WebSocket updates — 59% faster initial load and 86% faster updates at 2,000 pods, and clusters with 20,000+ pods are now usable where they previously crashed the browser. | Thanks to [@&#8203;illume](https://redirect.github.com/illume). Also thanks to [@&#8203;itpick](https://redirect.github.com/itpick) for reporting the issue. [#&#8203;4991](https://redirect.github.com/kubernetes-sigs/headlamp/issues/4991) | | Cluster overview now polls pod, node, and event data every minute instead of using persistent watch streams, preventing browser OOMs on large clusters. | Thanks to [@&#8203;Aamod007](https://redirect.github.com/Aamod007). Also thanks to [@&#8203;lucas-jackson](https://redirect.github.com/lucas-jackson) for reporting the issue. [#&#8203;6021](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6021) | | Optimized sidebar rendering to eliminate UI lag and main thread blocking caused by unnecessary DOM nodes and layout thrashing during CSS transitions. | Thanks to [@&#8203;Psykii22](https://redirect.github.com/Psykii22). [#&#8203;6233](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6233) | | Frontend and plugin static assets are now precompressed with Brotli and served as .br sidecars — JS/CSS bundles are 75–80% smaller over the wire, WASM assets \~60% smaller, and runtime CPU compression overhead drops to zero. | Thanks to [@&#8203;illume](https://redirect.github.com/illume). [#&#8203;6004](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6004) | | Fixed a memory leak where Backstage receiver event listeners accumulated on each remount of the Home component, improving stability during navigation. | Thanks to [@&#8203;Rohith-Saran](https://redirect.github.com/Rohith-Saran). [#&#8203;5775](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5775) | | Fixed unbounded memory growth in OIDC login by evicting abandoned state tokens that were never cleaned up when users left the login flow. | Thanks to [@&#8203;ayushmaan-16](https://redirect.github.com/ayushmaan-16). [#&#8203;5866](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5866) | | Reduced per-message memory allocations in the WebSocket multiplexer hot path by replacing reflection-based decoding and fmt.Sprintf with typed structs and string concatenation. | Thanks to [@&#8203;Slambot01](https://redirect.github.com/Slambot01). [#&#8203;6294](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6294) | | Reduced memory allocations in the k8cache hot path by checking error status before marshalling and replacing `fmt.Sprintf` with string concatenation, improving cache performance. | Thanks to [@&#8203;Slambot01](https://redirect.github.com/Slambot01). [#&#8203;6420](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6420) | | Replaced repeated linear metrics searches with a memoized namespace/name-keyed Map in the Pod List, reducing CPU overhead during metric lookups. | Thanks to [@&#8203;skools-here](https://redirect.github.com/skools-here). [#&#8203;6011](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6011) | | Added pagination to the Pods list with a 1000-item budget and a load-more button, preventing out-of-memory crashes on clusters with tens of thousands of pods. | Thanks to [@&#8203;drewbailey](https://redirect.github.com/drewbailey). [#&#8203;5660](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5660) | ##### ResourceMap performance improved with iterative BFS, graph simplification, and incremental WebSocket updates. 20,000+ pods — all operations under 37ms, where previously the browser would crash: <img width="1700" alt="Resource Map showing 20,000+ pods with all operations under 37ms" src="https://github.com/user-attachments/assets/0f208f59-635a-40ba-a964-a828c418729a" /> ##### Added pagination to the Pods list with a 1,000-item budget and a load-more button, preventing out-of-memory crashes on clusters with tens of thousands of pods. <img width="1700" alt="Pod list showing 1,000 of ~35,600 pods with a Load more button" src="https://github.com/user-attachments/assets/fbb5e598-693d-4538-a1ea-2a0d70c033c0" /> <img width="336" height="71" alt="lots of pods" src="https://github.com/user-attachments/assets/7cbc2b5c-70d0-409f-b234-3dbb9dc9efe0" /> <br><br> <br><br> #### 📱 Mobile A mobile audit was done, and a number of improvements were made. | | | | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------: | | Tables now hide least-important columns first on narrow viewports instead of squashing them, keeping visible data readable at high zoom levels. | Thanks to [@&#8203;skoeva](https://redirect.github.com/skoeva). [#&#8203;6468](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6468) | | Fixed several mobile UI issues including overflow-menu, dialog, terminal, editor, and temporary-sidebar behaviour, making the interface more reliable on small screens. | Thanks to [@&#8203;illume](https://redirect.github.com/illume). [#&#8203;5739](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5739) | ##### Tables now hide least-important columns first on narrow viewports instead of squashing them. <img width="390" alt="Resource table keeping important columns readable on a narrow viewport" src="https://github.com/user-attachments/assets/53cdc2d7-32f1-4c4c-bbe4-dd23321b205a" /> ##### Mobile overflow menus and terminal dialogs now use the available screen space more effectively. <img width="390" alt="Mobile overflow menu with labelled Settings and Account actions" src="https://github.com/user-attachments/assets/0417f3e6-21ab-4f54-afea-0123664b45ef" /> <img width="390" alt="Full-screen terminal dialog using the available mobile viewport" src="https://github.com/user-attachments/assets/42754076-c3c9-47fa-bc98-e0477ad8c81a" /> <br><br> <br><br> #### ✨ Enhancements (part 1 of 2) | | | | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | Administrators can now set a custom default node shell image via a `--node-shell-image` flag and Helm value, useful for airgapped or restricted deployments. | Thanks to [@&#8203;aryanraj45](https://redirect.github.com/aryanraj45). [#&#8203;6056](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6056) | | The ServiceAccount detail page now lists all RoleBindings and ClusterRoleBindings that reference the account, making it easy to audit granted permissions. | Thanks to [@&#8203;sudhidutta7694](https://redirect.github.com/sudhidutta7694). Also thanks to [@&#8203;jcpunk](https://redirect.github.com/jcpunk) for reporting the issue. [#&#8203;6040](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6040) | | Added a structured creation form for DaemonSets, letting users create DaemonSet resources through the UI form alongside the existing YAML editor. | Thanks to [@&#8203;vyncent-t](https://redirect.github.com/vyncent-t). [#&#8203;6514](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6514) | | Added a structured `CreateCronJobForm` for CronJob resources, letting users configure schedule, time zone, concurrency policy, and job template fields through the UI. | Thanks to [@&#8203;vyncent-t](https://redirect.github.com/vyncent-t). [#&#8203;6422](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6422) | | Added a structured create form for Job resources with field validation, reusable metadata fields, and a new boolean/checkbox field type. | Thanks to [@&#8203;vyncent-t](https://redirect.github.com/vyncent-t). [#&#8203;6343](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6343) | | In-cluster context name is now automatically derived from the `kubeadm-config` ConfigMap, removing the need to manually set `--in-cluster-context-name`. | Thanks to [@&#8203;Anjali-Chauhan1](https://redirect.github.com/Anjali-Chauhan1). Also thanks to [@&#8203;jcpunk](https://redirect.github.com/jcpunk) for reporting the issue. [#&#8203;6342](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6342) | | Added support for the `binaryData` field in ConfigMap detail and list views, so binary entries are now displayed, editable, and counted alongside `data`. | Thanks to [@&#8203;dabico](https://redirect.github.com/dabico). [#&#8203;6264](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6264) | | Node debugger settings now show the actual default Docker image and namespace as dynamic placeholders, matching backend configuration including custom overrides. | Thanks to [@&#8203;dabico](https://redirect.github.com/dabico). [#&#8203;6253](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6253) | | Added Arabic, Hebrew, and Russian localizations to the data table component so users of those languages see correctly translated table UI strings. | Thanks to [@&#8203;Priyanshu-rgbb](https://redirect.github.com/Priyanshu-rgbb). [#&#8203;6226](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6226) | | YAML syntax errors in EditorDialog now display a red squiggly underline at the exact line and column, making it easier to spot and fix invalid YAML before applying. | Thanks to [@&#8203;Psykii22](https://redirect.github.com/Psykii22). [#&#8203;5954](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5954) | ##### Added support for the `binaryData` field in ConfigMap detail and list views, so binary entries are now displayed, editable, and counted alongside `data`. <img width="2976" height="1822" alt="ConfigMap detail view showing binaryData field alongside data" src="https://github.com/user-attachments/assets/27d18def-bdb9-4895-a09e-347392ed6794" /> ##### Added a structured creation form for DaemonSets, letting users create DaemonSet resources through the UI form alongside the existing YAML editor. <img width="2058" height="1248" alt="DaemonSet structured creation form" src="https://github.com/user-attachments/assets/94cefc8a-e5ff-40c3-b8f6-35173511faee" /> ##### YAML syntax errors in EditorDialog now display a red squiggly underline at the exact line and column, making it easier to spot and fix invalid YAML before applying. <img width="1700" alt="Monaco editor showing red squiggly underline on YAML syntax error" src="https://github.com/user-attachments/assets/b7f731f8-b5bd-41d0-ac98-3589a9e5caa7" /> <br><br> <br><br> #### ✨ Enhancements (part 2 of 2) | | | | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -----------------------------------------------------------------------------------------------------------------------------: | | Headlamp now auto-connects only to recently-used clusters on startup, avoiding slow or disruptive credential prompts for users with many clusters in their kubeconfig. | Thanks to [@&#8203;skoeva](https://redirect.github.com/skoeva). [#&#8203;6169](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6169) | | Added a --node-shell-namespace flag and Helm value so admins can configure the namespace used for node shell pods instead of defaulting to 'default'. | Thanks to [@&#8203;aryanraj45](https://redirect.github.com/aryanraj45). [#&#8203;6072](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6072) | | Added a structured create form for ReplicaSets with Metadata, Spec, and Pod Template sections, so users no longer need to write raw YAML to create one. | Thanks to [@&#8203;vyncent-t](https://redirect.github.com/vyncent-t). [#&#8203;5995](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5995) | | Added 100 as a rows-per-page option in resource tables, reducing the number of paginations needed when browsing namespaces with more than 50 resources. | Thanks to [@&#8203;ibshafique](https://redirect.github.com/ibshafique). [#&#8203;5971](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5971) | | Added a color-coded usage progress bar to the ResourceQuota detail view, making it easy to spot quota pressure at a glance. | Thanks to [@&#8203;beep-boopp](https://redirect.github.com/beep-boopp). [#&#8203;5875](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5875) | | Added a desktop setting to optionally hide the system tray icon, giving users who prefer no tray presence an easy opt-out. | Thanks to [@&#8203;VlatkoMilisav](https://redirect.github.com/VlatkoMilisav). [#&#8203;5754](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5754) | | Added a tooltip disclaimer next to Events tables explaining Kubernetes Event retention lifetime, helping users understand why older events may disappear. | Thanks to [@&#8203;dabico](https://redirect.github.com/dabico). [#&#8203;5531](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5531) | ##### Headlamp now auto-connects only to recently-used clusters on startup, avoiding slow or disruptive credential prompts for users with many clusters in their kubeconfig. <img width="1843" height="750" alt="Home page showing only recently-used clusters" src="https://github.com/user-attachments/assets/a52bd2e4-9117-445c-bc86-383036761f89" /> ##### Added a color-coded usage progress bar to the ResourceQuota detail view, making it easy to spot quota pressure at a glance. <img width="470" alt="ResourceQuota detail view with color-coded usage progress bar" src="https://github.com/user-attachments/assets/df047626-c152-4d1b-973a-a88abd0dd6d7" /> ##### Added a structured `CreateCronJobForm` for CronJob resources, letting users configure schedule, time zone, concurrency policy, and job template fields through the UI. <img width="2069" height="1154" alt="CronJob structured creation form" src="https://github.com/user-attachments/assets/0c17cc45-b468-4c92-b395-6ff07c307589" /> ##### Added a tooltip disclaimer next to Events tables explaining Kubernetes Event retention lifetime, helping users understand why older events may disappear. <img width="1488" height="600" alt="Events table with retention lifetime tooltip" src="https://github.com/user-attachments/assets/ffa79f80-7c31-4e85-9aab-7a561071279b" /> <br><br> <br><br> #### 🐞 Bug fixes (part 1 of 11) | | | | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | Headlamp desktop now only terminates its own user's headlamp-server processes, preventing one user on a shared machine from killing another user's backend. | Thanks to [@&#8203;Aamod007](https://redirect.github.com/Aamod007). Also thanks to [@&#8203;lombardialess](https://redirect.github.com/lombardialess) for reporting the issue. [#&#8203;6522](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6522) | | Resolved known npm dependency vulnerabilities across all packages by applying npm audit fixes. | Thanks to [@&#8203;yolossn](https://redirect.github.com/yolossn). [#&#8203;6671](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6671) | | Fixed the active tab highlight in NavigationTabs so tabs like Network Policies are correctly selected when hidden sidebar items are filtered out. | Thanks to [@&#8203;Adii-45](https://redirect.github.com/Adii-45). [#&#8203;6251](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6251) | | Fixed port forwarding list appearing empty for dynamically added clusters by returning the correct cluster name instead of the internal user-suffixed cache key. | Thanks to [@&#8203;Athang69](https://redirect.github.com/Athang69). Also thanks to [@&#8203;ondrab1](https://redirect.github.com/ondrab1) for reporting the issue. [#&#8203;6188](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6188) | | Fixed the Pods overview chart always showing 100% running by correctly reflecting pods in Error, CrashLoopBackOff, Pending, and other non-running states. | Thanks to [@&#8203;xonas1101](https://redirect.github.com/xonas1101). [#&#8203;6114](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6114) | | Stale Kubernetes API responses and authorization clientsets are now purged immediately when a kube context is removed, preventing stale data from being served. | Thanks to [@&#8203;Pragati5-DEBUG](https://redirect.github.com/Pragati5-DEBUG). [#&#8203;6113](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6113) | | StorageClass list no longer shows `undefined` in the Allow Volume Expansion column — the cell now displays Yes/No or remains empty when the field is absent. | Thanks to [@&#8203;dabico](https://redirect.github.com/dabico). [#&#8203;6308](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6308) | | Added `service.appProtocol` support to the Headlamp Helm chart, fixing WebSocket and Gateway API compatibility issues with Kubernetes ingress routing. | Thanks to [@&#8203;cgiraldo](https://redirect.github.com/cgiraldo). [#&#8203;6049](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6049) | ##### StorageClass list no longer shows `undefined` in the Allow Volume Expansion column — the cell now displays Yes/No or remains empty when the field is absent. <img width="2376" height="740" alt="StorageClass list with Yes/No in Allow Volume Expansion column" src="https://github.com/user-attachments/assets/f54c6c96-3f18-4bd7-aa6f-d5a2567652d7" /> <br><br> <br><br> #### 🐞 Bug fixes (part 2 of 11) | | | | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | API discovery errors and fallbacks are now logged instead of silently swallowed, making it easier to diagnose why legacy discovery paths are being taken. | Thanks to [@&#8203;WasThatRudy](https://redirect.github.com/WasThatRudy). Also thanks to [@&#8203;krsatyamthakur-droid](https://redirect.github.com/krsatyamthakur-droid) for reporting the issue. [#&#8203;6033](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6033) | | Helm chart env values schema now supports `valueFrom` (secretKeyRef, configMapKeyRef, fieldRef), enabling Kubernetes-native secret and config injection for Headlamp deployments. | Thanks to [@&#8203;Athang69](https://redirect.github.com/Athang69). Also thanks to [@&#8203;The-Judge](https://redirect.github.com/The-Judge) for reporting the issue. [#&#8203;6002](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6002) | | Fixed cache middleware crashing with 'invalid url format' on non-API cluster paths like `/healthz`, so proxied apiserver endpoints are handled correctly. | Thanks to [@&#8203;Nabsku](https://redirect.github.com/Nabsku). [#&#8203;5798](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5798) | | Improved hook memoization and lazy initialization in ResourceTable settings, resolving React hook warnings without changing table behavior. | Thanks to [@&#8203;kishore08-07](https://redirect.github.com/kishore08-07). [#&#8203;5790](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5790) | | Added full support for Kubernetes Gateway API v1.5.1, including BackendTLSPolicy, GRPCRoute, and ReferenceGrant graduating to the Standard channel. | Thanks to [@&#8203;YotamKorah](https://redirect.github.com/YotamKorah). [#&#8203;5395](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5395) | | Fixed a race condition in kubeconfig `WriteToFile` that caused data corruption or missing files when concurrent calls occurred within the same second. | Thanks to [@&#8203;KumarADITHYA123](https://redirect.github.com/KumarADITHYA123). [#&#8203;5309](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5309) | | Metrics unavailability (timeouts, CrashLoopBackOff, etc.) now correctly shows a 'metrics unavailable' state instead of silently displaying 0% CPU and memory usage. | Thanks to [@&#8203;Shreya2005-2005](https://redirect.github.com/Shreya2005-2005). [#&#8203;5238](https://redirect.github.com/kubernetes-sigs/headlamp/issues/5238) | | Guarded against undefined `uid` and `name` in search filtering, preventing a crash when resources with incomplete metadata appear in the list. | Thanks to [@&#8203;krsatyamthakur-droid](https://redirect.github.com/krsatyamthakur-droid). [#&#8203;6680](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6680) | | Updated outdated frontend packages across app, headlamp-plugin, pluginctl, eslint-config, and i18n tooling to improve compatibility and security. | Thanks to [@&#8203;illume](https://redirect.github.com/illume). [#&#8203;6679](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6679) | | Fixed a failing cluster snapshot test on the main branch introduced by a recent merge. | Thanks to [@&#8203;illume](https://redirect.github.com/illume). [#&#8203;6665](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6665) | <br><br> <br><br> #### 🐞 Bug fixes (part 3 of 11) | | | | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | Images embedded as raw HTML in GitHub release notes now render correctly in the Release Notes dialog instead of being silently dropped. | Thanks to [@&#8203;Pragati5-DEBUG](https://redirect.github.com/Pragati5-DEBUG). Also thanks to [@&#8203;skoeva](https://redirect.github.com/skoeva) for reporting the issue. [#&#8203;6642](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6642) | | Fixed the desktop e2e suite so all tests pass reliably and no longer corrupt the developer's kubeconfig on each run. | Thanks to [@&#8203;unlikelyzero](https://redirect.github.com/unlikelyzero). [#&#8203;6641](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6641) | | Fixed the DataField editor collapsing to 5px at non-100% browser zoom levels by calculating container height in React instead of via imperative DOM mutations. | Thanks to [@&#8203;bhuvan-somisetty](https://redirect.github.com/bhuvan-somisetty). Also thanks to [@&#8203;hxl9654](https://redirect.github.com/hxl9654) for reporting the issue. [#&#8203;6619](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6619) | | Fixed a crash on the Secrets list page caused by corrupt localStorage JSON for the 'Hide Helm Secrets' toggle, replacing the unguarded parse with safe fallback handling. | Thanks to [@&#8203;Aamod007](https://redirect.github.com/Aamod007). [#&#8203;6526](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6526) | | Fixed a white-screen-on-boot caused by corrupt `notifications` localStorage JSON being parsed before any error boundary mounted, so the app now loads normally instead of crashing. | Thanks to [@&#8203;Aamod007](https://redirect.github.com/Aamod007). [#&#8203;6524](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6524) | | Enforced minimum Vitest coverage thresholds for the frontend suite so CI automatically catches real regressions in statements, branches, functions, and lines. | Thanks to [@&#8203;rootp1](https://redirect.github.com/rootp1). [#&#8203;6486](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6486) | ##### Images embedded as raw HTML in GitHub release notes now render correctly in the Release Notes dialog instead of being silently dropped. <img width="1700" alt="Release Notes dialog rendering HTML images from GitHub releases" src="https://github.com/user-attachments/assets/8e41e6e6-bdf5-4a3f-b17a-64f586309132" /> <br><br> <br><br> #### 🐞 Bug fixes (part 4 of 11) | | | | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------: | | Added a nil-error guard in the backend handleError helper to prevent a panic when a nil error is accidentally passed by any of its callers. | Thanks to [@&#8203;vtushar06](https://redirect.github.com/vtushar06). [#&#8203;6437](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6437) | | Fixed a regression where searching for a namespace name flooded results with every resource in that namespace; the 'Set namespace' shortcut now appears correctly and only once. | Thanks to [@&#8203;Priyanshu-rgbb](https://redirect.github.com/Priyanshu-rgbb). [#&#8203;6432](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6432) | | Fixed `MULTI_HOME_ENABLED` always evaluating to `true`, so setting `REACT_APP_MULTI_HOME_ENABLED=false` now correctly disables the Multi Home feature. | Thanks to [@&#8203;ssz2605](https://redirect.github.com/ssz2605). [#&#8203;6424](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6424) | | Cluster rename via kubeconfig now returns an explicit error when the target context is missing, preventing silent failures that left state unchanged. | Thanks to [@&#8203;rootp1](https://redirect.github.com/rootp1). [#&#8203;6415](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6415) | | Fixed `metricTargetValue()` in HPA to correctly display `0%` for zero `averageUtilization` values and ensure all metric types are evaluated properly. | Thanks to [@&#8203;skools-here](https://redirect.github.com/skools-here). [#&#8203;6412](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6412) | | Fixed typos in platform and contributing docs and updated Node.js/npm version prerequisites in plugin tutorials to match current `package.json` requirements. | Thanks to [@&#8203;Harsh63870](https://redirect.github.com/Harsh63870). [#&#8203;6408](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6408) | | Reformatted the Desktop App dependency list in the architecture docs as a Markdown bullet list, improving readability. | Thanks to [@&#8203;kunaldevsahu](https://redirect.github.com/kunaldevsahu). [#&#8203;6384](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6384) | | Fixed a typo in the CronJob list's `lastScheduleTime` accessor so the Last Schedule column can now be sorted and filtered correctly. | Thanks to [@&#8203;skools-here](https://redirect.github.com/skools-here). [#&#8203;6383](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6383) | ##### Fixed a regression where searching for a namespace name flooded results with every resource in that namespace; the 'Set namespace' shortcut now appears correctly and only once. <img width="1700" alt="Global search showing only the Set namespace shortcut for a bare namespace query" src="https://github.com/user-attachments/assets/2ddebadc-ab48-45e0-b2fe-6770a295fa02" /> <br><br> <br><br> #### 🐞 Bug fixes (part 5 of 11) | | | | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------: | | Fixed a stale WebSocket subscription in `useKubeObject` when navigating between resources of the same kind, ensuring live updates reflect the correct resource. | Thanks to [@&#8203;Adii-45](https://redirect.github.com/Adii-45). [#&#8203;6345](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6345) | | Fixed PortForward tooltip translation, added secure `rel` attributes to external links, and hardened localStorage parsing to prevent crashes or UI desync on failures. | Thanks to [@&#8203;KumarADITHYA123](https://redirect.github.com/KumarADITHYA123). [#&#8203;6341](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6341) | | Wrapped `recentClusters` localStorage reads in try/catch to prevent app startup crashes when stored data is corrupted or unreadable. | Thanks to [@&#8203;Kakumanu-Harshitha](https://redirect.github.com/Kakumanu-Harshitha). [#&#8203;6310](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6310) | | Guarded `useLocalStorageState` against corrupted data and `QuotaExceededError`, preventing blank-screen crashes across 13 components that rely on it. | Thanks to [@&#8203;Kakumanu-Harshitha](https://redirect.github.com/Kakumanu-Harshitha). [#&#8203;6307](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6307) | | Fixed frontend test failures on Node.js 24 caused by an AbortSignal incompatibility between jsdom, nock, and the native Request implementation. | Thanks to [@&#8203;vanshika2720](https://redirect.github.com/vanshika2720). [#&#8203;6299](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6299) | | Hardened `loadTableSettings` and `storeTableSettings` against corrupt localStorage data, preventing blank-screen crashes on all resource list views. | Thanks to [@&#8203;Kakumanu-Harshitha](https://redirect.github.com/Kakumanu-Harshitha). [#&#8203;6298](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6298) | | Fixed duplicate HTML `id` attribute in `TimezoneSelect` Autocomplete to prevent conflicts when both `TimezoneSelect` and `Chooser` are rendered on the same page. | Thanks to [@&#8203;Priyanshu-rgbb](https://redirect.github.com/Priyanshu-rgbb). [#&#8203;6281](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6281) | <br><br> <br><br> #### 🐞 Bug fixes (part 6 of 11) | | | | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | Fixed `parseCpu()` to use `parseFloat` so decimal CPU values like `0.5` or `1.5` cores are parsed correctly instead of being silently truncated. | Thanks to [@&#8203;xonas1101](https://redirect.github.com/xonas1101). [#&#8203;6259](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6259) | | Fixed 'Phase: undefined' display in the Project Resources tab by falling back to 'Unknown' when a pod's phase is not yet reported. | Thanks to [@&#8203;krsatyamthakur-droid](https://redirect.github.com/krsatyamthakur-droid). [#&#8203;6257](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6257) | | Fixed Job detail page incorrectly showing `Duration: 0s` for still-running jobs; the duration row is now hidden until the job completes. | Thanks to [@&#8203;xonas1101](https://redirect.github.com/xonas1101). [#&#8203;6237](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6237) | | Fixed a nil pointer dereference panic in `OidcConfig()` when `AuthInfo` is nil, preventing crashes during token-based or unresolved-user authentication. | Thanks to [@&#8203;Anjali-Chauhan1](https://redirect.github.com/Anjali-Chauhan1). [#&#8203;6235](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6235) | | Replaced bare `fmt.Println` calls in backend startup with structured logging so startup messages are now captured consistently by the logger. | Thanks to [@&#8203;Rucha0901](https://redirect.github.com/Rucha0901). [#&#8203;6224](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6224) | | Fixed the YAML/JSON editor scrolling back to the top on validation errors, so users editing large manifests no longer lose their position while typing. | Thanks to [@&#8203;krsatyamthakur-droid](https://redirect.github.com/krsatyamthakur-droid). Also thanks to [@&#8203;prisha-sh](https://redirect.github.com/prisha-sh) for reporting the issue. [#&#8203;6209](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6209) | | Cluster connection warning bar is now dismissible, shows the real failure reason with an actionable link, and no longer overlaps window controls. | Thanks to [@&#8203;Anjali-Chauhan1](https://redirect.github.com/Anjali-Chauhan1). Also thanks to [@&#8203;rnc](https://redirect.github.com/rnc) for reporting the issue. [#&#8203;6206](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6206) | | Fixed a crash in Chrome when the system timezone resolves to an unrecognized identifier like `Etc/Unknown`, preventing a `RangeError` on affected Linux systems. | Thanks to [@&#8203;bhuvan-somisetty](https://redirect.github.com/bhuvan-somisetty). Also thanks to [@&#8203;adriansev](https://redirect.github.com/adriansev) for reporting the issue. [#&#8203;6204](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6204) | | Fixed a React hooks violation in `CreateNamespaceButton` by deriving validation state during render instead of via `useEffect`, eliminating the stale-state bug. | Thanks to [@&#8203;Shahazadi-Shaguftha-Syed](https://redirect.github.com/Shahazadi-Shaguftha-Syed). [#&#8203;6192](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6192) | | Fixed Jobs, CronJobs, and JobSet overview charts that were always stuck at 100% healthy by adding correct status logic for workloads without replica fields. | Thanks to [@&#8203;xonas1101](https://redirect.github.com/xonas1101). [#&#8203;6185](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6185) | ##### Cluster connection warning bar is now dismissible, shows the real failure reason with an actionable link, and no longer overlaps window controls. <img width="1700" alt="Dismissible cluster connection warning bar with failure reason and settings link" src="https://github.com/user-attachments/assets/5bceb4b3-e1ae-446c-8856-95a7a8210254" /> <br><br> <br><br> #### 🐞 Bug fixes (part 7 of 11) | | | | :------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | Fixed OIDC login 404s in local dev by correcting the proxy path from `/auth` to `/auth/`, and enforced LF line endings for TS/JS/JSON files. | Thanks to [@&#8203;kjosh-bcvmw](https://redirect.github.com/kjosh-bcvmw). [#&#8203;6184](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6184) | | Fixed a crash when loading kubeconfigs containing non-Latin1 characters (e.g. Chinese cluster names) by replacing `btoa()` with UTF-8-safe base64 helpers. | Thanks to [@&#8203;Anjali-Chauhan1](https://redirect.github.com/Anjali-Chauhan1). Also thanks to [@&#8203;youngledo](https://redirect.github.com/youngledo) for reporting the issue. [#&#8203;6178](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6178) | | Fixed the Activity tab title for workload logs so it is now properly localized instead of always showing a hardcoded English 'Logs: ' prefix. | Thanks to [@&#8203;Adii-45](https://redirect.github.com/Adii-45). [#&#8203;6171](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6171) | | Container status tooltips in the Pods list are now translated and respect the user's configured timezone instead of always showing English text and UTC times. | Thanks to [@&#8203;krsatyamthakur-droid](https://redirect.github.com/krsatyamthakur-droid). [#&#8203;6168](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6168) | | Fixed a translation key case mismatch in LogsButton so the correct localized string is now displayed. | Thanks to [@&#8203;srajang1805](https://redirect.github.com/srajang1805). [#&#8203;6163](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6163) | | Fixed broken frontend snapshot tests on main caused by a merge conflict with outdated snapshots. | Thanks to [@&#8203;illume](https://redirect.github.com/illume). [#&#8203;6160](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6160) | | Fixed a variable name typo (`namepsace` → `namespace`) and removed dead commented-out code in NodeShellAction with no functional changes. | Thanks to [@&#8203;srajang1805](https://redirect.github.com/srajang1805). [#&#8203;6159](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6159) | | Added optional chaining to KubeObject subclasses so the UI gracefully handles incomplete Kubernetes object data instead of throwing TypeErrors. | Thanks to [@&#8203;Psykii22](https://redirect.github.com/Psykii22). [#&#8203;6145](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6145) | | Fixed a typo in the node drain status error message ('repsone' → 'response') for clearer error reporting. | Thanks to [@&#8203;Rucha0901](https://redirect.github.com/Rucha0901). [#&#8203;6141](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6141) | <br><br> <br><br> #### 🐞 Bug fixes (part 8 of 11) | | | | :-------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | Isolated TestDynamicClustersKubeConfig to a temp directory so test runs no longer pollute the user's real Headlamp config. | Thanks to [@&#8203;Athang69](https://redirect.github.com/Athang69). Also thanks to [@&#8203;sniok](https://redirect.github.com/sniok) for reporting the issue. [#&#8203;6136](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6136) | | Fixed a spelling mistake ('listernerApi' → 'listenerApi') in headlampEventSlice for cleaner, more readable code. | Thanks to [@&#8203;rutujdhawale](https://redirect.github.com/rutujdhawale). [#&#8203;6131](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6131) | | Fixed a cache-key collision in k8cache by percent-encoding literal '+' characters so the '+' delimiter is no longer ambiguous with field content. | Thanks to [@&#8203;sid200727](https://redirect.github.com/sid200727). [#&#8203;6127](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6127) | | Fixed a Storybook startup failure caused by a circular dependency on Node story helpers, allowing all stories to load correctly. | Thanks to [@&#8203;mahesh-09-12](https://redirect.github.com/mahesh-09-12). [#&#8203;6126](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6126) | | Replaced loose `any` typing on DocsViewer's `docSpecs` prop with a strict type, improving type safety and editor autocompletion. | Thanks to [@&#8203;r0hansaxena](https://redirect.github.com/r0hansaxena). [#&#8203;6098](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6098) | | Fixed the CRD Details Versions table incorrectly showing the storage value in the Served column instead of the served value. | Thanks to [@&#8203;mahesh-09-12](https://redirect.github.com/mahesh-09-12). [#&#8203;6095](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6095) | | Fixed a rules-of-hooks violation in AuthVisible that could cause unexpected behavior by ensuring all hooks run before any early returns. | Thanks to [@&#8203;therealharshit](https://redirect.github.com/therealharshit). Also thanks to [@&#8203;illume](https://redirect.github.com/illume) for reporting the issue. [#&#8203;6092](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6092) | | Centralized the hardcoded backend base URL into a single `API_BASE` constant across Storybook stories, making future URL changes a one-line update. | Thanks to [@&#8203;xonas1101](https://redirect.github.com/xonas1101). [#&#8203;6088](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6088) | | Wrapped hardcoded English strings on the Custom Resource Instances page with i18n so they are now correctly translated with the rest of the UI. | Thanks to [@&#8203;krsatyamthakur-droid](https://redirect.github.com/krsatyamthakur-droid). [#&#8203;6087](https://redirect.github.com/kubernetes-sigs/headlamp/issues/6087) | <br><br> <br><br> #### 🐞 Bug fixes (part 9 of 11) | | | | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | | Fixed a react-hooks/exhaustive-deps lint suppression in ViewButton by using a ref for the initial toggle value, making the effect correctly dependency-safe. > ✂ **Note** > > PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://redirect.github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjguMiIsInVwZGF0ZWRJblZlciI6IjQ0LjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
copilot-pull-request-reviewer[bot] (Migrated from github.com) reviewed 2026-07-17 18:02:25 +00:00
copilot-pull-request-reviewer[bot] (Migrated from github.com) left a comment

Pull request overview

This PR updates the Homebrew cask for kubernetes-sigs/headlamp to track the upstream v0.43.0 release.

Changes:

  • Bump headlamp cask version from 0.42.0 to 0.43.0.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

## Pull request overview This PR updates the Homebrew cask for **kubernetes-sigs/headlamp** to track the upstream **v0.43.0** release. **Changes:** - Bump `headlamp` cask version from `0.42.0` to `0.43.0`. --- 💡 <a href="/isityael/tap/new/main?filename=.github/instructions/*.instructions.md" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Add Copilot custom instructions</a> for smarter, more guided reviews. <a href="https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot" class="Link--inTextBlock" target="_blank" rel="noopener noreferrer">Learn how to get started</a>.
@ -1,5 +1,5 @@
cask "headlamp" do
copilot-pull-request-reviewer[bot] (Migrated from github.com) commented 2026-07-17 18:02:25 +00:00

The version was bumped to 0.43.0, but the sha256 values still appear to be for the previous release. Homebrew casks require updating the checksums whenever the downloaded artifact changes; otherwise installs will fail checksum verification.

The version was bumped to 0.43.0, but the `sha256` values still appear to be for the previous release. Homebrew casks require updating the checksums whenever the downloaded artifact changes; otherwise installs will fail checksum verification.
chatgpt-codex-connector[bot] (Migrated from github.com) reviewed 2026-07-17 18:03:27 +00:00
chatgpt-codex-connector[bot] (Migrated from github.com) left a comment

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d2e25b8981

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

### 💡 Codex Review Here are some automated review suggestions for this pull request. **Reviewed commit:** `d2e25b8981` <details> <summary>ℹ️ About Codex in GitHub</summary> <br/> [Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you - Open a pull request for review - Mark a draft as ready - Comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". </details>
@ -1,5 +1,5 @@
cask "headlamp" do
chatgpt-codex-connector[bot] (Migrated from github.com) commented 2026-07-17 18:03:28 +00:00

P1 Badge Update the cask checksums with the version bump

For v0.43.0 these URLs interpolate to new DMGs, but the sha256 values below were left at the previous release values; the upstream v0.43.0 release lists arm64 as 377fed2953a4594ba9e1aaded9d7dac4736455233a1b87da663c1c728bfc0566 and x64 as 1d978e4726507472b2065753526f05aa7b430745eb378f05af271ccc6f0dc62c. On either Apple Silicon or Intel, Homebrew will download the 0.43.0 asset and reject it with a checksum mismatch, making the cask unusable until the hashes are updated.

Useful? React with 👍 / 👎.

**<sub><sub>![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat)</sub></sub> Update the cask checksums with the version bump** For v0.43.0 these URLs interpolate to new DMGs, but the `sha256` values below were left at the previous release values; the upstream v0.43.0 release lists arm64 as `377fed2953a4594ba9e1aaded9d7dac4736455233a1b87da663c1c728bfc0566` and x64 as `1d978e4726507472b2065753526f05aa7b430745eb378f05af271ccc6f0dc62c`. On either Apple Silicon or Intel, Homebrew will download the 0.43.0 asset and reject it with a checksum mismatch, making the cask unusable until the hashes are updated. Useful? React with 👍 / 👎.
chatgpt-codex-connector[bot] (Migrated from github.com) reviewed 2026-08-05 12:02:59 +00:00
chatgpt-codex-connector[bot] (Migrated from github.com) left a comment

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8f957b5de5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

### 💡 Codex Review Here are some automated review suggestions for this pull request. **Reviewed commit:** `8f957b5de5` <details> <summary>ℹ️ About Codex in GitHub</summary> <br/> [Your team has set up Codex to review pull requests in this repo](https://chatgpt.com/codex/cloud/settings/general). Reviews are triggered when you - Open a pull request for review - Mark a draft as ready - Comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". </details>
@ -1,5 +1,5 @@
cask "headlamp" do
version "0.42.0"
version "0.44.0"
chatgpt-codex-connector[bot] (Migrated from github.com) commented 2026-08-05 12:02:59 +00:00

P1 Badge Update the cask checksums for v0.44.0

Fresh evidence in this diff: setting version to 0.44.0 makes the cask download the v0.44.0 DMGs, but the sha256 values below still match the previous 0.42.0 assets. GitHub's v0.44.0 release assets list the mac arm64 checksum as b9324923af6b7a4ccf6210bbf0a5cc907b885fea94f6ded7b9674f5024762e74 and mac x64 as b4e88ee479382b469803fed0c5e60031edb9ad786e29b30bb0b9e7bb719ac59b, so Homebrew will reject installs on both architectures until these hashes are bumped with the version.

Useful? React with 👍 / 👎.

**<sub><sub>![P1 Badge](https://img.shields.io/badge/P1-orange?style=flat)</sub></sub> Update the cask checksums for v0.44.0** Fresh evidence in this diff: setting `version` to `0.44.0` makes the cask download the v0.44.0 DMGs, but the `sha256` values below still match the previous 0.42.0 assets. GitHub's v0.44.0 release assets list the mac arm64 checksum as `b9324923af6b7a4ccf6210bbf0a5cc907b885fea94f6ded7b9674f5024762e74` and mac x64 as `b4e88ee479382b469803fed0c5e60031edb9ad786e29b30bb0b9e7bb719ac59b`, so Homebrew will reject installs on both architectures until these hashes are bumped with the version. Useful? React with 👍 / 👎.
Sign in to join this conversation.
No description provided.