Skip to content

Releases: eclipse-che/che

Eclipse Che 7.74.0

15 Sep 19:00
Compare
Choose a tag to compare

Major Enhancement

Dashboard logo customization from the Custom Resource

It is now possible to change the Eclipse Che logo using the dedicated Custom Resource property.

Screenshot 2023-09-15 at 15 21 06 Screenshot 2023-09-15 at 15 19 02

Navigation from the DevWorkspace Dashboard view to the OpenShift Console DevWorkspace object

Now it is possible to navigate from the Workspace Details -> DevWorkspace view on the User Dashboard to the OpenShift Console in order to inspect or edit the DevWorkspace object.

264029633-9c60aa3d-c92f-4202-a340-c996a53e615d.mov

Configuration of the 'Getting Started' samples using the dedicated ConfigMap

Starting for this release it is possible to configure 'Getting Started' samples on the User Dashboard by providing a dedicated ConfigMap object:

apiVersion: v1    
kind: ConfigMap
metadata:
  name: getting-started-sample
  namespace: eclipse-che
  labels:
    app.kubernetes.io/part-of: che.eclipse.org
    app.kubernetes.io/component: getting-started-samples
data:
  my-samples: |-
    [
      {
        "displayName": "Eclipse Che Dashboard",
        "description": "Cloud Development Environment for the Eclipse Che Dashboard.",
        "tags": ["Eclipse Che", "Dashboard"],
        "url": "https://github.com/eclipse-che/che-dashboard"
      }
    ]

More details about this feature can be found in the official documentation.

Support setting ImagePullPolicy in CheCluster for workspace containers

ImagePullPolicy for DevWorkspace containers can be now set using the dedicated CheCluster CR field.

Major Bug Fixes

Devfile without metadata fails to start

Workspace startup based on devfiles that do not contain metadata is now possible with Eclipse Che.

Adding extra permissions break Bitbucket Saas OAuth flow

Granting extra permissions to the Bitbucket OAuth application does not break the workspace startup flow anymore.

Handle failures in routing reconciler in a recoverable way

Improved routing handing in the DevWorkspace Operator.

Initialize and update submodules when present in the project

If a cloned-and-checked-out project has a .gitmodules file in the root of the repo, run git submodule update --init --recursive inside the project to clone all submodules. Failures in setting up submodules result only in a warning log and do not prevent the project from being 'set up', as the user can later initialize submodules manually.

Do not abort PVC size calculation early if volume size not defined

If at least one volume in a DevWorkspace specifies its size, and the computed PVC size is greater than the default per-workspace PVC size, the computed PVC size will be used.

Failed to download the project zip file from the external devfile registry because of `x509: certificate signed by unknown authority` error

project-clone init container now reads any .crt or .pem files stored in /public-certs. These certificates are added to the HTTP client used for preparing zip-based projects in a DevWorkspace, and allow for downloading project zips from default-untrusted sources by e.g. auto-mounting certificates to /public-certs in the container.

Unable to fetch GitLab devfile - ref is missing from API call

Starting a new workspace from a RAW devfile URL doesn't support the custom name of the devfile

Now it is possible to start workspaces based on the raw URLs, and the devfile name could be custom. Prior to this release only devfile.yaml and .devfile.yaml were supported.

Eclipse Che 7.73.0

24 Aug 14:02
Compare
Choose a tag to compare

Major Enhancement

Allow configuring default container/pod SecurityContext in CheCluster CR

New CheCluster CR fields have been introduced spec.devEnvironments.security, spec.devEnvironments.security.containerSecurityContext, and spec.devEnvironments.security.podSecurityContext.
The latter two fields allow configuring the pod and security contexts used by workspaces by setting the corresponding DWOC fields.

When the devEnvironments.security.containerSecurityContext field is used and devEnvironments.disableContainerBuildCapabilities is set to false, the container security context required for the container-builds SCC will be used, overriding the security context set in devEnvironments.security.containerSecurityContext.

Workspaces Startup Page Improvements

startup improvements

vlcsnap-2023-08-08-11h20m11s343

Major Bug Fixes

Azure Repo ending with .git fails to recognize the devfile in the repo

Avoid workspaces page blinking

Dashboard sends the same requests double times

"Backend is not available" error when trying to login into Dashboard with both Bitbucket Server OAuth and PAT configured

Eclipse Che 7.72.0

03 Aug 12:03
Compare
Choose a tag to compare

Major Enhancement

New option to persist workspaces $HOME directory

