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-settings
che-idle-settings
che-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.pem
file will now have0444
permissions - When the
disableWorkspaceCaBundleMount
field is set totrue
, theca-certs-merged
ConfigMap will have annotations required to mount to/public-certs
.
More information about importing untrusted TLS certificates can be found in the official docs.