Chapter 2. New features and enhancements
2.1. New field in the
CheCluster CR for configuring user namespace provision
This enhancement adds an
autoProvision field to the
CheCluster custom resource where OpenShift Dev Spaces administrators can disable automatic provisioning of user namespaces:
spec: components containerRegistry devEnvironments: defaultNamespace: autoProvision: true 1
trueis the default.
If you set
false, and a user does not already have a OpenShift Dev Spaces namespace, workspace creation will fail.
2.2. OpenShift Toolkit update
With this update, the OpenShift Toolkit extension for Microsoft Visual Studio Code - Open Source is updated to version 1.0.0, which provides support for odo 3.3.0.
2.3. Improved UX of Git-provider OAuth configuration
With this update, administrators can select OAuth application Secrets of their Git providers in the
CheCluster Custom Resource and the OpenShift web console.
2.4. Microsoft Visual Studio Code - Open Source in restricted environments
With this update, you can use Microsoft Visual Studio Code - Open Source in workspaces in a restricted environment. To manage extensions, OpenShift Dev Spaces now includes a locally cached Open VSX Registry instance in the plugin registry pod.
2.5. Microsoft Visual Studio Code - Open Source is the default editor
In OpenShift Dev Spaces 3.3, the default editor in workspaces is Microsoft Visual Studio Code - Open Source IDE.
In Visual Studio Code - Open Source, commands defined in devfiles appear as workspace tasks. To execute these tasks, go to Terminal → Run Task. Alternatively, F1 to open the Command Palette and type
task to see a drop-down list of available tasks.
2.6. Updated options for the dsc server:delete CLI command
This enhancement updates the options for the
dsc server:delete CLI command:
--delete-alloption removes the Dev Workspace Operator and the related resources.
--delete-namespaceoption removes the OpenShift Dev Spaces namespace.
2.7. OpenShift Dev Spaces fetches latest devfile.yaml and che-editor.yaml in remote Git repositories
With this update, OpenShift Dev Spaces fetches the latest versions of the
che-editor.yaml files in the remote Git repository when you use the URL for that repository to start a new workspace.
2.8. Updated Universal Developer Image
In OpenShift Dev Spaces 3.3, the Universal Developer Image (UDI) is updated as follows:
Improved Python 3.9 tooling support:
jq(JSON parsing) and
yq(YAML parsing) have been included.
pytesthas been added to the path (along with
pip) for easier use.
kamelbinary has been removed.
To include other tools or runtimes, an administrator can extend, fork, or replace the UDI image with one that includes the tools appropriate for your organization and your users' needs. That replacement image can then be referenced in the
CheCluster custom resource, so that users can use the custom image in their devfiles. This will ensure that the tools and runtimes they need are persistent and do not need to be installed on each workspace startup.
Users can also develop their own UDI image(s) and refer to them from their devfiles. This requires publishing the image to a registry that is accessible from their organization’s cluster. However, this approach is less centralized and standardized, and may not scale or perform as well.
2.9. Updates to the sample projects
In OpenShift Dev Spaces 3.3, the sample projects provided in the dashboard have changed as follows:
- The .NET sample has been updated to run with .NET 7.
- The Camel K sample has been removed.
- The PHP DI sample has been removed.
- The EAP 7.4 and EAP XP3 samples have been removed.
2.10. Updated documentation about the OpenShift Dev Spaces resource requirements
With this update, Calculating OpenShift Dev Spaces resource requirements has been improved to include CPU details and Microsoft Visual Studio Code - Open Source, which is the new default editor.
2.11. Overriding workspace Pod and container fields in a devfile
With this update, users can specify arbitrary fields and override any fields for the workspace Pod and containers in a devfile. This includes
schedulerName, and such Kubernetes extended resources as
nvidia.com/gpu. To do that, users can use the new
2.12. Start a workspace with no sample project from the dashboard
With this update, an Empty Workspace tile is available in the dashboard from which you can create an empty workspace. Such a workspace starts with your IDE of choice and the UDI image containing various tools and CLI applications for software development in Java, Python, Node.js, C/C++, PHP, .Net and other languages. Once opened, you can use the IDE in the workspace to clone a remote Git repository.
2.13. Improved workspace storage configuration options in the
With this update, administrators can configure such options as storage class and size of workspaces in the
CheCluster custom resource.
2.14. Self-signed certificate importing is now easier
This enhancement makes it easier for administrators to add a Git provider’s self-signed certificate in OpenShift Dev Spaces. See the steps to do so in Git with self-signed certificates.
2.15. Enabling container builds in the CheCluster CR
With this update, administrators can enable container builds by setting
devEnvironments.disableContainerBuildCapabilities: true in the
CheCluster custom resource. This enables users to run
podman build on any workspace. Adding the attribute
controller.devfile.io/scc: container-build in a devfile is no longer required.
2.16. Improved UX with invalid devfiles during workspace creation
With this update, OpenShift Dev Spaces displays a warning for users in the Creating a workspace page that the devfile in the remote Git repository is invalid. The warning offers users two options: Continue with the default devfile or Reload. This feature is particularly useful when a user is editing and testing a devfile.
2.17. Supported subdomain isolation for GitHub Enterprise Server
With this update, OpenShift Dev Spaces supports subdomain isolation for GitHub Enterprise Server customers. Administrators can enable subdomain isolation in the
CheCluster custom resource:
spec: gitServices: github: - endpoint: 'https://github.com' secretName: github-oauth-config disableSubdomainIsolation: true