Releases: kubernetes-sigs/headlamp
headlamp-helm-0.43.0
Headlamp is an easy-to-use and extensible Kubernetes web UI.
0.43.0
✨ Enhancements
- Added opt-in service account token auth for in-cluster deployments, enabling Headlamp to work behind OIDC or other external auth proxies. Thanks to @0xMH and @unixpariah. Also thanks to @yolossn for reporting the issue.
- Helm chart probes now support a configurable scheme (HTTP/HTTPS) and full timing settings, enabling correct probe behavior when backend TLS is enabled. Thanks to @gambtho. Also thanks to @mbasha86 for reporting the issue.
- Added alpha support for ClusterProfile discovery via the Cluster Inventory API, enabling automatic multi-cluster registration without manual kubeconfig setup. Thanks to @kahirokunn.
- Added hostAliases support to the Helm chart pod template, allowing custom host-to-IP mappings to be configured via chart values. Thanks to @VijayabaskarR-06. Also thanks to @geochip for reporting the issue.
- Added Russian language support to the frontend, making Headlamp more accessible for Russian-speaking users. Thanks to @Future998.
- Added proxy auth support so Headlamp can read authentication headers injected by middleware proxies for seamless cluster access. Thanks to @ageekymonk.
- Added dry-run preview for rollbacks, letting users inspect the resulting resource YAML before applying a rollout undo. Thanks to @alokdangre. Also thanks to @illume for reporting the issue.
- Added a node upgrade visualization panel showing Cordon, Drain, Delete, Reimage, Complete progress for managed nodes. Support for visualising upgrades in more k8s distros and systems coming soon. Thanks to @Jenniferyingni
- Added RTL layout support and new locales for Arabic, Urdu, and Hebrew, with the UI direction switching automatically based on the selected language. Thanks to @mahmoodalisha.
- Completed missing Hindi translations for UI strings, ensuring users with a Hindi locale see a fully translated interface. Thanks to @mahmoodalisha.
- Added a batch scale action to the multi-select toolbar, letting users scale multiple Deployments, StatefulSets, or ReplicaSets at once. Thanks to @RajPrakash681.
- Added registerProjectApiResource() to the plugin API, enabling plugins to include custom CRDs in Project resource fetching. Thanks to @NAME-ASHWANIYADAV.
- Added a diagnostics section to Pod and workload detail pages that surfaces deterministic troubleshooting hints from Kubernetes status, events, and container data. Thanks to @Utkarshpandey0001.
- Added a Dry Run option to the YAML editor, letting users validate manifests against the Kubernetes API before applying them. Thanks to @Vikaspal8923.
- Made the Back button on the cluster authentication chooser keyboard-accessible by adding tab focus and Enter/Space key handling. Thanks to @YadavAkhileshh.
- Added missing French translations, improving UI localization coverage and keeping Kubernetes terms like "cluster" technically accurate. Thanks to @codeurluce.
- Integrated @typescript/native-preview for frontend type checking, cutting type-check time from ~18-20 seconds down to ~3-4 seconds. Thanks to @sniok.
- Advanced Search queries can now be saved to browser local storage and restored, renamed, or deleted from the toolbar. Thanks to @Utkarshpandey0001.
- Added a dedicated Job details view surfacing completions, parallelism, backoff limit, active/succeeded/failed counts, and more, replacing the generic workload view. Thanks to @beep-boopp.
- Added remark-gfm to the headlamp-plugin do-not-copy list to prevent it from being incorrectly bundled into plugin builds. Thanks to @illume.
- Added ReadHeaderTimeout and IdleTimeout to the backend HTTP server, reducing slow-request attack risk while keeping logs and WebSockets unaffected. Thanks to @ayushmaan-16.
- Helm chart now supports setting a default pod debug image via values, used as the fallback when no per-cluster override is configured. Thanks to @harrshita123.
- Events table on the cluster overview page now includes a Node column showing which node emitted each event. Thanks to @VijayabaskarR-06. Also thanks to @trashhead for reporting the issue.
- Job details view now includes a Logs button, letting you view logs from related pods without leaving the Job page. Thanks to @ChunyiLyu.
- Added a container query parameter to pod log and exec deep-links, letting users link directly to a specific container's logs or terminal. Thanks to @jordanly.
- Resource detail views now show additional fields matching kubectl describe output, including port info for NodePort services. Thanks to @joaquimrocha.
- Added a Create Deployment form to the UI, letting users create Deployments directly alongside the existing Pod creation workflow. Thanks to @vyncent-t.
- Helm repository add and update operations now support authentication fields including username, password, and TLS options for private repositories. Thanks to @Athang69.
- Added --default-light-theme and related CLI flags so administrators can configure the default UI theme at runtime based on OS preference. Thanks to @guillaumebernard84.
- Added Windows Arm64 desktop builds, expanding native platform coverage to Arm-based Windows devices. Thanks to @illume.
- Added Bengali language support to the frontend and translated technical Kubernetes jargon, improving localization for Bengali-speaking users. Thanks to @Pratik-050.
- Node List and Details views now show the node pool, with a new getNodePool() method on the node model and Nodes added as a source to the Cluster group in the resource map. Thanks to @illume.
- Added an opt-in Chromium remote debugging port to the Electron app, enabling devtools and MCP integrations. Thanks to @yolossn
- Added a kubeconfig secretreader example to the Helm chart, pinned the Cluster Inventory provider images, and allowed Cluster Inventory commands to run under plugin mounts. Thanks to @kahirokunn.
Added alpha support for ClusterProfile discovery via the Cluster Inventory API
Added RTL layout support and new locales for Arabic, Urdu, and Hebrew
Added a node upgrade visualization panel
Added Russian language support to the frontend
Added proxy auth support for middleware proxies
Added a diagnostics section to Pod and workload detail pages
Job details view now includes a Logs button
Added a Create Deployment form to the UI
Added a dedicated Job details view
🐞 Bug Fixes
- Switched macOS notarization back to electron-builder, combining codesign, notarize, and staple into a single step using APPLEID credentials. Thanks to @joaquimrocha.
- Fixed OIDC login failures when no custom CA cert is configured, so public providers like Entra ID, Okta, and Google now work correctly. Thanks to @beep-boopp. Also thanks to @muhammad9970 for reporting the issue.
- Fixed parseRam and parseDiskSpace silently dropping decimal portions (e.g., '289.9Mi'), so memory and disk quantities are now parsed accurately. Thanks to @WasThatRudy. Also thanks to @thehandsomezebra for reporting the issue.
- Fixed the Electron app on Linux and Windows to fully quit when the window is closed instead of continuing to run in the background. Thanks to @Mohammed-Thaha. Also thanks to @Hronom for reporting the issue.
- Fixed stale Pod status icons in the list view that stayed yellow/warning even after a Pod had passed its readiness checks. Thanks to @RustamSheoran. Also thanks to @vikash7485 for reporting the issue.
- Fixed the Helm chart release workflow failing when it attempted to push provenance files as gzipped archives. Thanks to @onedr0p. Also thanks to @joryirving for reporting the issue.
- Table rows-per-page selection is now saved to localStorage, so the preference persists across page refreshes. Thanks to @ChayanDass. Also thanks to @illume for reporting the issue.
- Fixed missing edges in the resource map when nodes move between cloud and namespace-specific views. Thanks to @gattytto.
- Fixed a crash that prevented Headlamp from loading on Firefox browsers by removing problematic i18n normalisation. Thanks to @DhairyaMajmudar.
- Fixed a data race on the portforward Status and Error fields by introducing a mutex and thread-safe accessors, improving port-...
headlamp-plugin 0.14.0
New release of the headlamp-plugin tool for plugin authors.
Upgrade
Upgrade your plugin to latest version by running:
npx @kinvolk/headlamp-plugin upgrade .Bug fixes
- Fixed missing
.cmdshim so theheadlamp-pluginbinary works correctly on Windows without requiring a shell wrapper. - Replaced
execSyncwithexecFileSyncin internal scripts to avoid shell injection risks.
Improvements
headlamp-plugin createnow scaffolds anAGENTS.mdfile into new plugins, and example plugins are bundled so AI coding agents have better context out of the box.- Added missing type declarations to
HeadlampTables,HeadlampChartStyles, andHeadlampHeaderStyleinterfaces inadditional.d.ts, improving type safety for plugins that customise themes. react-hooksESLint rules are now enabled when linting plugins.
Dependency updates
- Security fixes: picomatch, vite, yaml, undici, tar, postcss, minimatch, qs, ajv, rollup, bn.js, terser-webpack-plugin, webpack, serialize-javascript, lodash, flatted.
0.42.0
Hitch hikers guide to Headlamp 0.42.0
Deep-link support was added for pod terminals (?view=exec) and log views (?view=logs), letting users bookmark or share direct links to specific UI states. Resources can now be searched by label in all list views, the Log Viewer gains a severity filter dropdown, and a delete button has been added directly to the plugins list. Node Details received two new sections for pod capacity usage and resource allocation, and the Resource Map now renders status badges on plugin-provided nodes and includes previously missing configuration resources. GRPCRoute details reach full parity with HTTPRoute, and a guided form-based resource creation UI (starting with Pods) is now available alongside the YAML editor.
On the reliability side, a silent cache desync that caused permanently stale cluster data was fixed, along with a lock-order inversion deadlock that could freeze WebSocket connections under load, and a wave of React hooks rule violations across more than a dozen frontend components. Several backend panics were fixed in port-forwarding, kubeconfig parsing, cache key generation, and Helm chart type handling, alongside debounced log aggregation to prevent UI freezes in All Pods mode. Security hardening includes path traversal prevention in the service proxy and dependency bumps.
✨ Enhancements (part 1)
| Enhancements | |
|---|---|
Added deep-link support for pod exec via ?view=exec query parameter, letting users bookmark or share direct links to open a terminal into a specific pod. |
Thanks to @justinas-wix. #4941 |
Added a hidden 'labels' column to all resource list views so users can search resources by label (e.g. app=test) using the existing search bar. |
Thanks to @sniok. Also thanks to @illume for reporting the issue. #5035 |
| Resource map graph nodes now support optional status metadata, allowing plugin-provided nodes to display warning and error badges like built-in resources. | Thanks to @mahmoudmagdy1-1. #5349 |
| Added a pod capacity usage tile to the node details view so users can see how many pods are scheduled versus the node's allocatable pod limit. | Thanks to @Vikaspal8923. Also thanks to @jimmyjones2 for reporting the issue. #5039 |
Extended a8r.io annotation support from Services to all Kubernetes resources, letting users see human-readable service discovery metadata on any annotated resource. |
Thanks to @mastermaxx03. #5007 |
| Added a severity filter dropdown to the Log Viewer, letting users quickly filter logs by level (ERROR, WARN, INFO, DEBUG) to cut through noisy streams. | Thanks to @Utkarshpandey0001. #5338 |
| Added a delete button directly to the plugins list page, so users can remove plugins without navigating to the detail page first. | Thanks to @rickbrouwer. #5314 |
| Added ?view=logs deep-link support on Deployment, ReplicaSet, DaemonSet, and StatefulSet detail pages, letting users open the logs view directly from a URL. | Thanks to @bhat-ganesh. #5312 |
| Added missing configuration resources to the Resource Map graph so they are now fully visible in the Configuration group. | Thanks to @vishnukothakapu. #5223 |
Added a hidden 'labels' column to all resource list views so users can search resources by label (e.g. app=test) using the existing search bar.
Added a delete button directly to the plugins list page, so users can remove plugins without navigating to the detail page first.
Added a guided form-based UI for creating Kubernetes resources (starting with Pods), accessible from the sidebar and Pod list page alongside the existing YAML editor workflow.
✨ Enhancements (part 2)
| Enhancements | |
|---|---|
| Added ephemeral storage usage chart to the Node Details view, giving users visibility into ephemeral storage consumption alongside other node stats. | Thanks to @Vikaspal8923. Also thanks to @jimmyjones2 for reporting the issue. #5169 |
| Added a 'Review changes' tab to the resource editor dialog so users can diff the original manifest against their edits before applying. | Thanks to @Vikaspal8923. #5018 |
| Added a background janitor to evict expired Kubernetes clientsets, fixing an unbounded memory leak that could cause OOM crashes on busy clusters. | Thanks to @Joshna907. #5286 |
Wrapped the Reconnect button label in LogViewer with the translation function and added the key to all 12 locale files, enabling full i18n support. |
Thanks to @NAME-ASHWANIYADAV. #5176 |
| GRPCRoute details view now shows rules, hostnames, matches, backendRefs, and filters, bringing it to full parity with HTTPRoute details. | Thanks to @NAME-ASHWANIYADAV. #5174 |
Resource map graph nodes now support optional status metadata, allowing plugin-provided nodes to display warning and error badges like built-in resources.
Added ephemeral storage usage chart to the Node Details view, giving users visibility into ephemeral storage consumption alongside other node stats.
Added a download YAML button to the resource table, letting users export any resource manifest directly from the table view.
Improved global search UX by adding a clear button to the search input and showing a pointer cursor on hover over search results.
✨ Enhancements (part 3)
| Enhancements | |
|---|---|
| Added a toast notification when port-forwarding fails so users are explicitly informed instead of errors being silently logged to the console. | Thanks to @itvi-1234. #5145 |
| Added a download YAML button to the resource table, letting users export any resource manifest directly from the table view. | Thanks to @Vikaspal8923. #5126 |
| Added UI support for the Kubernetes VolumeAttributesClass resource in the Storage section, including list and detail views. | Thanks to @Vikaspal8923. #5119 |
Added service.extraServicePorts and matching Ingress backend support to the Helm chart, allowing sidecar containers to be exposed without a separate Service resource. |
Thanks to @Soli0222. #5078 |
| Added a Resource Allocation section to Node Details showing total CPU/Memory requests, limits, and their percentage of node capacity alongside existing usage metrics. | Thanks to @itvi-1234. #5048 |
| Added a guided form-based UI for creating Kubernetes resources (starting with Pods), accessible from the sidebar and Pod list page alongside the existing YAML editor workflow. | Thanks to @vyncent-t. #5044 |
| Container port names are now displayed alongside protocol and port number in the containers list, providing more complete port information at a glance. | Thanks to @itvi-1234. Also thanks to @trashhead for reporting the issue. #4956 |
Added a pod capacity usage tile to the node details view so users can see how many pods are scheduled versus the node's allocatable pod limit.
Added a 'Review changes' tab to the resource editor dialog so users can diff the original manifest against their edits before applying.
Added UI support for the Kubernetes VolumeAttributesClass resource in the Storage section, including list and detail views.
Container port names are now displayed alongside protocol and port number in the containers list, providing more complete port information at a glance.
✨ Enhancements (part 4)
| Enhancements | |
|---|---|
| Aligned frontend duration/age formatting with Kubernetes apimachinery logic, ensuring consistent age display matching kubectl behavior. | Thanks to @ChayanDass. Also thanks to @joaquimrocha for reporting the issue. #4931 |
| Improved global search UX by adding a clear button to the search input and showing a pointer cursor on hover over search results. | Thanks to @Vikaspal8923. #4965 |
Extended a8r.io annotation support from Services to all Kubernetes resources, letting users see human-readable service discovery metadata on a...
headlamp-helm-0.42.0
Headlamp is an easy-to-use and extensible Kubernetes web UI.
headlamp-helm-0.41.0
Headlamp is an easy-to-use and extensible Kubernetes web UI.
0.41.0
✨ Enhancements
- Implement rollback for Deployment, DaemonSet, StatefulSet. Including to specific revision and Revision history view. Thanks to @alokdangre
- Add multi-cluster user logout. Thanks to @alokdangre
- Enable cluster deletion in browser. Thanks to @alokdangre
- Display environment variables for containers in pod details views. Thanks to @gambtho
- Added Toggle Switch to filter helm secrets. Thanks to @mudit06mah
- Add session-ttl flag and logic. Thanks to @mudit06mah
- Allow OIDC cookies when in-cluster is false via flag. Thanks to @beep-boopp
- Add MCP server support for plugins including the ai-assistant. Thanks to @illume
- Add support for traefik or any reverse proxy handling auth through middlewares. Thanks to @ageekymonk
🐞 Bug Fixes
- Fix flaky PodDetailsView Storybook test. Thanks to @mahmoudmagdy1-1
- Fix ARIA menu role in ClusterChooserPopup. Thanks to @mahmoudmagdy1-1
- Correct aria attributes in ShowHideLabel component. Thanks to @greedy-wudpeckr
- Fix PluginSettings heading hierarchy. Thanks to @greedy-wudpeckr
- Fix a11y roles in ClusterChooserPopup for screen readers. Thanks to @mahmoudmagdy1-1
- Fix alignment in narrow layouts for NameValueTable. Thanks to @mahmoudmagdy1-1
- Fixed ignored k8cache error handling. Thanks to @greedy-wudpeckr
- Add crossorigin to manifest link. Thanks to @zyzzmohit
- Fix age column sorting in ObjectEventList. Thanks to @greedy-wudpeckr
- Auto-detect platform for Apple Silicon Macs. Thanks to @Mandalorian7773
- Add translatable aria-label fallback to Loader for screen readers. Thanks to @mastermaxx03
- Ensure complementary landmark has valid label in Activity. Thanks to @mastermaxx03
- Fix new project heading a11y issue. Thanks to @vyncent-t
- Default to init container if main container not yet running. Thanks to @mastermaxx03
- Add responsive width to ConfirmDialog. Thanks to @ChayanDass
- Fix alignment name and button in clusterRename. Thanks to @ChayanDass
- Remove inert property from Sidebar. Thanks to @sniok
- Populate empty DialogTitle in AuthTypeoidc story. Thanks to @CODEAbhinav-art
- Wrap MenuItem in MenuList for RestartMultipleButton. Thanks to @Vaishnav-Dhaval
- Add dialog title to HaveClusters story. Thanks to @CODEAbhinav-art
- Add missing properties to HeadlampTables interface. Thanks to @pallava-joshi
- Correct broken cluster settings navigation. Thanks to @emmanuel-ferdman
- Remove empty h1 from ClusterDialog. Thanks to @aravind4799
- Fix narration for Default Namespace in SettingsCluster. Thanks to @vyncent-t
- Disable close on select in PureNamespaceAutocomplete. Thanks to @YotamKorah
- Cascade delete Pods when deleting Jobs. Thanks to @beep-boopp
- Fix cluster rename bug for clusters with special characters. Thanks to @StevenPG
- Avoid invalid field selector for pod metrics. Thanks to @wingerx
- Persist rows-per-page selection to localStorage on change in Table. Thanks to @Trulsaa
- Preserve original URL after OIDC authentication. Thanks to @justinas-wix
- Fix scheme conversion and logging in multiplexer. Thanks to @illume
- Stop watcher goroutines on server shutdown. Thanks to @zyzzmohit
- Fix picking the hash for chocolatey version bump. Thanks to @joaquimrocha
- Fix showing corrupt file on Mac. Thanks to @mastermaxx03
- Add make cluster list scrollable to improve usability for keyboard users. Thanks to @mahmoudmagdy1-1
💻 Development
- Support apiGroup + kind for registerKindIcon. Thanks to @aadhil2k4
- Update app, backend, frontend, headlamp-plugin dependencies. Thanks to @skoeva
- Move HeadlampConfig to headlampconfig package. Thanks to @krrish-sehgal
- Add update and delete coverage to informer tests for k8cache. Thanks to @ChayanDass
- Refactor ts: made customResourceDefinition optional in CRClassArgs. Thanks to @pallava-joshi
- Lift up tableSettings helpers and add localStorage to ClusterTable. Thanks to @StevenPG
- Fix translations by using fs-backend with frontend locales path. Thanks to @sniok
- Replace execSync with execFileSync in headlamp-plugin/scripts. Thanks to @skoeva
- Fix delete error handling to show correct success/failure messages. Thanks to @gambtho
- Bundle source with esbuild, upgrade to vitest. Thanks to @sniok
- Refactor NavigationTabs component so it doesn't require cloning. Thanks to @sniok
- Add .cmd shim for Windows to headlamp-plugin. Thanks to @skoeva
- Add tests and stories for AuthToken Component. Thanks to @aravind4799
- Add test for terminal.tsx file. Thanks to @ChayanDass
- Add Storybook stories for ResourceTableColumnChooser. Thanks to @mastermaxx03
- Add stories for SettingsClusters and SettingsCluster. Thanks to @greedy-wudpeckr
- Add test for LogsButton.tsx file. Thanks to @aravind4799
- Provide automatic aria-labelledby for Dialog accessibility. Thanks to @mastermaxx03
- Update Terminal snapshots. Thanks to @mastermaxx03
- headlamp-plugin: Bump to 0.13.1
📖 Documentation
- Add documentation for Oracle K8s Engine support. Thanks to @jaiakash
- Add OpenUnison configuration guide. Thanks to @mlbiam
- Add many more plugin development tutorials including for List and Detail views. Thanks to @yolossn
- Fix some typos in contributing guide. Thanks to @gmarav05
Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.41.0
Desktop Apps:
🐧 Flatpak / Linux (AMD64)
🐧 Linux AppImage AMD64, ARM64, ARMv7l
🐧 Linux Tarball AMD64, ARM64, ARMv7l
🐧 Debian / Linux AMD64
🍏 Mac (AMD64)
🍏 Mac (ARM/M1)
🟦 Windows (AMD64)
headlamp-helm-0.40.1
Headlamp is an easy-to-use and extensible Kubernetes web UI.
0.40.1
🐞 Bug fixes
- Fix sidebar becoming inaccessible after collapse
- Fix age column sorting on events
Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.40.1
Desktop Apps:
🐧 Flatpak / Linux (AMD64)
🐧 Linux AppImage AMD64, ARM64, ARMv7l
🐧 Linux Tarball AMD64, ARM64, ARMv7l
🐧 Debian / Linux AMD64
🍏 Mac (AMD64)
🍏 Mac (ARM/M1)
🟦 Windows (AMD64)
0.40.0
✨ Enhancements:
- Add icon and color configuration to clusters. Thanks to @alexmathieu22
- Allow saving selected namespaces per cluster. Thanks to @mudit06mah
- Add configurable keyboard shortcuts Thanks to @alokdangre
- Add HTTPRoute support for Gateway API via new values and template. Thanks to @hxrshxz
- Display a8r.io service metadata in service views. Thanks to @mastermaxx03
- Make in-cluster context name configurable. Thanks to @iamhalje
- Minimize activities blocking the main content when needed Thanks to @joaquimrocha
- Add extraContainers field to Helm chart. Thanks to @lszczepaniak-XM
- Add ability to specify topologySpreadConstraints in Helm chart. Thanks to @irasnyd
- Add volume mounts on plugin helper sidecar. Thanks to @martinbfrey
- Add meUserInfoURL to secrets template. Thanks to @mudit06mah
- Improve French translation. Thanks to @arthurphilippe
- Allow configuring log level via command line arg and environment variable. Thanks to @aadhil2k4
- Add vertical snap positions for activities. Thanks to @kahirokunn
- Add deeplink compatibility for viewing Pod logs. Thanks to @mudit06mah
- Unauthenticated users can now follow deeplinks. Thanks to @mudit06mah
- Add debugging ephemeral container support. Thanks to @alexmathieu22
Appearance Configuration per cluster
Add service info from a8r.io metadata
🧩 Shipped Plugins
- Update shipped plugin Prometheus
- Settings: Added a test connection button
- Add i18n support
- Upgrade kinvolk/headlamp-plugin to 0.13.1
🐞 Bug fixes
- Fix showing corrupt file on Mac. Thanks to @mastermaxx03
- Fix checking for existing project names. Thanks to @pallava-joshi
- Fix focus trapping when resource drawer is open. Thanks to @pallava-joshi
- Fix MaxListenersExceededWarning. Thanks to @greedy-wudpeckr
- Fix getMainAPIGroup undefined error. Thanks to @mudit06mah
- Fix headlamp-plugin package failing on dist subdirectories. Thanks to @skoeva
- Fix Deployment.yaml template. Thanks to @mudit06mah
- Fix NameValueTable spacing issue. Thanks to @alokdangre
- Fix ARIA labels for input fields. Thanks to @vyncent-t
- Fix warning label color contrast. Thanks to @vyncent-t
- Fix many a11y issues. Thanks to @illume
- Implement ad-hoc signing for macOS arm64 to fix damaged app error. Thanks to @mastermaxx03
- Quote OIDC_USE_PKCE value to ensure it's a string. Thanks to @dihmandrake
- Fix package pattern in Helm chart release workflow. Thanks to @onedr0p
- Fix CI failures. Thanks to @skoeva
- Hide empty top bar overflow menu on small screens. Thanks to @d1vyanshu-kumar
💻 Development
- Add AGENTS.md for AI-assisted development. Thanks to @illume
- Add AGENTS.md to created plugins and bundle examples. Thanks to @illume
- Add app/ development documentation and linting/formatting scripts. Thanks to @illume
- Move yolossn from headlamp-reviewers to headlamp-maintainers. Thanks to @yolossn
- Bump headlamp-plugin to 0.13.0 in example plugins. Thanks to @skoeva
- Bump Storybook version in frontend plugins. Thanks to @skoeva
- Bump tar to 7.5.7. Thanks to @skoeva
- Update dependencies. Thanks to @skoeva
- Add fast-check property tests for unit parsers. Thanks to @illume
- Pin GitHub Actions by hash in draft-release workflow. Thanks to @skoeva
- Skip chart release if it already exists. Thanks to @sniok
- Remove unused frontend code. Thanks to @skoeva
📖 Documentation
- Add ingress basic auth guide for in-cluster deployments. Thanks to @aaryan359
- Add Quick Start for Contributors section to README. Thanks to @TRIVENI206
- Add Talos to supported platforms. Thanks to @alexmathieu22
- Fix Dex OIDC block indentation in values.yaml snippet. Thanks to @archups
🛡️ Security
Full Changelog: v0.39.0...v0.40.0
Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.40.0
Desktop Apps:
🐧 Flatpak / Linux (AMD64)
🐧 Linux AppImage AMD64, ARM64, ARMv7l
🐧 Linux Tarball AMD64, ARM64, ARMv7l
🐧 Debian / Linux AMD64
🍏 Mac (AMD64)
🍏 Mac (ARM/M1)
🟦 Windows (AMD64)


