Prometheus auto‑setup, session warning, SSH handler, bug fixes
Release history
Eclipse Che releases
Open source workspace server and cloud IDE.
All releases
15 shown
- Azure DevOps OAuth2 flow will stop working after upgrade; migrate to OIDC configuration in che-server.
- Deprecation warning: Azure DevOps standard OAuth2 authentication is deprecated and will be removed in a future release.
- Azure DevOps standard OAuth2 flow removed; OIDC authentication required via che-server component
- Default branch browse URLs in Bitbucket Server no longer cause NullPointerException (behavior change)
- Minimum Node.js runtime bumped to version 20.12 for che-server
- Browser‑based terminal start using ttyd
- OpenShift namespace creation option via `spec.devEnvironments.createNamespaceDirectly: true`
- Persistent user home directory enabled by default (`spec.devEnvironments.persistUserHome.enabled: true`)
Full changelog
Major Enhancements
Authenticate with Azure DevOps by using the OIDC flow
Azure DevOps is deprecating its standard OAuth2 authentication flow. Dev Spaces now supports the newer OIDC (OpenID Connect) authentication flow for Microsoft Azure DevOps, using Microsoft's authentication libraries in the che-server component. This change ensures continued compatibility with Azure DevOps for Git operations (clone, push, pull) and SCM authentication as Microsoft transitions away from the legacy OAuth2 flow.
Start a cloud development environment with a browser-based terminal
You can now start a cloud development environment with only a terminal in the browser:
The new editor definition uses ttyd (a command-line tool for sharing a terminal over the web) under the hood.
Use an external identity provider with OpenShift
Eclipse Che now supports running on OpenShift with an external OIDC provider enabled such as Keycloak. This feature was introduced in OpenShift Container Platform 4.20. For more details, see the official documentation.
Create Kubernetes namespaces instead of OpenShift projects
Before this release, Eclipse Che running on OpenShift created a project (project.openshift.io/v1) for each Che user. Starting from this release, the administrator can configure Che to create a Kubernetes namespace instead:
spec:
devEnvironments:
createNamespaceDirectly: true
Persistent user home directory is now enabled by default
With this release, persistent user home is enabled by default in the CheCluster CR:
spec.devEnvironments.persistUserHome.enabled
spec:
devEnvironments:
persistUserHome:
enabled: true
With this feature, non-ephemeral workspaces automatically have a PVC mounted at /home/user.
For more details about persistent user home, see the official documentation.
Use a GitHub App for identity and authorization management
Eclipse Che now supports using a GitHub App (in addition to OAuth Apps) for managing identities and authorizations. GitHub App tokens use application permissions instead of token scopes, so token scope validation has been disabled accordingly.
Visual Studio Code - Open Source ("Code - OSS") updated to version 1.108.2
Visual Studio Code - Open Source ("Code - OSS") has been updated to the 1.108.2 upstream version. For more details, see the official release notes.
Restart workspaces from a local devfile in JetBrains IDEs
Users whose main editor is one of the JetBrains IDEs (over Gateway) can now edit their cluster devfile and apply the changes from the editor.
Bug Fixes
che-server metrics collection no longer fails after Micrometer upgrade
Reverted the Micrometer upgrade (1.11.5 to 1.16.1) that broke che-server metrics collection due to incompatible Prometheus integration package changes.
Bitbucket Server default branch browse URLs no longer cause a NullPointerException
Opening a workspace from a Bitbucket Server default branch browse URL (without the ?at= query parameter) no longer causes a NullPointerException in the URL parser.
Loader and status icon styles are now consistent on the User Dashboard
Loader and status icon colors now use PatternFly design tokens instead of hardcoded values. Dark theme status label colors are also corrected.
Multiple accessibility issues on the User Dashboard are now resolved
The following accessibility improvements are included in this release:
- Keyboard navigation for editor selection, appearance settings, and provider dropdowns
- Correct focus order and tab navigation on the User Preferences page
- Improved color contrast for code editor line numbers and fold icons
- Proper validation messages and required field indicators across Personal Access Token, SSH Keys, and Gitconfig forms
- Distinct context for "Upload" buttons in the Add SSH Keys window
- Private repository cloning now prompts for credentials instead of failing silently
Gateway plugin now connects to JetBrains 2026.1-based remote IDEs
Newer versions of JetBrains require a trusted path configuration to ensure a smooth project loading process.
Gateway plugin now connects to remote JetBrains IDEs without a project
The Gateway plugin can now connect to a developer workspace backed by a JetBrains editor with no project. The IDE welcome screen is displayed in such cases.
- Backup/restore mechanism for ${PROJECTS_ROOT} viewable in Dashboard Backups tab
- SCC mismatch warning displayed on affected DevWorkspaces
- Dashboard redesign using PatternFly 6 with updated components
Full changelog
Major Enhancements
Create a mechanism for backup/restore of ${PROJECTS_ROOT} from one cluster to another
If backups are configured for Eclipse Che, workspace backups can now be viewed from the Dashboard within the Backups tab.
Backups for existing and deleted workspaces are available for viewing. Workspace backups are used to recover uncommitted code changes for workspaces that have been deleted from the cluster.
Once a backup is determined, users can restore the workspace from the Dashboard.
More details about the backup and restore configuration can be found in the official documentation.
SCC Mismatch Warning for DevWorkspaces
The Dashboard now detects and warns when a DevWorkspace's Security Context Constraint (SCC) configuration doesn't match the current server settings. This typically occurs when container run capabilities are enabled after workspaces have already been created. Affected workspaces display a warning icon with a tooltip explaining the mismatch. Workspace startup is not blocked - users can still start the workspace, but are informed that it may fail due to the SCC configuration change.
Dashboard re-design with PatternFly 6
The User Dashboard has been migrated from PatternFly 5 to PatternFly 6. This includes updated Layout, Card, and Form components, replaced CSS variables and class names.
Add IPv6 Support to the User Dashboard
The Dashboard now fully supports single-stack IPv6 environments, such as OpenShift 4.20+ clusters. Previously, some URLs and API calls failed due to incorrect handling of IPv6 addresses.
Update Fabric8 Kubernetes Client to 7.6.1
The Fabric8 Kubernetes client dependency in Che Server has been updated to version 7.6.1, bringing in the latest bug fixes and improvements.
Add CAP_CHOWN to Container Run capabilities
For this release, the CHOWN Linux capability is added to the default security context for workspace containers when container run mode is enabled (alongside the existing SETGID and SETUID capabilities). This allows containers to change file ownership, which is needed for nested container scenarios.
Add editor support for remote development using JetBrains Toolbox App
Create an editor definition, "JetBrains Toolbox App (desktop)" that allows connecting a locally running JetBrains Toolbox App to a remove development workspace, over SSH.
Bug Fixes
MS Azure token validation in personal access tokens
Previously, adding a Microsoft Azure DevOps personal access token with invalid data (e.g., malformed token or organization name) would still save the token despite displaying an error. After a page refresh, the invalid token caused an "Illegal characters" error that blocked access to Eclipse Che. The token is now properly validated before saving, and invalid entries are rejected without affecting application access.
Use dynamic delimiter for advanced authorization values
Previously, there was a bug where usernames or group names containing commas would break the advanced authorization configuration since commas were hardcoded as the delimiter. Now Eclipse Che automatically picks a safe delimiter (from ,, |, ;, :, #, \t) that doesn't conflict with the usernames or group names.
- Multicluster redirector spreads developer environments across multiple OpenShift clusters based on group membership
- Global init containers configurable via `spec.devEnvironments.initContainers` in the CheCluster CR
Full changelog
Major Enhancements
Enterprise Scalability - Create a mechanism for spreading workspace load across multiple OpenShift clusters
You can now spread your developer environments across multiple OpenShift clusters using a new multicluster redirector. This service automatically redirects users to the correct Eclipse Che instance on the appropriate cluster based on their Red Hat OpenShift group membership. More details about the multicluster redirector solution for Red Hat OpenShift are available in the official documentation.
Provide initContainers field in the CheCluster CR
Global init containers can now be configured directly through the CheCluster custom resource from the spec.devEnvironments.initContainers field. The field accepts type []Container.
The new field can be configured as follows:
apiVersion: org.eclipse.che/v2
kind: CheCluster
spec:
devEnvironments:
initContainers:
- name: my-container
image: quay.io/my-container:latest
Setting the configuration above will add a my-container init container for all CDE pods.
Additionally, if the spec.devEnvironments.persistUserHome.enabled is set to true, the init-persistent-home init container can be overwritten by specifying an init container in spec.devEnvironments.initContainers named init-persistent-home.
Allow to globally configure the ssh_config for all dev spaces users
With this release, it is now possible to globally configure the SSH configuration for all Dev Spaces users. Administrators can extend the default SSH config file that is applied across the environment, and individual Che users can further extend this default configuration with their own custom SSH settings as needed. More details about mounting SSH configuration can be found in the official documentation.
Migrate devworkspace-generator to Yarn v4
With this release, the devworkspace-generator project has been migrated to Yarn v4. This update modernizes the dependency management setup, improves performance and consistency of installs, and aligns the project with the latest Yarn ecosystem improvements.
Migrate che-server typescript-dto module to Yarn v4
With this release, the che-server typescript-dto module has been migrated to Yarn v4. This change ensures a more up-to-date and maintainable build environment, providing improved dependency resolution and better alignment with current tooling standards.
Migrate chectl to Yarn v4
With this release, chectl has been migrated to Yarn v4 to align with the latest Yarn ecosystem improvements.
DevWorkspace Operator 0.40.0
DevWorkspace Operator 0.40.0 is now available, adding new functionality to Eclipse Che. For more information, see the changelog.
Document how to remove extensions from the Open VSX registry
With this release, the process for managing extensions in the Open VSX registry has been clarified with new documentation covering the supported and recommended approach for removing extensions. This includes guidance for scenarios where extensions may need to be removed manually, ensuring administrators have clear and consistent instructions for maintaining their registry.
Bug Fixes
Fix podman run command failure with parent devfiles
Resolved an issue where podman run coupled nested containers would fail in workspaces configured with parent devfiles. When spec.devEnvironments.disableContainerRunCapabilities is set to false, CDE containers receive HOST_USERS=false to indicate they're running in a dedicated user namespace, allowing container images to adjust their behaviour accordingly.
Add support for UBI 8-based images in the VS Code (desktop) (SSH) editor
Support samples whose development container are based on UBI 8 images when connecting a local instance of VS Code to that remote container over SSH.
Editor are not displayed on arm64 platform
With this release, an issue affecting the user dashboard on arm64 platforms has been resolved. Editors were not displayed because the system detected the architecture as aarch64, while the editor configuration defined the available architecture as arm64. The architecture handling has been aligned to ensure editors are correctly recognized and displayed on arm64 environments.
Potential startup failure in .NET 9 & Ansible samples with Jetbrains Desktop editors
Make Jetbrains Desktop editor images more resilient to running on UBI 9.7 based images, with any samples whose development container is based on a UBI < 9.7.
Che Code startup failure when developer container uses OpenSSL version < 3.4.0
Ensure Che Code (based on UBI 9.7) starts successfully when used in combination with a sample workspace whose developer container uses OpenSSL version < 3.4.0 (eg. UBI < 9.7).
Eclipse Che operator triggering unnecessary deployment rollouts
Previously, there was a bug where the ConfigMaps defined in the operator deployment changed order on every reconcile, causing
an endless reconcile loop. This issue has been fixed for this release.
Remove unnecessary entries that operator adds into Che ConfigMap
Previously, the Che ConfigMap contained obsolete fields which were used in the Che Server workspace engine. These fields have been removed for this release.
- Workspaces list includes an **Editor** column with icons and tooltips derived from `che.eclipse.org/che-editor` annotation
- User Dashboard shows available Git branches in the **Git Repo Options** view when creating a workspace, reducing manual entry errors
- Administrators can set maximum CPU/memory limits and requests for workspace containers via `spec.DevWorkspace.containerResourceCaps` in CheCluster CR
Full changelog
Major Enhancements
Identifying editors used for workspaces
The Workspaces list now includes an Editor column that displays an icon for the editor used by each workspace. You can hover over the icon to see a tooltip with the editor name. Eclipse Che determines the editor from the che.eclipse.org/che-editor workspace annotation and matches it against the editors registry to ensure accurate icons and labels. This improvement makes it easier to identify the configured editor for each workspace directly from the dashboard.
Viewing available Git branches in the User Dashboard
The User Dashboard now displays a list of available Git branches when you create a workspace in the Git Repo Options view. The dashboard retrieves the branches and displays them in a drop-down list in the Git Branch section, making selection easier and reducing errors. If the repository is private or branches cannot be retrieved, the workflow reverts to the existing behavior, allowing you to manually enter a branch name.
Updating branding for the application loader
The application loader now dynamically selects the most appropriate logo from available image formats, including JPG, JPEG, PNG, GIF, WebP, and SVG. Optimized rendering ensures sharper visuals across different environments.
Creating devfiles with a new web interface
A community-supported web application for creating devfiles through an interactive step-by-step wizard is now available at https://start.devfile.io/.
DevWorkspace Operator 0.39.0
DevWorkspace Operator 0.39.0 is now available, adding new functionality to Eclipse Che. For more information, see the changelog.
Supporting UBI 10 for the Universal Developer Image
A new Universal Developer Image (UDI) based on Universal Base Image 10 (UBI 10) is available at quay.io/devfile/universal-developer-image:ubi10-latest. This image includes updated developer tools for compatibility with UBI 10.
Configuring container resource caps
Administrators can now set maximum resource limits and requests for workspace containers using the spec.DevWorkspace.containerResourceCaps field in the CheCluster custom resource (CR). This prevents the creation of workspaces with excessive CPU or memory requirements at the devfile level. If a devfile exceeds the limit or request caps, the system automatically applies the capped values.
spec:
devEnvironments:
containerResourceCaps:
limits:
cpu: "1"
memory: 2Gi
requests:
cpu: "0.1"
memory: 100Mi
Managing extension installation with the vscode-editor-configurations ConfigMap
Administrators can control Che Code extension installation using the BlockCliExtensionsInstallation, BlockDefaultExtensionsInstallation, BlockInstallFromVSIXCommandExtensionsInstallation, and AllowedExtensions properties in the policy data file. For example, you can disable extension installation or activation. For more information, see Manage extension installation with ConfigMap.
Bug Fixes
Optimizing branding assets for performance
Branding logo and favicon loading is now optimized to eliminate unnecessary network requests and visual delays. Logo format detection is cached to prevent repeated 404 requests, and assets are loaded during the preload phase. Branding assets now appear immediately without waiting for full bootstrap or cluster configuration fetch.
Fixing workspace sample behavior with the "Create new" checkbox
Workspace creation from samples now correctly respects the "Create New" checkbox setting. Previously, creating a workspace from a sample always resulted in a new workspace, even when "Create New" was cleared. his behavior is fixed to allow the reuse of existing workspaces.
Handling SSH URLs in getting-started samples
An issue is resolved where custom getting-started samples configured with SSH Git URLs failed to clone the project. SSH-based repository URLs are now handled correctly, ensuring samples work as documented when you use SSH authentication. For more information, see Configuring getting started samples.
Reverting support for VS Code Composite Commands
Support for Composite Commands in Che Code is reverted because it could disrupt regular command execution under certain conditions. Reverting the support restores standard functionality until it can be appropriately implemented.
- Removed deprecated `request` package and replaced it with `axios`
- CVE-2023-28155 — Removed deprecated `request` package and replaced with `axios` to fix the vulnerability (GHSA-p8p7-x288-28g6)
- Workspace Overview tab now supports renaming with copy‑to‑clipboard
- Improved PVC full‑storage error handling with guided recovery steps
- JetBrains IDE workspaces respect CheCluster idling timeouts
Full changelog
Major Enhancements
Upgrade "Workspace Overview" tab
With this release, the Workspace Details/Overview tab now supports workspace renaming with built-in copy-to-clipboard functionality. The update introduces a reusable copy-to-clipboard component for a consistent dashboard experience and allows workspace names to be edited when the workspace is in the STOPPED or FAILED state, with validation for length, naming patterns, and duplicates.
As a user I want to have a clear UX / error message when my CDE is failing to start due to full PVC
With this release, per-user storage error handling has been improved by adding PVC error detection and guided recovery steps. When a workspace fails to start due to full PVC storage, users now see a clearer error message that includes the workspace name and root cause, a direct link to the OpenShift Console PVC management view, and a YAML snippet to help with manual PVC expansion.
JetBrains Editors Now Respect Idling Timeouts
Workspaces using JetBrains IDEs now correctly respect the idling timeouts specified by the CheCluster properties secondsOfRunBeforeIdling and secondsOfInactivityBeforeIdling.
VS Code Composite Commands
Devfiles have a notion of Composite Commands. It allows connecting multiple Commands together by defining a single Composite Command, for example:
commands:
- id: package
exec:
component: tools
commandLine: 'mvn package'
group:
kind: build
- id: install
exec:
component: tools
commandLine: 'mvn install'
group:
kind: build
isDefault: true
- id: installAndPackage
composite:
commands:
- install
- package
parallel: false
This behavior is now supported in Che-Code.
Update Visual Studio Code - Open Source ("Code - OSS") to version 1.104.3
Visual Studio Code - Open Source ("Code - OSS") has been updated to the 1.104.3 upstream version. Read more in the official release notes.
Document how to configure OpenVSX to use AWS S3 bucket as a storage
Documentation has been added to explain how to configure AWS S3 as the storage backend for OpenVSX extensions.
The new guide covers all required configuration properties, example values, and setup steps to help administrators use an S3 bucket for reliable and scalable extension storage. For more details check upstream Eclipse OpenVSX documentation.
Update UBI9 base image
Updated the Universal Developer Image base image to use the latest UBI9 version.
Bug Fixes
Incorrect Error Message Displayed with Advanced Authorization Enabled
An issue was resolved where users saw an unhelpful message (Error [object Object]) when advanced authorization was enabled and they were not allowed to access the User Dashboard.
The dashboard now displays the correct message:
User <username> is not authorized to create a project. Please contact your system administrator.
Enhance User Experience with Updated Dev Spaces Branding
With this release, custom logo rendering on the User Dashboard has been improved by fixing blurriness in base64-encoded images. The update introduces dynamic loader image selection, supports multiple image formats (JPG, PNG, GIF, WebP, SVG), adds a “Loading…” fallback for SVGs, and enhances image sharpness on the loading page.
Duplicate Trust Prompt When Importing Devfile from GitLab Raw URL
A bug was fixed where the “Do you trust the authors of this repository?” prompt appeared twice when importing a devfile using a GitLab raw file URL with a personal access token (PAT).
This issue occurred when using URLs in the format:
https://<gitlab-server>/api/v4/projects/<project-id>/repository/files/<devfile-path>/raw?ref=main&private_token=<token>
The dashboard now correctly displays the trust prompt only once, ensuring a smoother and more consistent workspace creation flow.
Save' button is not disabled when set 'user gitconfig' data in 'UserPreferences' on Dashboard
With this release, the Save button behavior in User Preferences has been fixed. When Git configuration settings are already applied, the Save button is now correctly disabled, ensuring consistent behavior even after refreshing the page or switching between preference tabs.
Fixed Critical CVEs in the request package
Removed deprecated request package and replaced with axios to fix CVE-2023-28155.
- Removed deprecated API services from che-server
- Fixed critical CVE in form-data package by updating to avoid unsafe random function
- Automatically import custom TLS certificates to Java trust store
- Improved VS Code connection instructions landing page (SSHD)
- DevWorkspace Operator updated to 0.38.0
Full changelog
Major Enhancements
Automatically import certificates to Java trust store
The latest universal developer image and universal developer base image will detect and add custom TLS certificates to the Java trust store automatically. This feature is useful when following Importing untrusted TLS certificates to Che from the official documentation.
By default, certificates will be read from /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem, but can be configured by setting the JDK_CA_BUNDLE environment variable.
Improve the connection instructions landing page for VS Code (SSHD)
Improve the presentation of the landing page with better styling, copy-to-clipboard functionality, links for tools/authentication, and instructions for Windows (where applicable).
DevWorkspace Operator 0.38.0
The DevWorkspace Operator 0.38.0 has been released, providing new functionality to Eclipse Che. View the changelog here.
Change order of the editors on the User Dashboard
The Choose an Editor view has been improved - editors are now neatly grouped and sorted for better usability.
Show Downloading IDE binaries... (it can take a few minutes) only when relevant to avoid confusion
With this release, the Downloading IDE binaries… (it can take a few minutes) message is now shown only when applicable. It no longer appears for the default VS Code editor on the Starting workspace page.
Support Gitlab base URL with pattern "https://host/scm"
With this release, Eclipse Che now correctly handles GitLab Server instances hosted under additional path segments (for example, https://host/scm).
Bug Fixes
"Close and Stop" button should always stop the active Dev Workspace
When closing the IDE, The "Close and Stop" button on the prompt to close the IDE backend should always stop the active Dev Workspace.
Tools running in terminal should prevent workspace idle termination
When a tool performs a long-running task, the workspace idling configuration should take such tasks into account.
Connect button should be disabled for a started Dev Workspace
It should not be possible to connect to a Dev Workspace that already has an existing connection.
Fix critical CVE in form-data package
Updated form-data across various packages to avoid use of unsafe random function.
Removed Functionalities
Remove deprecated API services from che-server
With this release, several deprecated services have been removed from the che-server, reducing maintenance overhead and improving overall stability.
- Existing CDEs cannot start if `spec.devEnvironments.disableContainerRunCapabilities` is set to false due to SCC restrictions.
- Nested container feature requires OpenShift version 4.20 or greater.
- Removed Projector‑based IntelliJ Community editor definitions
- Nested container run capabilities via `spec.devEnvironments.disableContainerRunCapabilities` (requires OpenShift 4.20+ and latest base developer image)
- New ClusterRoles `eclipse-che-edit` and `eclipse-che-view` for standardized admin RBAC
- Gateway plugin supports connecting to multiple DevWorkspaces
Full changelog
Major Enhancements
Nested Containers
With this release, there is a new field in the CheCluster custom resource for enabling the container run capabilities in the CDE:
spec:
devEnvironments:
disableContainerRunCapabilities: false
This allows the user to run podman run commands within the CDE without the use of kubedock. This feature requires the CDE to be based on the latest quay.io/devfile/base-developer-image:ubi9-latest or quay.io/devfile/base-developer-image:ubi10-latest image.
[!IMPORTANT]
Due to SCC restrictions, existing CDEs will not be able to be started ifspec.devEnvironments.disableContainerRunCapabilitiesis set tofalse.
[!NOTE]
This feature requires OpenShift version 4.20 or greater.
As a user when I create a workspace from the 'Getting Started' I want to give it a name
This allows the user to specify a workspace name when creating a workspace from the Getting Started page in the User Dashboard.
Allow DevWorkspace renaming via kubernetes.io/metadata.name label
With this release, it’s now possible to rename a workspace using the kubernetes.io/metadata.name label in the DevWorkspace object.
Gateway plugin should support connecting to multiple DevWorkspaces
The Gateway plugin now supports connecting to multiple DevWorkspaces:
https://github.com/user-attachments/assets/bbb8c7ac-e0e1-4f93-a815-478c28e91871
Add eclipse-che admin edit/view roles
With this release, new eclipse-che-edit and eclipse-che-view ClusterRoles are added to provide standardized RBAC permissions for Eclipse Che administration. These roles follow Kubernetes conventions for edit/view access patterns and enable
fine-grained access control for Eclipse Che resources.
Retention mechanism for synchronized Kubernetes objects
Kubernetes objects such as PVCs, Secrets, and ConfigMaps can be synchronized to all users' namespaces following Configuring a user namespace in the official documentation.
With this release, if a PVCs is created following Configuring a user namespace, to prevent data loss, PVCs in users' namespaces will not be deleted by default if the source PVC is deleted.
Display a message if the TLS certificate hasn’t been imported when adding a PAT for the Bitbucket Server
When a user attempts to add a Bitbucket Server personal access token without having imported the Bitbucket TLS certificate into Che, the User Dashboard now displays a clear and actionable error message:
The required SSL certificate is missing or not trusted by the system. Please contact your administrator.
Add Java 17 support to the che-server project
With this release, che-server now supports Java 17.
Update Visual Studio Code - Open Source ("Code - OSS") to 1.103.2 version
Visual Studio Code - Open Source ("Code - OSS") has been updated to the 1.103.2 upstream version. Read more in the official release notes.
Print an additional error message if the CheCluster controller failed to reconcile
This release provides more detailed error logs for reconcile failures in the che-operator-* pod.
Bug Fixes
Improve a behavior when switch on 'Create New' in 'Import Git repository' field on the Dashboard
When using a Git repository URL in the Import from Git flow on the Dashboard, enabling Create New previously added the policies.create=perclick parameter automatically. This behavior caused confusion, as the documentation specifies that to create a new workspace from the same repository, users should append the ?new parameter to the Git repository URL.
With this update, the behavior is now aligned with the documentation to provide a consistent and predictable user experience.
Gateway plugin should automatically reconnect after restarting IDE
Starting from this release, when the local IDE is restarted, the Gateway plugin will automatically attempt to reconnect to the remote IDE.
Removed Functionalities
Deprecated Projector-based Intelij Community editor definitions
The deprecated Projector-based Intelij Community editor has been completely removed from the code base in this release.
- Visual Studio Code - OSS updated to version 1.101.2
- Fabric8 Kubernetes client upgraded to version 7.4.0
- Base developer image now based on UBI10 (quay.io/devfile/base-developer-image:ubi10-latest)
- DevWorkspace Operator upgraded to version 0.37.0
- SSH local‑to‑remote support added for VS Code‑based editors
Full changelog
Major Enhancements
Base developer image based on UBI10
The base developer image based on UBI10 is now available at quay.io/devfile/base-developer-image:ubi10-latest.
DevWorkspace Operator 0.37.0
The DevWorkspace Operator 0.37.0 has been released, providing new functionality to Eclipse Che. View the changelog here.
SSH local to remote support in VS Code-based editors
Make it possible to connect to a DevWorkspace using the SSH protocol from a local (desktop) VS Code-based editor.
https://github.com/user-attachments/assets/d49d5951-eb44-4fdd-b095-e9639454dd1c
Update Visual Studio Code - Open Source ("Code - OSS") to 1.101.2 version
Visual Studio Code - Open Source ("Code - OSS") has been updated to the 1.101.2 upstream version. Read more in the official release notes.
Update Fabric8-Kubernetes-Client to version 7.4.0
With this release, the Fabric8 Kubernetes client used in che-server has been updated to version 7.4.0. For details on the changes included in this update, see the official release notes.
Bug Fixes
Provider name is empty for bitbucket.org
This release fixes a bug in the Add/Edit Personal Access Token (PAT) window and adds Bitbucket to the list of supported providers. Bitbucket SaaS OAuth 2 tokens are now automatically selected in the provider dropdown when editing a token.
The "Git repo URL" field on the "Create Workspace" page of the User Dashboard doesn't respect the private_token URL parameter
This release fixes a bug where the private_token URL parameter in the Git repo URL field on the Create Workspace page was ignored. Now, if you include private_token in the repo URL, the workspace will properly use it to authenticate.
.che/che-editor.yaml changes not applied on workspace restart — only on creation
Previously, changes in .che/che-editor.yaml were not applied when a workspace was restarted. This release fixes that bug, ensuring that custom editor updates defined in .che/che-editor.yaml are correctly applied after restarting the workspace.
Replace cluster's console URL with one to authentication credentials on landing page for Jetbrains Gateway-based workspaces
Reduce the number of login steps by displaying the user's authentication credentials for a cluster directly on the JetBrains Gateway landing page once the DevWorkspace has started.
- ConfigMaps `che-editor-settings`, `che-idle-settings`, and `che-proxy-settings` in user namespaces have been merged into a single ConfigMap named `che-user-settings`
- TLS bundle permissions updated to `0444` and `ca-certs-merged` annotations adjusted when `spec.devEnvironments.trustedCerts.disableWorkspaceCaBundleMount` is true
- CPU and Memory Limit widgets on the Dashboard now allow direct setting of limit values through input fields in Advanced Options
- CheCluster CR gains `spec.devEnvironments.defaultContainerResources` for configuring default workspace container resources
- Ability to specify a Git branch when starting a workspace from an SSH URL
Full changelog
Major Enhancements
CPU and Memory Limit widgets
With this release, the CPU and Memory Limit widgets on the Dashboard have been improved. You can now set CPU and memory limit values directly through input fields in the Advanced Options menu.
Create links in the entrypoint for files under /home/tooling/.config
Previously, with the UDI it was not possible to persist /home/tooling/.config files when spec.devEnvironments.persistUserHome is enabled in the CheCluster. With the latest UDI, /home/tooling/.config files will be persisted by creating a symlink from files under /home/tooling/.config to /home/user/.config in the entrypoint of the UDI.
Specify which files from /home/tooling/.config should be copied
When spec.devEnvironments.persistUserHome In some situations, it can be desirable to have files from /home/tooling/ copied to /home/user/ instead of creating a symlink. This can be useful for dotfiles or configurations, allowing users to edit and have their configurations stored in the persistent volume.
The latest UDI allows specifying which files should be copied via the .copy-files file:
FROM quay.io/devfile/base-developer-image:ubi9-latest
...
RUN echo ".my-config" >> /home/tooling/.copy-files
...
The example above creates in image where the /home/tooling/.my-config file is moved to the /home/user/.my-config in the container entrypoint, effectively copying the file into persistent storage after mounting.
Allow external TLS configuration for ingress/routes
This feature enables external tools such as cert-manager to inject TLS configuration into workspace ingresses/routes. The following fields have been added to the CheCluster CR:
spec:
devEnvironments:
networking:
externalTLSConfig:
// Enabled determines whether external TLS configuration is used.
// If set to true, the operator will not set TLS config for ingress/route objects.
// Instead, it ensures that any custom TLS configuration will not be reverted on synchronization.
enabled: <bool>
// Labels to be applied to ingress/route objects when external TLS is enabled.
labels: <map[string]string>
// Annotations to be applied to ingress/route objects when external TLS is enabled.
annotations: <map[string]string>
Reduce number of ConfigMaps created in a user namespace
With this release the Che-managed ConfigMaps:
che-editor-settingsche-idle-settingsche-proxy-settings
created in user namespaces have been combined into one ConfigMap named che-user-settings.
Add defaultContainerResources field to CheCluster
With this release, there is a new spec.devEnrinoments.defaultContainerResources introduced to the CheCluster CR which is used to update the config.workspace.defaultContainerResources field of the Che-owned DevWorkspaceOperatorConfig.
Example CheCluster CR:
spec:
devEnrinoments:
defaultContainerResources:
limits:
cpu: 200m
memory: 200Mi
requests:
cpu: 100m
memory: 100Mi
Specify the branch to use when starting a workspace from an SSH Git URL
This release adds the ability to specify a branch when launching a workspace from a Git repository using an SSH URL. This provides developers with greater control and flexibility when starting their development environments.
Multiple connections support in Jetbrains Gateway Plugin
Users can now view a list of multiple connection settings inside the JetBrains Gateway Plugin. The number of available servers can now also be limited.
UBI 10 support for Che Code
Previously the che-code editor failed to start with Red Hat Universial Base Image 10. With this release you can now explicitly reference those images in the components section of a devfile:
schemaVersion: 2.3.0
metadata:
name: ubi10-minimal-demo
components:
- name: tools
container:
image: registry.access.redhat.com/ubi10-minimal@sha256:53de6ac7c3e830b0ddfc9867ff6a8092785bcf156ab4e63dfa9af83c880fd988
args: ['tail', '-f', '/dev/null']
endpoints:
- exposure: public
name: nodejs
protocol: http
targetPort: 3000
memoryLimit: 2Gi
memoryRequest: 256Mi
mountSources: true
attributes:
controller.devfile.io/merge-contribution: true
Bug Fixes
Dashboard is blank when one of the DevWorkspace objects has an empty spec
This release fixes a bug that caused the User Dashboard to render a blank page when any DevWorkspace custom resource in the namespace had an empty spec. Now, even if a DevWorkspace object has an empty spec, the Dashboard will display correctly.
Dev Spaces personal access token UI does not allow URL parameter to contain port number
Previously, the User Dashboard did not support configuring a personal access token when the URL parameter included a port number. This limitation has been fixed in the current release, and personal access tokens can now be configured successfully with URLs that contain port numbers.
Ensure ca-certs-merged CM is resynced when disableWorkspaceCaBundleMount changed
Previously, the ca-certs-merged ConfigMap was not updated with the correct annotations when the spec.devEnvironments.trustedCerts.disableWorkspaceCaBundleMount field was set to true in the CheCluster CR.
Additionally when the certificates were mounted, the /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem file did not have sufficient permissions to run update-ca-trust.
With this release:
- The mounted
tls-ca-bundle.pemfile will now have0444permissions - When the
disableWorkspaceCaBundleMountfield is set totrue, theca-certs-mergedConfigMap will have annotations required to mount to/public-certs.
More information about importing untrusted TLS certificates can be found in the official docs.
- Official guide for configuring, building, deploying, and patching Che to use a private Open VSX instance
- JetBrains Rider, GoLand, and PhpStorm added to the workspace creation "Editor Selector"
- Configurable JetBrains IDE download URL via `spec.devEnvironments.editorsDownloadUrls` in CheCluster
Full changelog
Major Enhancements
Documentation for Eclipse Open VSX On-Premises
With this release, official documentation is now available for running a private VS Code extension registry On-Premises. The guide provides end-to-end instructions on how to configure, build, deploy, and patch Eclipse Che to use your on-premises Open VSX instance.
JetBrains Rider (desktop)
JetBrains Rider IDE for .NET developers, and game development, is available in the "Editor Selector" of the workspace creation page.
JetBrains GoLand (desktop)
JetBrains GoLand IDE for Go developers is available in the "Editor Selector" of the workspace creation page.
JetBrains PhpStorm (desktop)
JetBrains PhpStorm IDE for PHP developers and related front-end technologies is available in the "Editor Selector" of the workspace creation page.
Add field to specify JetBrains IDE download URL
With this release, you can configure the JetBrains IDE download URL in the CheCluster custom resource by using the spec.devEnvironments.editorsDownloadUrls field.
apiVersion: org.eclipse.che/v2
kind: CheCluster
metadata:
name: eclipse-che
namespace: eclipse-che
spec:
devEnvironments:
editorsDownloadUrls:
- editor: string
url: string
This feature is useful in disconnected or air-gapped environments, where editors cannot be downloaded from the public internet.
Learn more about the editorsDownloadUrls property in the official documentation.
Better handling of the workspaces link, when using the link multiple times
This release gives you greater control when creating a new workspace using URL. Clicking a factory URL detects existing workspaces from the same Git repository, guiding you to an existing one or giving you the option to create a new workspace intentionally.
Key Updates
- Smart URL Handling: When you use a factory URL, Che checks for existing workspaces from that Git repository.
- If a single workspace exists, it opens automatically, preventing an accidental duplicate.
- If no workspace exists, a new one is created.
- Multi-Workspace Prompts: If a factory URL matches multiple existing workspaces, a warning message appears, prompting you to choose the specific one you want to open or to create a new workspace:
-
Direct Workspace Targeting: You can bypass the multi-workspace prompt and open a specific instance directly by appending
?existing=<workspace-name>to the Git repository URL. -
Explicit Workspace Creation: You can force the creation of a new workspace by adding
?newparameter to a factory URL. This always creates a new workspace. -
Create New switch: On the Create Workspace page, the
Create Newswitch gives you more control when using sample projects.- With the switch enabled (the default state), selecting a sample always creates a new workspace.
- If you disable the switch, selecting a sample opens an existing workspace if one was previously created from that sample.
Learn more about the existing URL parameter in the official documentation.
DevWorkspace Operator 0.36.0
The DevWorkspace Operator 0.36.0 has been released, providing new functionality to Eclipse Che. View the changelog here.
Bug Fixes
iss parameter is not excluded during workspace startup via factory URL
Previously, when starting a workspace from a factory URL, the iss (issuer) authentication parameter was not correctly excluded. This issue has been resolved, and the parameter is no longer visible in the URL at workspace start time.
- Set CDE PVC access mode via `CheCluster` CR
- Hide editors lacking current architecture in User Dashboard
- Copy `/home/tooling/.config` to `/home/user/.config` on first CDE start with persisted home
Full changelog
Major Enhancements
Set the access mode for CDE PVCs in the CheCluster CR
With this release, you can set the access mode of Cloud Development Environment (CDE) persistent volume claims from the CheCluster custom resource:
apiVersion: org.eclipse.che/v2
kind: CheCluster
spec:
devEnvironments:
storage:
perUserStrategyPvcConfig:
storageAccessMode:
- ReadWriteMany
pvcStrategy: per-user
CDE persistent volume claims created after setting the storageAccessMode in the CheCluster CR will use the specified access mode.
Show editors for supported architectures only
You can hide editors that do not support the current system architecture on the User Dashboard.
Supported architectures are defined in each editor’s metadata:
schemaVersion: 2.3.0
metadata:
name: che-code
displayName: VS Code - Open Source
description: Microsoft Visual Studio Code - Open Source IDE for Eclipse Che
tags:
- Tech-Preview
attributes:
arch:
- x86_64
- arm64
- s390x
- ppc64le
Support for copying /home/tooling/.config to /home/user/.config in the image entrypoint
Previously, when the spec.devEnvironments.persistUserHome feature was enabled and you started a Cloud Development Environment (CDE) for the first time using a UDI based image, the files in the /home/tooling/.config folder were not copied over to the /home/user/.config folder. With the latest update to quay.io/devfile/universal-developer-image:latest, the /home/tooling/.config folder will be copied over to /home/user/.config in the image entrypoint.
Update Traefik version to v3.4.0
The Traefik version used by the operator has been updated to the v3.4.0 version. More details about the new version are available in the official release notes.
Bug Fixes
GitLab for Non Standard Ports Fails
Before this release, GitLab OAuth integration did not work when GitLab was served on non-standard ports (i.e., other than 80 or 443). This issue has been resolved, and custom ports are now supported.
Always install release version of extensions
Before this release, Pre-Release versions of extensions were being installed in certain situations when installing the extensions specified in the recommendations section of the .vscode/extensions.json file. This issue has been resolved, and will now install the Release versions.
- Configure self‑signed TLS certificates via a file instead of environment variables.
- The GitHub Copilot icon will be re‑enabled once the extension becomes fully open source.
- The GitHub Copilot icon is disabled by default and not visible.
- Self‑signed certificates are now read from a file instead of an environment variable.
- Updated Visual Studio Code - OSS to version 1.100.3
- Added official documentation for running Eclipse Che at scale
- Upgraded Maven in the Universal Developer Image to version 3.9.9
Full changelog
Major Enhancements
Update Visual Studio Code - Open Source ("Code - OSS") to 1.100.3 version
Visual Studio Code - Open Source ("Code - OSS") has been updated to the 1.100.3 upstream version. Read more in the official release notes.
Disable GitHub Copilot icon
With this release, the GitHub Copilot icon is disabled and not visible by default.
[!NOTE]
The icon will be enabled back once Microsoft makes the GitHub Copilot extension fully opensource.
Documentation for running Eclipse Che at scale
Official documentation for running Eclipse Che at scale has been added in this release.
Prefer using files over environment variables for self-signed certificates
Starting from this release, the self-signed certificates are read from a file instead of the environment variable.
Update Maven to version 3.9.9 in the Universal Developer Image
With this release, Maven 3.9.9 is used in the default Universal Developer Image quay.io/devfile/universal-developer-image:ubi9-latest:
quarkus-api-example (main) $ mvn -v
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: /home/tooling/.sdkman/candidates/maven/current
Java version: 17.0.13, vendor: Eclipse Adoptium, runtime: /home/tooling/.sdkman/candidates/java/17.0.13-tem
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "5.14.0-427.70.1.el9_4.x86_64", arch: "amd64", family: "unix"
DevWorkspace Operator 0.35.1
The DevWorkspace Operator 0.35.1 has been released, providing new functionality to Eclipse Che. View the changelog here.
Bug Fixes
Authorization icon is disabled when OAuth token is set on Bitbucket.org
Previously, the icon authorization was incorrectly disabled when the OAuth token was set on Bitbucket.org.
The defect has been fixed in this release.
Error redirect page when accepting OAuth2 factory on Bitbucket server
Before this release, there was a defect resulting in an error redirect page when accepting the OAuth2 factory on Bitbucket server.
Dashboard CDE list should be opened after login if it has a workspace created
Previously, the "Create Workspaces" page was opened instead of the "Workspaces" on the User Dashboard if at least one Cloud Development Environment (CDE) existed. The defect has been fixed in this release.
- Support for operator and operands in namespaces labeled with pod-security.kubernetes.io/enforce=restricted
- Che Server build support on s390x architecture (IBM Z running RHEL 9.4)
Full changelog
Major Enhancements
Allow operator to run in namespaces with enforce=restricted Pod Security Standards
Starting from this release, you can have both the operator and operands running in namespaces with the
pod-security.kubernetes.io/enforce=restricted labels. Learn more about enforcing Pod Security Standards with Namespace Labels from the official Kubernetes documentation.
Allow to specify persistent volume type RWX when using strategy per-user
With DevWorkspace Operator 0.35.0, you can configure the storage access mode for PVCs managed by the DevWorkspace Operator.
apiVersion: controller.devfile.io/v1alpha1
kind: DevWorkspaceOperatorConfig
metadata:
name: devworkspace-operator-config
namespace: $OPERATOR_INSTALL_NAMESPACE
config:
workspace:
storageAccessMode:
- ReadWriteMany
With the configuration above, newly created PVCs will have the ReadWriteMany access mode:
Enable Che Server Build Support on s390x Architecture
The che-server component is now built on the s390x architecture, ensuring successful builds on IBM Z running RHEL 9.4 in the upstream.
Bug Fixes
Common PVC cleanup job can be assigned to incorrect node in multi-node cluster
With DevWorkspace Operator 0.35.0, if there are multiple Cloud Developer Environments (CDEs) using a common PVC, and if a running CDE is deleted, the cleanup job pod will always be scheduled on the node the CDE pod was running in. For common PVCs with the ReadWriteOnce access mode, this prevents the Multi-Attach error which caused the cleanup job to be assigned to an incorrect node .
Do not overwrite NODE_EXTRA_CA_CERTS environment variable on the workspace startup
You can use your own CA certificate by specifying the path to the certificate in the NODE_EXTRA_CA_CERTS environment variable. This fix guarantees that the value of the NODE_EXTRA_CA_CERTS environment variable will not be overwritten on the workspace startup.
Non-admin user can't fetch list of workspaces into JetBrains Gateway using Plugin
Previously, if a user was not allowed to list the 'devWorkspace' objects in one of the namespaces, this led to an empty workspace list in the Gateway UI. The defect has been fixed in the v0.0.11 plugin release.
ConfigMap vscode-editor-configurations does not replicate the changes in the namespace
Previously, changes added to the settings.json and extensions.json in the vscode-editor-configurations CM were not applied correctly. The defect has been fixed in this release. Learn more about applying editor configurations in the official documentation.
VS Code OpenShift Toolkit extension does not detect connection on the cluster it is deployed on
Before this release, OpenShift Toolkit extension did not detect a connection on the cluster it is deployed on. The defect has been fixed in this release, and now the connection is displayed correctly:
Token injection fails on workspace restart after expiry
Previously, if the OpenShift user token expired, restarting the workspace did not inject/refresh the new token. The defect has been fixed in this release.
User Dashboard showed wrong devfile content of workspace created from private GitHub repo using SSH URL
Before this release, the wrong devfile content was displayed for workspaces created from a private GitHub repository using SSH URL. The defect has been fixed in this release.
- To override the default development image, set `spec.devEnvironments.defaultComponents` with a new container image.
- Additional memory and CPU requirements for JetBrains IDE workspaces are documented in the administration guide.
- Support for JetBrains Gateway 2025 via dedicated plugin
- Filter samples by tags and languages on User Dashboard
- Default development image changed to UDI 9 (`quay.io/devfile/universal-developer-image:ubi9-latest`)
Full changelog
Major Enhancements
Support for JetBrains Gateway 2025
With this release, JetBrains Gateway 2025 is supported by the dedicated plugin, which is compatible with Eclipse Che.
Allow filtering samples by tags and languages on the User Dashboard
With this release, you can filter samples on the User Dashboard by both tags and languages.
Use UDI 9 as the default development image
With this release, quay.io/devfile/universal-developer-image:ubi9-latest is used as the default development image. To override it, use the spec.devEnvironments.defaultComponents Custom Resource property:
spec:
devEnvironments:
defaultComponents:
- name: universal-developer-image
container:
image: <>
Add NodeJS MongoDB sample in Eclipse Che website
A new Node.js MongoDB sample that has been contributed to devfile.io is available on the Eclipse Che official website with this release.
Resource requirements for running a CDE with a JetBrains IDE
Information about additional memory and CPU requirements for a JetBrains IDE (e.g. IntelliJ IDEA Ultimate) is available in the official documentation.
Bug Fixes
Workspaces which used ubi9-based samples as tool containers failed to start with JetBrains IntelliJ IDEA (desktop)
Before this release, there was a known issue with starting Cloud Development Environments (CDEs) created with ubi9-based images (ubi9-minimal, ubi-init, and ubi9) in the desktop version of JetBrains IntelliJ IDEA. The IDE did not load, causing the start of the workspace to fail after some time. The defect has been fixed in this release.
Git history wiped out after workspace pod crash
Previously, there was a defect related to the loss of all Git history if a workspace pod was restarted with a default devfile when the persistent storage strategy specified in the CheCluster was per-workspace. The defect has been fixed in this release.
Setting controller.devfile.io/storage-type attribute to ephemeral in devfile doesn't use ephemeral storage
The regression related to the controller.devfile.io/storage-type: ephemeral attribute has been fixed in this release, and Cloud Development Environments (CDEs) created from devfiles with this attribute now correctly use the emptyDir volumes.
Error redirect page when accepting OAuth2 factory on Bitbucket server
Previously, when accepting Bitbucket server's OAuth2 prompt, there was an unexpected error redirect page with the error stack trace: {"message":"Cannot invoke \"String.length()\" because \"this.input\" is null","trace"}. The defect has been fixed in this release.
Gitlab raw devfile url is not recognized
Previously, Gitlab raw devfile URLs were not correctly processed, resulting in the default devfile being used for Cloud Development Environment (CDE) startup. The defect has been fixed in this release.
Gitlab repository URL with multiple groups and subgroups is corrupted
Previously, when you launched a workspace from the Dashboard using a Gitlab repository URL with multiple groups and subgroups, it failed when a branch from the Git Repo Options was also provided from the Dashboard. The defect has been fixed in this release.
Bitbucket SSH URL to create workspace not working
Before this release, you could not create a Cloud Development Dnvironment (CDE) based on Bitbucket SSH URLs because the startup was interrupted by the Warning alert:Failed to create the workspace error. The defect has been fixed in this release.
Post start events execute in alphabetic order rather than listed sequence, leading to potential confusion
Previously, postStart commands were executed based on alphabetical order rather than the sequence in which they were listed in the devfile, leading to potential confusion, especially when a specific execution order is expected based on the listed sequence. Starting from this release, the execution happens in sequential order in the way the commands are listed in the postStart section of a devfile:
postStart:
- command-one
- command-two
- command-three
Pre-release versions of the extensions are installed by default from https://open-vsx.org
Previously, the pre-release versions of the extensions were installed by default from https://open-vsx.org. The defect has been fixed in this release, and now the stable versions of the extensions are installed by default.