This release introduces 2 new CheCluster CRs fields for managing workspaces home directory:

  • spec.devEnvironments.persistUserHome: holds config settings related to the persistence of /home/user/ in workspaces
  • spec.devEnvironments.persistUserHome.enabled determines whether /home/user/ will persist in workspaces. Disabled by default.

Added kubedock to run containers in the universal developer image

kubedock is now part of the universal developer image (Eclipse Che default image). If the environment variable KUBEDOCK_ENABLED is set to true in a workspace (this can be done using a devfile), the kubedock server is started at startup.

When KUBEDOCK_ENABLED=true then the following commands will be executed with kubedock (the remaining commands, in particular podman build, will be executed by the local podman):

podman run
podman ps
podman exec
podman cp
podman logs
podman inspect
podman kill
podman rm
podman wait
podman stop
podman start

Add a DevWorkspace Operator configuration to ignore OpenShift cluster-wide proxy settings

Before this trusted TLS certificates configured in Eclipse Che were ignored if an OpenShift cluster-wide proxy was configured.
This new DevWorkspace Operator configuration allow to avoid this undesired behavior.

Include the commands imported from a parent Devfile as to VS Code Tasks

Commands defined in the parent Devfile are now visible in the VS Code Tasks:

image

Simplified the procedure to add a Git personal access token

Before users had to provide the git username when adding a personal access token. That was redundant and cause of errors so Eclipse Che doesn't require it anymore.

screenshot-eclipse-che apps rosa h448e-94kxe-cxf ok1t p3 openshiftapps com-2023 07 20-11_54_05

Eclipse Che 7.71.0

08 Aug 19:31
Compare
Choose a tag to compare

Major Enhancement

All personal access tokens used in Che workspaces are listed in user preferences UI

Developers can list and manage Git personal access tokens from user preferences. This applies to token that has been created from the Che Dashboard UI as well as those that have been created manually (using a Kubernetes secret).

Support building a custom Devfile registry from a Bitbucket server

It's possible for an admin to create a custom Devfile registry from a clone of the Devfiel registry that is hosted on a Bitbucket repository.

Specify which Devfile component hosts the IDE

By default Eclipse Che hosts the IDE (VS Code, IntelliJ or PyCharm) in the first container specified in a Devfile. After this enhancement it is possible to specify the component that will host the IDE using the attribute controller.devfile.io/merge-contribution: true. In the following example the IDE will be hosted in "component2":

schemaVersion: 2.2.0
components:
  - name: component1
    container: 
      image: quay.io/sclorg/postgresql-15-c9s:c9s
  - name: component2
     attributes:
       controller.devfile.io/merge-contribution: true
     container: 
       image: quay.io/devfile/developer-base-image:latest

Automatically configure podman to trust OpenShift internal container registry

With this new feature, when Eclipse is deployed on Red Hat OpenShift, the TLS certificates of the OpenShift internal container registry are trusted by podman. Users can use podman to pull images without adding the certificate manually.

Update existing workspaces IDEs after Eclipse Che upgrade

With this update the IDEs of existing workspaces will be updated automatically after an upgrade or whenever the definition of the IDE changes.

Major Bug Fixes

Fix operator overriding CheCluster customizations

Some fields of the CheCluster such as .spec.components.pluginRegistry.openVSXURL, if customized by an administrator, could be overridden by the operator.

It's possible to add an Azure Devops token from user preferences UI

Developers can now add their Azure Devops personal access token from Che Dashboard user preferences.
azure-devops-pat-GUI

Eclipse Che 7.70.0

30 Jun 12:22
Compare
Choose a tag to compare

Major Enhancements

Workspace startup page shows more detailed advancement steps

The page that shows the advancements of a workspace startup is now showing 7 new steps when waiting for the workspaces to start. This provides a better progress feedback and more details to troubleshoot if something goes wrong.

image

Support connecting to an open-vsx instance with a TLS certificate signed by an trusted CA Backported to 7.67

Eclispe Che workspaces allow to specify enterprise Certificate Authorities (CAs) that workspaces can trust. (trusted CA certificates are mounted in every workspace /public-certs folder). With this enhancement VS Code is now configured to trust any TLS certificates signed by these CAs and, as a consequence, can use extensions from open-vsx instances that use these trusted certificates.

Major Bug Fixes

Fix GitHub authentication errors in VS Code

Before this update, when the developer tried to authenticate with GitHub (to clone a repository or to use a GitHub extension for example) but the GitHub token didn't exist or had expired, the operation may fail due to a Invalid character in header content ("Authorization") error. With this update, when no valid GitHub token is found, the user is informed with the instructions to generate it.

