Releases: eclipse-che/che
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.
Eclipse Che 7.67.0
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.
Eclipse Che 7.66.0
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.
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
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
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.
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.