Chapter 1. Release notes

Red Hat CodeReady Workspaces is a web-based integrated development environment (IDE). CodeReady Workspaces runs in OpenShift and is well-suited for container-based development.

This section documents the most important features and bug fixes in Red Hat CodeReady Workspaces. For the list of CodeReady Workspaces 2.8 release issues, see the Chapter 3, Known issues section.

  • To deploy applications to an OpenShift cluster from CodeReady Workspaces, users must log in to the OpenShift cluster from their running workspace using oc login.
  • Having multiple CodeReady Workspaces deployments on the same cluster is not recommended, and the ability to do so may be removed in a future release.
  • For best performance, use block storage for Persistent Volumes used with CodeReady Workspaces.
  • The name of the default CodeReady Workspaces namespace is openshift-workspaces. A user who wishes to use the previous name for the default namespace, workspaces, needs to note that documentation was updated to reflect the current state.
  • For IBM Power Systems (ppc64le), the memory limit for some plug-ins has been increased by up to 1.5G to allow pods sufficient RAM to run. For example, on IBM Power Systems (ppc64le), the Che-Theia editor pod requires 2G; the OpenShift connector pod requires 2.5G. For AMD64 and Intel 64 (x86_64) and IBM Z (s390x), memory requirements remain lower at 512M and 1500M respectively.

1.1. About Red Hat CodeReady Workspaces

Red Hat CodeReady Workspaces 2.8 provides an enterprise-level cloud developer workspace server and browser-based IDE. CodeReady Workspaces includes ready-to-use developer stacks for some of the most popular programming languages, frameworks, and Red Hat technologies.

This minor release of Red Hat CodeReady Workspaces is based on Eclipse Che 7.28 and offers a number of enhancements and new features, including:

CodeReady Workspaces 2.8 is available in the Red Hat Container Catalog. Install it on OpenShift Container Platform, starting at version 3.11, by following the instructions in the Installing CodeReady Workspaces on OpenShift Container Platform 3.11 chapter of the Installation Guide.

CodeReady Workspaces 2.8 is available from the OperatorHub in OpenShift 4.6 and beyond. CodeReady Workspaces 2.8 is based on a new Operator that uses the Operator Lifecycle Manager. This makes the CodeReady Workspaces installation flow simpler and doable without leaving the OpenShift Console.​

To install CodeReady Workspaces for OpenShift 4.6 or later, get CodeReady Workspaces from the OperatorHub and follow the Installing CodeReady Workspaces on OpenShift 4 from OperatorHub chapter of the Installation Guide.

1.2. Notable enhancements

1.2.1. New CodeReady Workspaces dashboard

A new dashboard delivers a more streamlined user experience, faster loading, and more consistent interface design with Red Hat OpenShift. The dashboard is based on PatternFly, Red Hat’s open source design system, and will continue to evolve over the coming releases.

1.2.2. Support of OpenShift OAuth flow for factories from private repositories using Dashboard

Dashboard now performs additional actions required by the Che server during OpenShift authentication flow for factories from private repositories.

This allows a user to accept a factory from a private repository using a Dashboard request to resolve factory details from a repository URL provided by the user (POST /api/factory/resolver).

Che server then recognizes that URL points to a private repository and looks there for credentials secret. If no secret is present, the Che server initiates the automatic OAuth login procedure.

1.2.3. Simplified Factory URL identificator

The previously used /f?url= attribute for identifying Factory locations is now changed to the # character. Users can now use the <user-ocp-provider>#<factoryURL> rather than <user-ocp-provider>/f?url=<factoryURL>. The links made using the previous way will remain operational.

1.2.4. Automatic plug-in recommendation for the workspaces that start without a devfile

For workspaces that start without a devfile, a list of recommended plug-ins will be created during the Factory handling. A user will be prompted by a CodeReady Workspaces to install them and do workspace restarts for their activation.

1.2.5. Support for Project Lombok

Lombok is a popular Java IDE extension available for VS Code, which automatically plugs into a user editor and builds the needed tools to enhance the written Java code.

1.2.6. Support sidecar filesystem access for VS Code extensions

Cross-container file system access between Che-Theia editor and VS Code extensions is now possible. Users can now access files between containers, making it easier to share build assets.

1.2.7. Devfile switch for Single-root/Multi-root mode

Many VS Code extensions require to be run in Multi-root mode. CodeReady Workspaces is currently still in the Single-root mode by default, but the ability to switch for the Multi-root has been added into a devfile. With upcoming releases, the aim is to set the Multi-root mode as the default for CodeReady Workspaces, followed by Single-root mode disablement.

For turning on the Multi-root mode, use the multiRoot attribute property in a workspace devfile.

attributes:
  multiRoot: 'on'

1.2.8. Support for installation in restricted environments on IBM Z

Installation in a restricted environment is now supported on OpenShift Container Platform on IBM Z infrastructure. This will ensure that workspaces can be started without relying on resources from outside networks.

1.3. Other enhancements

1.3.1. Enhancements to Bitbucket support

This release improves the workflow and automates all authentication actions to eliminate manual credential configuration.

  • BitBucket and CodeReady Workspaces integration is authorized using the OAuth 1 protocol.
  • Following actions are now automated:

    • Direct login redirection.
    • Request for personal access token creation using BitBucket REST API.
    • Storing of authentication tokens in user’s namespace for further usage.
  • CRW-1490

1.3.2. Enhancements to workspace-plugin and ssh-plugin Che-Theia built-in plug-ins

  • workspace-plugin handles Git operations at workspace start, calling the ssh-plugin when encountering an SSH issue.
  • ssh-plugin manages SSH keys and provides an API, allowing other plug-ins to handle SSH-related operations, such as operating with SSH keys.

This update allows these plug-ins to handle authentication events during a Git project cloning using SSH URI, such as secure login to a Git repository.

In a case of an interaction with a GitHub repository, workspace-plugin can use ssh-plugin to:

  • Upload of a user public key.
  • Suggest addition of an auto-generated key to the Git repository manually.
  • Allow a user to use their custom TLS certificate.
  • Issue 13494

1.3.3. Resource limits and requests for devfiles and plug-ins

The already existing possibility to set resource limits and request for devfiles and plug-ins, which was added to improve the cluster resources management, was enhanced by updating all plug-ins to have a capability to set these values.

  • For the sake of preserving these values, plug-ins resource limits were moved from devfiles to plug-ins directly.
  • Resource limits were added to all sidecar plug-ins.
  • CRW-1637

1.3.4. Support for the use of contributors' snippets

CodeReady Workspaces now supports the ability for VS Code extensions running in sidecars to load contributed snippets.

These code snippets act as a valuable productivity tool for developers, allowing them to use a collection of standard code patterns that would have been otherwise copied from reference manuals.