image

Fix git push when using a VS Code based empty workspace

Before this update, when a developer started an empty workspace (not linked to a specific git repository) or a Che sample, any consequent try to run git push would fail due to an authorization problem, even if the developer had pre-configured a personal access token for the git service. With this update, configured personal access tokens are mounted even in empty workspaces or samples workspaces so that git push will use it to authenticate to the git service.

Fix VisualStudio Code embedded terminal delayed echo of typed characters Backported to 7.67

Before this update, when using Visual Studio Code embedded terminal, developers may experience a delay between the moment when the characers were typed and when they were displayed in the terminal. With this update we are changing the default GPU acceleration to canvas as that solves the problem with the delayed characters.

image

Eclipse Che 7.69.0

30 Jun 12:24
Compare
Choose a tag to compare

Major Enhancements

VS Code running in Che workspaces honors NO_PROXY environment variable Backported to 7.67

A widespread convention, when using a corporate proxy, is the use of the environment variable NO_PROXY. This is use to specify the hosts that require a direct connection and though bypassing the proxy. This environment variable is now honored by VS Code running in Che workspaces. Note that upstream VS Code ignores it (a PR exists but has been merged).

New DevWorkspace Operator Metrics

A few more metrics have been added in the OpenShift Console metrics about workspace CPU and memory usage, node CPU and memory usage and number of running workspaces.

Major Bug Fixes

Fixed workspaces startup from a branch that contains slashes (/) in the name (issues 1 and 2)

Before this update, for branches of Git repositories that included a slash(/) in their name, the Devfile will be ignored due to a Devfile could not be found error. With this update, the issue is resolved.

Fixed workspace startup with Azure-hosted Git repositories Backported to 7.67

Before this update, for Git repositories that are hosted by Azure DevOps, new workspaces might fail to start due to a Workspace does not exist error. With this update, the issue is resolved.

Fixed workspace startup with GitLab and Bitbucket raw link to a Devfile Backported to 7.67

Before this update, for links to a raw Devfiles hosted by GitLab or Bitbucket, new workspaces might fail to start due to a "Internal Server Error occurred" error. With this update, the issue is resolved.

Eclipse Che 7.68.0

29 Jun 10:59
Compare
Choose a tag to compare

Major Enhancements

Simpler workspaces URLs Backported to 7.67

Starting from this release, workspaces URLs don't include random characters anymore but use username, workspace name, endpoint name or port. For example if user john creates a quarkus-todo workspace that exposes a backend endpoint using my-che-instance.com, then:

  • The VS Code URL will be https://my-che-instance.com/john/quarkus-todo/3100
  • The endpoint application preview will be https://john-quarkus-todo-backend.my-che-instance.com/

Users can configure Git Personal Access Tokens in their Preferences

With the new tab named Personal Access Token in Users Preferences, developers can manage GitHub, GitLab, Bitbucket and Azure DevOps personal access tokens using the UI. Before that developers had to manually create a Kubernetes secret.

image

Allow admins to specify workspaces gateway and project-clone containers Backported to 7.67

Sections gatewayContainer and projectCloneContainer have been added in CheCluster .spec.devEnvironments to allow adminstrators to specify the containers that will host the workspaces reverse proxy (gateway) and the container that clones the remote git repositories respectively:

spec:
  devEnvironments:
    gatewayContainer:
        (...container settings...)
    projectCloneContainer:
        (...container settings...)

In particular it is now possible to unset the CPU limits for those containers. For example this is how it can be done for the gateway container:

spec: 
  devEnvironments: 
    gatewayContainer: 
      resources: 
        limits: 
          cpu: "0"

Allow users to configure VS Code workspaces with a .code-workspaces file Backported to 7.67

.code-workspace files allow developers to configure their VS Code workspace. Starting from this release developers can specify the ..code-workspace file in its project using the environment variable VSCODE_DEFAULT_WORKSPACE in the devfile:

schemaVersion: 2.2.0
(...)
components:
- name: dev-tools
  container:
    (...)
    env:
    - name: VSCODE_DEFAULT_WORKSPACE
      value: "/projects/che-demo-app/che-demo.code-workspace"

Major Bug Fixes

The Eclipse Che configuration of the default VS Code extensions is ignored

