Releases: kubernetes-sigs/headlamp
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)
headlamp-helm-0.40.0
Headlamp is an easy-to-use and extensible Kubernetes web UI.
headlamp-helm-0.39.0
Headlamp is an easy-to-use and extensible Kubernetes web UI.
0.39.0
✨ Enhancements:
- Add cluster column to CRD list. Thanks to @kahirokunn
- Add attach-based node debugger workflow that mirrors
kubectl debug-node. Thanks to @dorser - Add count column to events list view
- Display Node and Loadbalancer ports in Service list view. Thanks to @jaehanbyun
- Add missing details to Pod, ReplicaSet, NetworkPolicy, Namespace, Services and DaemonSets
- Open headlamp address in default browser when running in Headless mode
- Add support for adding custom header actions to project detail view
The CRD list view with cluster column
Attach-based node debugger in Node detail view
The events list view with the event count column
🐞 Bug fixes
- Deduplicate CRDs in sidebar items. Thanks to @kahirokunn
- Deduplicate namespaces from multi-cluster list in autocomplete. Thanks to @kahirokunn
- Allow templating in Helm chart pod labels. Thanks to @rickliujh
- Fix tooltip jittering issue. Thanks to @jaehanbyun
- Fix image digests in Dockerfiles
- Replace custom contains with slices.Contains in Backend. Thanks to @jongwooo
- Fix wrong apiVersion used when CRUDing a CustomResource. Thanks to @damsien
- Fix Custom CA not being used when refreshing token. Thanks to @mlbiam
- Fix useKubeObject to use standard websocket connection instead of multiplexed
- Fix the runCommand to properly take into account user and static plugins
- Fix errors caused due to null resource in Header actions. Thanks to @kahirokunn
- Fix ReplicaSetGlance props to include Statefulset
- Fix ID and kind clashes in Map component
- Fix plugin watch doing a loop on mac
- Fix uninstalling plugins to use user's plugin directory instead of default plugins directory
🌍 Internationalization
- Update chinese translations. Thanks to @lou-lan and @hsiangjenli
- Add i18n helper tools for extracting and copying translations
🧩 Shipped Plugins
- Update shipped plugin Prometheus
- Update headlamp-plugin to 0.13.0
- Update shipped plugin Plugin Catalog (Desktop only)
- Update headlamp-plugin to 0.13.0
- Update shipped plugin App catalog (Desktop only)
- Fix artifacthub charts searching in App catalog plugin. Thanks to @xqm32
- Update headlamp-plugin to 0.13.0
💻 Development
- Update dependencies on plugins examples, app, pluginctl and frontend
- Add verify-image-digests make recipe for verifying image digests
- Update releaser cli to handle triggering app builds
- Add e2e test for in-cluster deployment
- Remove unused deps from headlamp-plugin
- Add Activity to pluginLib
📖 Documentation
- Fix typo and missing links in docs. Thanks to @BublikTV, @SinghaAnirban005, and @SQLJames
- Add User Guides, Development Guides, Learn and Develop sections to docs
- Add documentation and example for Activitiy feature that allows devs to create resizeable popup windows
- Add example showcasing how to register header functions to projects
🛡️ Security
- CVE-2025-14269: Credential caching in Headlamp with non-default enableHelm option is true in in-cluster version of Headlamp and not Headlamp Desktop. Thanks brndstrp and @cji
Full Changelog: v0.38.0...v0.39.0
Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.39.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-plugin 0.13.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 .✨ Enhancements:
- Creating a new plugin and installing dependencies is up to 4.2x times faster
- New and expanded guides for plugin architecture and development, including how to publish and ship plugins
- i18n support so plugins can be translated and localized
- Add example plugins: ui-panels, resource-charts, custom-theme, and projects
- Improve TypeScript support so more things are typed correctly, and on-hover documentation is shown
- Document plugin install locations, UI signifiers in Plugin Settings, and labels that differentiated shipped, UI-installed, and dev-mode plugins
- Remove many unused dependencies, for faster installs and fewer updates
- Add --noinstall option to
headlamp-plugin createcommand - Add concept of "shipped", "user plugins" and "dev plugins"
For Plugin Developers: Find Plugin Folder in the UI
To make it easier for plugin developers to find where on the local file system plugins are there is an open plugin folder button. In Plugin Settings select the plugin being developed, and then click the open folder icon to open the plugin path with the Desktop file Finder.
🐞 Bug fixes
- Fix storybook, so "npm run storybook" works again
- Upgrade dependencies to match latest Headlamp release
- Fix
createcommand to install with npm ci - Fix support for env vars REACT_APP_ NODE_ENV
- Fix npm start to log where files are copied, which helps people understand where plugins are copied
- Fix polyfils for node modules process and path
- Fix lib k8s import paths in storybook
- Fix
npm run buildcommand to copy css and svg files - Fix storybook theme logo and fonts to match Headlamp
- Fix storybook to include base mocks and css
🛠️ headlamp-plugin development
Items about the development of the headlamp-plugin package.
- Add tests to check storybook is working inside headlamp-plugin
- Add copy-package-lock script to create template/package-lock.json to pin dependencies and make headlamp-plugin installs faster
⚠️ Type Checking
Because of the improvements to type checking there may be a number of TypeScript issues found when ugprading.
You may find similar issues have been fixed in the example plugins, or in other plugins.
🐛 Reporting issues
Please submit an issue if you have any ideas, questions or feedback on Headlamp plugin development. Or come to the Kubernetes slack headlamp channel for a chat.
0.38.0
✨ Enhancements:
- Add custom local port input dialog for port forwarding. Thanks @jaehanbyun
- Add concept of "shipped", "user-installed", and "dev" plugin types
- Add ability to specify priorityClassName in the Headlamp Helm chart. This allows setting the relative priority of Headlamp compared to other Pods when Headlamp is deployed in a cluster. Thanks @mcg1024
Custom Local Port Forwarding Dialog
A custom local port selection dialog for port forwarding was added. Allowing people to specify their preferred local ports (e.g., 8080) instead of only using auto-assigned ports.
Screen.Recording.2025-11-08.at.10.41.28.PM.mov
Enhanced Plugin System to Handle Different Types of Plugins Better
The plugin loading system has been enhanced. It now differentiates plugins by type (shipped with app/user-installed/development) and loads them according to a priority-based system. Development plugins have the highest priority, followed by user-installed, then shipped plugins. When multiple versions of the same plugin exist, only the highest priority enabled version is loaded.
The UI has been enhanced to show the different types of plugins. To also make finding where they are easier.
🐞 Bug fixes
- Fix useAccessToken arg not set when using external secrets in Helm chart. Thanks @rickliujh
- Fix missing PKCE arg in Helm charts. Thanks @rayshoo
- Fix Add Local Cluster Provider link on Add Cluster view
- Fix so username is displayed in Top Bar for when Headlamp is behind an Oauth2Proxy
- Remove extra 1px border on top of the Side Bar
- Improve headlamp port clashes for the Headlamp app when it is starting and ports are already used
- Fix reloading of app after plugin install when using Windows app
Port Clashes Fixed in Headlamp Desktop App
Before Headlamp tried to listen on port 4466 with the desktop app. If that port was already used then Headlamp would just try to use that existing port. This was problematic of course if there are other apps using that port, or other users on the same machine using that port. Now Headlamp will use another port if that port is already used.
💻 Development
- Remove our homebrew and winget package creation automation, because they are handled by them now
- Add action to push chocolatey package automatically
- Update dependencies for security updates
- Fix storybook theme for plugins, and use correct new logo in storybook for plugins
For Plugin Developers: Find Plugin Folder in the UI
To make it easier for plugin developers to find where on the local file system plugins are there is an open plugin folder button. In Plugin Settings select the plugin being developed, and then click the open folder icon to open the plugin path with the Desktop file Finder.
📖 Documentation
- Improve Projects Learn section in docs
- Add Local Cluster Learn section to docs
- Fix missing commas in OIDC scopes in some OIDC installation tutorials
Full Changelog: v0.37.0...v0.38.0
Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.38.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.38.0
Headlamp is an easy-to-use and extensible Kubernetes web UI.
headlamp-helm-0.37.0
Headlamp is an easy-to-use and extensible Kubernetes web UI.
0.37.0
✨ Enhancements:
- Load time of Desktop app up to 60% faster
- Add Default and Parameters columns to Ingress Class List. Thanks to @jaehanbyun
- Add cluster links to project details status section
- Add default indicator column to StorageClassesTable. Thanks to @jaehanbyun
- Set namespace from search
- Enabled Helm support in the backend via --enable-helm flag. Thanks to @muraliinformal
- Add Helm support to in-cluster Headlamp with vanilla Helm repos. Thanks to @shahvrushali22 and @muraliinformal from Oracle
- Add an authenticated "service proxy" used by the new helm repo support. Thanks to @shahvrushali22 and @muraliinformal from Oracle
- Add missing fields and subsection to Network Policy
- Implement kebab menu for table row actions. There is now a consistent kebab menu (vertical dots) for all table row actions across the application, replacing the previous horizontal dots icon. Thanks to @jaehanbyun
- Add Headlamp user agent and Headlamp version to Kubernetes API requests
- Show user information in OIDC authenticated clusters users per cluster-scoped user info via endpoint
- Add PKCE OIDC support to improve OIDC security. Off by default. To enable with helm add
config.oidc.usePKCE: true. Or add-oidc-use-pkce=trueto headlamp-server flags.
User information for OIDC Clusters Displayed
The user that is logged in is displayed in the top bar for clusters configured with OIDC.
Network Policy now with all the missing fields
Some of the fields were reported missing, and now they are shown.
Setting the namespace from search
In the global search there is a shortcut for setting up the current namespace. This is to avoid having to select the namespace from the dropdown.
🐞 Bug fixes
- Fix Monaco Editor with custom base url. Thanks to @DanielLeone
- Include baseURL in Cookie Path. Thanks to @appare45
- Fix baseURL handling in embedded spa handler
- Fix Release Notes rendering in the app of img tags that github now uses
- Fix isDrawerMode fetch when state not there
- Align Actions column and disable sorting/filtering in Cluster Table. Thanks to @jaehanbyun
- Fix status color for labels on Deployments List
- Align PortForward table with Cluster Table pattern. Thanks to @jaehanbyun
- Display valid dates on map view for events
- Fix loadBalancerSourceRanges formatting in the headlamp helm chart. Thanks to @caymard
- If there is an empty cluster list on the home view show the "Add Cluster" link
💻 Development
- Add e2e-tests for react-hotkeys dependency. Thanks to @adwait-godbole
- Extract RefreshAndCacheNewToken from headlamp.go and add tests
- Improve app in development to start up to 8.3x faster
- Add stories for NetworkPolicy
- Add root npm build scripts as an alternative to Make to reduce requirements for developers
- Fix on-hover display of documentation and types for some plugin APIs for plugin developers
- Fix for container test check on github to cleanup disk space to avoid running out
- Small fixes to projects and KubeMetadata types so plugins using them don't raise type errors
- Add storybook stories for Layout component with various states. Thanks to @hxrshxz
- Add isScalable attribute for resources, if true ScaleButton will show for these resources
📖 Documentation
- Add instructions for people who want to install headlamp plugins in the desktop app docs/installation/desktop/plugins-install-desktop.md
- Add page showing people wanting to use plugins some of the plugins
- Improve Plugin Manager related instructions to help with issues people were reporting
Plugins showcase
To go along with the new docs on installing plugins, there is now a page dedicated to showing off some of the plugins. To give people a bit of an idea about what plugins are available.
Learn section in docs
A new section was added within Headlamp official docs, aimed to help users learn how to navigate Headlamp. Available at Headlamp docs. The first section in there describes how to use the new "Projects" feature. More documentation on how to use different Headlamp features will go into the Learn section of the docs in the future.
🧩 Shipped Plugins
- Update shipped plugin plugin-catalog 0.4.2 (desktop only)
- Fixes for a number of display issues
- Minor bug fixes found with new type checker config
- Update shipped plugin app-catalog 0.7.0 (desktop only)
- Support for Vanilla Helm repos along with Artifact Hub ones
Full Changelog: v0.36.0...v0.37.0
Container image: 🐳 ghcr.io/headlamp-k8s/headlamp:v0.37.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)







