Lens 2025.2.141554-latest - Release

We are happy to announce a new Stable release for Lens Desktop that addresses multiple bugs and offers a new set of features as a response to the valuable feedback we have gathered from our community.

To ensure a smooth transition and minimize disruption we’ll start by rolling out the update to a small portion of our users, then incrementally increasing this number until all users have access to the update. If you have not received the update and wish to try it out, you can download this version manually at our website .

Check our latest blog post “Introducing Contextual Tab Filtering in Lens: Streamline Your Kubernetes Workflow and Reduce Tab Clutter” to learn more about one of the highlights of this release.

Here’s what you can expect:

  • Implemented Contextual Tab Filtering to allow users to focus their attention on tabs of a single cluster, resource category, or folder. No more juggling a crowded tab bar, or mixing cluster views unintentionally .
  • Enabled automatic drill-down in the navigator when searching through clusters, improving readability and organization.
  • Removed automatic persistence of tabs, leaving up to the user when to pin a tab to the view.
  • Added support for pasting Kubeconfigs directly into the Navigator to quickly add clusters.
  • Reintroduced a unified Dock for all tabs associated with a given cluster, improving usability for terminals, shell sessions, logs, and more.
  • Added support for OIDC authentication in EKS’ SSO process.
  • Enhanced the namespace dropdown with single-click selection for names and multi-selection via checkboxes.
  • Improved namespace selector behavior when searching through the list.
  • Introduced a log wrapping option to facilitate debugging and troubleshooting.
  • Added support for displaying time zone information for CronJobs.
  • Introduced an option to filter empty containers in Prometheus queries, supporting different configuration levels.
  • Updated Trivy operator installation instructions to recommend version v0.25.0.
  • Adjusted kubeconfig validation logic to accept any kubeconfig that is considered valid by kubectl.
  • Improved tooltip speed, making them appear faster.
  • Enhanced overall app performance by optimizing how tabs are opened.
  • Added support for preserving scroll position in tables across tabs, improving navigation.
  • Added support to preserving columns width as per customized by the user.

Bug Fixes

  • Fixed broken links in resources controlled by CRDs.
  • Fixed Linux distribution issues with RPM and APT repositories.
  • Fixed node draining flags, ensuring the correct flag (--delete-emptydir-data or --delete-local-data) is used based on the Kubernetes version.
  • Fixed leaked sockets caused by long-running operations (e.g., Kube watches) that could disrupt users’ internet connections.
  • Fixed blank window issue when air-gapped mode was caught in an unhandled state.
  • Fixed slow cluster connections when handling a large number of namespaces.
  • Fixed undesired navigator state when removing clusters.
  • Fixed surveys freezing the Activation view.
  • Fixed a bug causing the navigator tree to collapse when revealing the Teamwork and Local Kubeconfig sections.
  • Fixed memory leaks that caused performance issues when auto-detecting metric sources and requests.
  • Fixed context selector in the Navigator to correctly display the cluster name after it was edited.
  • Fixed details panel flickering when the intended Kubernetes object does not longer exist.

Screen Recording

Note:

  • Contextual Tab Filtering: Quickly focus on tabs within a single cluster for smoother navigation.
  • Automatic Drill-Down in the Navigator: Easily identify clusters by isolating their tree structure from others.
  • Log Line Wrapping: Avoid horizontal scrolling and improve readability with automatic line wrapping in logs.
  • Unified Dock: Keep all logs, terminals, and editors consolidated for a seamless workflow within a single cluster.

Linux binaries

4 Likes

Hi guys, loving the new update - you’ve solved many major pain points!

Unfortunately, it seems that with this update, some OIDC-compatible features have been broken. Specifically, I am now unable to use the rook-ceph plugin with OIDC, the following error occurs:

C:\Users\jhawk>k rook-ceph ceph status
Error: operator namespace 'rook-ceph' does not exist. Get "https://redacted:6443/api/v1/namespaces/rook-ceph": getting credentials: exec: executable kubelogin not found

It looks like you are trying to use a client-go credential plugin that is not installed.

To learn more about this feature, consult the documentation available at:
    https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins
Error: exit status 1

C:\Users\jhawk>kubelogin
No configuration found.
You need to set up the OIDC provider, role binding, Kubernetes API server and kubeconfig.
To show the setup instruction:

    kubectl oidc-login setup

See https://github.com/int128/kubelogin for more.
error: login: could not find the current authentication provider: could not find the current auth provider: auth-provider is missing

I reverted back to the previous January release, and it works without issue.

@james is the issue only in the Lens terminal?

@jakolehm Sorry for the delayed response, didn’t get this notification. Yep, I just tested with kubectl outside Lens and it works as expected - this error only occurs when using kubectl inside the Lens terminal on the new version.

Workaround might be to disable “Bypass Lens Internal KubeApi Proxy” in Settings → Proxy (reopen terminals after the change).

But of course we would like to fix the bug… could you check if kubectl config view (within Lens Terminal) is missing some information related to oidc-login.

All OIDC information is present in kubectl config view.

As you suggested, disabling Bypass Lens Internal KubeApi Proxy resolved the issue. Thanks for the workaround!

Something I noticed - running kubectl krew list within Lens displays a warning:

WARNING: To be able to run kubectl plugins, you need to add the
"%USERPROFILE%\.krew\bin" directory to your PATH environment variable
and restart your shell.

I’m not sure if that error was present in the previous version of Lens. But that warning does not appear when running kubectl krew list in a regular Terminal. I checked set within Lens and the correct path is visible within Path.

Has something changed with how Lens interprets environment variables? The warning appears regardless of the state of Bypass Lens Internal KubeApi Proxy.

The new version uses by default direct (kubectl) connection from Lens Terminal which means that if Lens Terminal env is missing for example something in PATH it may cause issues. Could you check if the $PATH env within Lens Terminal has the same folders as “native” terminal?

There’s two Path variables defined in the Lens terminal. In my native terminal, only the $Path variable exists.

Path=[loads of other stuff....] C:\Users\jhawk\.krew\bin;
[...]
PATH=C:\Users\jhawk\AppData\Roaming\Lens\binaries\kubectl\1.30;C:\Users\jhawk\AppData\Roaming\Lens\binaries;

Hi i have similar problem. In Lens terminal doesn’t work oidc-login anymore.

error: unknown command "oidc-login" for "kubectl"

I have tried powershel and cmd terminals with the same result.

Everything works fine outside the Lens .

Thanks for sharing the details, this will help us finding a solution for the bug :+1:

1 Like

I’m having trouble getting this reproduced. Are you using powershell or cmd, what version of Windows? Also, how do you set the Path/PATH to include “C:\Users\jhawk.krew\bin”, is it a User variable or a System variable?

I’m using cmd, on Windows 11 Version 10.0.26100 Build 26100.

I use a user variable: %USERPROFILE%\.krew\bin

In my system environment variables, only Path is defined on both user and system, there’s no PATH.

Okay, I think we have a fix for this, we will simply consider both Path and PATH. It should be included in the next release.

1 Like