A bug affecting Eclipse Che from release v7.58 prevented an administrator to specify a default list of IDE plugins, in particular VS Code extensions. This got fixed an it's now possible to specify the VS Code extensions that will be automatically included in Dev Spaces using this field devEnvironments.defaultPlugins in CheCluster Custom Resource.

Devfile component with deployByDefault set to false should be ignored at workspace startup

Workspaces startup was failing when a Kubernetes component was using the uri field, no matter the value of deployByDefault. Some of the samples in OpenShift Developer Console were failing to load in Eclipse Che because of this problem. Now Kubernetes components that have the field deployByDefault set to false are ignored at workspace startup.

Eclipse Che 7.67.0

29 Jun 10:59
Compare
Choose a tag to compare

Major Bug Fixes

A 'git commit' command fails if workspaces are configured to use a Bitbucket Personal Access Token

When a developer had configured its Che workspaces to use a Bitbucket Personal Access Token (PAT) then the retrieval of the user name and e-mail was failing. Because of that the Git configuration was not completed and running a git commit command would result in an error. This has been addressed and Git user name and e-mail are configured correctly.

image

Eclipse Che 7.66.0

12 May 11:13
Compare
Choose a tag to compare

Major Enhancements

Support customizing developer user roles in Che provisioned namespaces

The permissions granted to a user on their Che provisioned namespace are now configurable. This allows the user to create some objects in his namespace that might be needed for their development work. For example: create Kafka or KafkaTopic Custom Resources.

To configure these permissions an administrator has to create the Kubernetes ClusterRole and ClusterRoleBinding and specify them in the CheCluster Custom Resource:

spec:
(...)
  components:
    cheServer:
+      clusterRoles: ${USER_ROLES}
(...)
  devEnvironments:
    user: 
+      clusterRoles: ${USER_ROLES}

Support specifying the Ingress Class Name for Eclipse Che gateway

In addition to the specification of the gateway annotations, Eclipse Che now allows the specification of the IngressClassName field. This is critical as the kubernetes.io/ingress.class annotation on the Ingress has been deprecated. The IngressClassName can be specified in CheCluster networking:

spec:
(...)
  networking:
+    ingressClassName: ${CLASS_NAME}

Update monitoring docs to use the in-cluster monitoring stack Backported to 7.64

The section Configuring Observability of the Eclipse Che documentation has been updated with the instructions to use OpenShift built-in monitor stack instead of template-based Prometheus + Grafana installation.

Report more information when workspace start times out

When a user's workspace fails to start due to timeout Eclipse Che is now providing more information to help diagnose issues with workspace start -- the workspace may fail due to timing out on e.g. "preparing routes" or "waiting on editor to start" for instance.

$ kubectl get devworkspace inventory-quarkus
NAME                DEVWORKSPACE ID             PHASE    INFO
inventory-quarkus   workspace10330798d5bb4963   Failed   DevWorkspace failed to progress past step 'Waiting for workspace deployment' for longer than timeout (300s)

Support Git SSH protocol for starting workspaces

It's now possible to open a workspace with URLs that use the SSH protocol. Before only URLs using the HTTP protocol were supported.

image

⚠️ The support for the Git protocol is still limited as Devfiles in the git repository will be ignored.

Major Bug Fixes

VS Code's Webview functionality should work when the browser is behind the proxy Backported to 7.64

VS Code Webview functionality, used in many extensions, did not render correctly in an air gap scenarios. This was due to the code running in the user browser that tried to download static resources from the public Internet: it failed if the user laptop was behind a proxy. To address the problem we have patched Che VS Code fork to the serve those resources from the VS Code server that runs in the Kubernetes cluster and that should be whitelisted in the proxy configuration.

Eclipse Che 7.65.0

11 May 23:20
Compare
Choose a tag to compare

Major enhancements

Container logs, including init containers, are available in the workspace startup page 'Logs' tab

The 'Logs' tab of the startup screen has been refactored to include the logs of the workspace containers. A dropdown menu allows to select the container and the logs are shown

image

Implement VS Code health check endpoint

An /healthz endpoint has been added to VS Code. Clients can use it to figure out when the VS Code server is ready to serve requests. In particular, at workspace startup, Eclipse Che dashboard redirects the developer to VS Code URL as soon as it get a successful response from the health check endpoint. Before the developers could get a 404 error if the dashboard redirection happened too early.

image

Removed functionalities

Make "Devfile" on User Dashboard uneditable

Devfile editing should happen in the IDE itself and in the last months we have made some improvements in this area. Considered that the Eclipse Che Dashboard Devfile editor was more fragile and difficult to use we have decided to make it read-only.

image