Releases: eclipse-che/che
Eclipse Che 7.77.0
Major Enhancements
Support configuring OAuth for GitHub Enterprise Server and GitHub SaaS simultaneously
Starting from this release it is possible to configure the OAuth flow for GitHub Enterprise Server and GitHub SaaS simultaneously.
More details about this feature can be found in this demo video.
Support GitHub Device Authentication in VS Code to allow extensions such as GitHub Copilot
GitHub Copilot VS Code activation failed in a Dev Spaces workspace. That's because the web authorization flow is failing. To allow GitHub Copilot and other GitHub extensions to run on DevSpaces workspaces we have added support for the GitHub device activation flow.
To use GitHub Copilot in a workspace a user has to follow the following 2 steps:
- Authenticate to GitHub using the new "Device Authentication" command
- Install the GitHub Copilot extension through the upload of the VSX file (GitHub Copilot is not published on opens-vsx.org)
N.B. Step 1 needs to be executed only once. Step 2 needs to be repeated for every new workspace.
SSH key configuration from the User Dashboard
Now users can add their SSH key from the User Dashboard.
Generated routes for VS Code editor should use HTTPS protocol by default
Starting from this release routes generated for the VS Code editor are using HTTPS protocol by default.
Major Bug Fixes
Workspace URL parameters get lost after the user accepts OAuth authorization backported to branch 7.74.x
Before this release, URL parameters used during workspace startup such as <github-repo-url>?che-editor=che-incubator/che-idea/latest
were lost after successful OAuth authentication.
OAuth tokens are not refreshed on workspace restart backported to branch 7.74.x
Before this release, OAuth tokens were not refreshed during a workspace restart.
Changes in workspace disappearing after 'Restart with default devfile' backported to branch 7.74.x
Before this release, the ephemeral mode was used for the 'Restart with default devfile' functionality. When restarted, any changes in the workspace were lost. With this update, restarting the workspace with the default devfile does not erase changes you made previously.
Azure DevOps Git repositories with white spaces in the URL
It was not possible to start a workspace based on the Azure DevOps Git repositories which contain white spaces. With this release, the issue is fixed.
Unauthorized errors when opening the IDE
Unauthorized errors when opening IDE are fixed in this release.
Enabling persistence of home directory breaks Universal Developer Image's home directory, PATH, and environment variables
Enabling the persistence of the home directory does not break the Universal Developer image's home directory, PATH, and environment variables anymore.
Impossible to build che-code docker image due to reaching the maximum amount of opened files
In this release, the amount of opened files has been increased for the Universal Developer Image which allows building images for repositories with a sufficient amount of files like che-code.
Pre-create common tooling config directories in Universal Developer Image
In this release, common tooling config directories are pre-created in the default Universal Developer Image with the right permissions allowing to write into them from the workspace:
- Maven:
/home/user/.m2/
- Gradle:
/home/user/.gradle/
- Pip:
/home/user/.config/pip/
- Cargo:
/home/user/.cargo/
- Sbt:
/home/user/.sbt/1.0/
- PHP:
/home/user/.composer/
- .NET:
/home/user/.nuget
Eclipse Che 7.76.0
Major Enhancements
After stopping a workspace in VS Code, the user is now redirected to the Dashboard
Now when a user stops a workspace from the VS Code editor they will be redirected automatically to the User Dashboard.
Enhance OAuth integration when a user doesn't want to grant permissions
If a user rejects an SCM provider authorization request while creating or starting an existing workspace, their choice is saved in the workspace-preferences
config-map in the namespace. During the subsequent workspaces startups, the prompt to proceed with the OAuth authorization for the rejected SCM provider does not appear anymore.
Support for devfile API events.preStop
It is now possible to specify preStop
events in the devfile that would be executed before stopping the workspace. Similar to postStart
, multiple devfile commands could be specified as preStop
:
events:
preStop:
- first-command
- second-command
- third-command
Major Bug Fixes
Rework "Backend is not available" error page
Better error handling on the User Dashboard. Instead of the general "Backend is not available" error page now the HTTP Error code together with the endpoint that threw the error is displayed:
Unauthorized when opening the IDE
The Unauthorized
error occasionally shown during the workspace startup 'Open IDE' phase has been fixed in this release.
"Bearer Token Authorization" errors from the Dashboard
The Bearer Token Authorization
errors occasionally occurring in the dashboard has been mitigated with the request retries functionality.
Eclipse Che 7.75.0
Major Enhancement
Configuration of the user's name and email from the User Dashboard for .gitconfig
Now it is possible to configure the user's name and email on the User Dashboard that will be used in the workspaces' .gitconfig
settings.
Screen.Recording.2023-09-29.at.12.16.28.mov
Major Bug Fixes
VS Code data about a previously opened workspace is cached in the browser when switching workspaces (cherry-picked to 7.74.x branch)
When switching workspaces, or deleting and re-creating a workspace, data from previously opened workspaces will no longer be cached in the browser and used by VS Code.
An error appears on workspace start if the SCM authorization page is rejected
When a user rejects SCM authorization, no error will be shown, and the workspace will be started correctly. Note that since authorization is rejected by the user it will not be possible to git push
from the workspace without any setup.
Eclipse Che 7.74.0
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.
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
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
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
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 workspacesspec.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:
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.
Eclipse Che 7.71.0
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.
Eclipse Che 7.70.0
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.
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.
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.
Eclipse Che 7.69.0
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
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.
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.