Releases: eclipse-che/che
Eclipse Che 7.44.0
Major Enhancements
Che-Theia Plugins view support for DevWorkspace based workspaces
Che-Theia now supports plugins management from the built-in Plugin View for DevWorkspace based workspaces as well.
Support for devfile v2 parents
The Devfile v2 specification introduced the concept of parent
that allow to reference an existing Devfile. Che now supports that with DevWorkspace based workspaces.
Major Bug Fixes
After upgrading to Che v7.42 it was not possible to start workspaces if the TLS ConfigMap size was bigger than 1KB
After upgrading to Che v7.42, workspaces startup failed if the TLS bundle ConfigMap size was > 1KB. To address that HTTP2 had to be disabled in the che-server to Kubernetes API.
Fix the restart of che-code based workspaces
Workspaces that use che-code as an editor failed to restart or start (if stopped). This has been fixed in this release.
Plugins Updates
Upgrade Language Support for Apache Camel by Red Hat VS Code extension to v0.1.5
Eclipse Che 7.43.0
Major Enhancements
Auto opening cloned project in JetBrains' related editors
Now, when using a Devfile to start a workspace using a JetBrains IDE, the projects from the Devfile are shown in the IDE after startup.
Connect automatically to an OpenShift cluster with the OpenShift Connector VS Code extension
Users token gets automatically injected in the workspace pods at startup and the OpenShift Connector VS Code extension leverages that now. This was already the case for Che server based workspaces and now DevWorkspace based workspaces support it too.
Changes to Che-Theia preferences are persisted in a ConfigMap
When Che-Theia user preferences (including plugins preferences) are changed, they are persisted in a Kubernetes ConfigMap. When a workspace is restarted or when a new workspace is created the existing user preferences will be loaded. There is still a bug that prevents color theme preferences to be persisted. This is something that was already working with Che server based workspaces.
On prem private Gitlab repositores support with OAuth2 flow (without Keycloak)
Che with the DevWorkspace engine now supports on premise private Gitlab repositories. On premise private Bitbucket and github.com private repositories were already supported. Bitbucket Cloud and gitlab.com are not supported yet.
Support for namespace-level configuration of pod tolerations and node selector
It is now possible to specify pod tolerations and node selector for workspaces of a Che instance setting a CustomCheProperty in CheCluster CR. It's not possible to specify that for just one workspace or for one user: it's a global config.
20+ seconds faster Che-Theia startup
The previous DevWorkspace based Che-Theia used to take more than 20 seconds to load due to some blocking built-in plugins startup. Now the built-in plugins are not blocking the main Theia process startup anymore.
Plugins updates
Eclipse Che 7.42.0
Major Enhancements
Switch to the DevWorkspace Operator as workspace engine
The stable channel of Che operator has the DevWorkspace enabled by default and use the operator "all-namespace" installation mode. The other channels are being deleted. After more than one year of work, and after introducing it as an experimental option in Che 7.28, we have switched to the new workspace engine. 🎉
Why are we doing this?
Scalability and HA
The new engine is a Kubernetes controller. As such it runs behind the kube-apiserver that is designed to scale horizontally. The data is persisted in a key value store designed to be highly available (etcd).
A universal API
Workspaces are Kubernetes object:
- Kubernetes clients such as kubectl or the OpenShift console can manage them
- They are secured via RBAC
- They can be validated and protected by admission webhooks
- The devfile specification is automatically generated from the API
A simpler design
The new workspace engine has a single responsibility that is to manage workspace resources. It's decoupled from the developers IDEs and from the server side components of Che. Communications between components happens asynchronously using ConfigMaps and Secrets rather than a REST API.
A refactoring opportunity
The new engine has been written from scratch and we took the opportunity to address legacy issues:
- Simpler configuration of the Che operator
- No hard dependency on Keycloak but any OIDC provider can be used for authentication
- Introduction of a single gateway to simplify the network model and the TLS certificates management.
What's changing?
For an admin
- Deploying Che is simpler because there are less configuration options. For instance the namespace strategy and the exposure strategy are set to "per-user" and "single-host" respectively as we have observed that that’s what users want anyway.
- Che can be linked to any OIDC provider to enable authentication. We are not tied up to Keycloak anymore and Dex is deployed by default on minikube.
- Deploying multiple instances of Che on the same cluster is not possible anymore. That will avoid problems due to conflicting versions of Che running on the same cluster.
For a user
- Workspaces use Devfile v2 that has some significant improvements compared to v1 as parents and events.
- Devfiles are IDE agnostic and don't include plugins definitions anymore. IDE specific configurations are managed in separate files as VS Code extensions.json.
- Some redundant getting started samples have been removed.
- Workspaces IDEs don’t run in an iframe anymore
Should I upgrade to v7.42 as soon as it is released or should I wait?
It's ok to deploy v7.42 in the case of a first installation of Che or for a non-production environment. You will benefit from the new features right away.
You should wait if instead you are an existing user and you don’t want to lose existing workspaces data. For existing users we recommend waiting for v7.44 of Eclipse Che, when we plan to release an automated workspace migration functionality.
More Links
Finally here are some links to learn more about the new feature:
- The endgame plan
- The initial architectural documentation
- Milestones that led to v7.42
- A couple of blog posts related to the new engine (more are coming in the next weeks):
- Devfile v2 website
- DevWorkspace Operator
- (7.)42 is the answer :-)
Kudos to the whole Che team that worked hard on this challenging pivot 💪
Dashboard should be be able to group samples in dedicated group
The samples in the user dashboard are labelled as community .For downstream version of Che samples are labelled
tech-preview.
Plugins updates
No update during this sprint
Eclipse Che 7.41.0
Major Enhancements
Introduce a new operator-based Helm chart and publish it on ArtifactHub. Remove chectl helm installer.
The old Helm chart has been replaced with a new one that reuse Che Kubernetes operator to deploy Che. The new Chart has been published on ArtifactHub. We have removed the helm chart installer in chectl: to install the new Chart users are required to use helm command line tool
Fix Docker Desktop deployment
Docker Desktop deployment of Eclipse Che was not working due to some outdated templates to install the nginx routing controller. The templates have been updated to the latest version.
Java language support was slow due to low CPU limit
During startup and at runtime the Java language server was throttled because it required more CPU than the limit set by the container runtime. The CPU limit was increased from 500MB to 800MB.
Upgrade logback to v1.2.9
Related to https://jira.qos.ch/browse/LOGBACK-1591 and https://cve.report/CVE-2021-42550
Plugins updates
Eclipse Che 7.40.0
Major Enhancements
Improved Operator memory consumption
Fixed an operator issue that forced to augment the memory requirement based on the number of the namespaces on the cluster
Set resources requests and limits for workspace initialization containers
Plugin artifact broker and remote runtime injector are containers created during workspace initialization. Those containers failed to run in clusters where CPU and memory request had to be specified for every container. Che sever has been updated to specifies CPU and memory request and limits for every container it starts. Values are configurable.
Support customizing the PVC size for the internal PostgreSQL instance
CheCluster CR now has a database.pvcClaimSize
field where administrators can specify a custom value for the database persistent volume. This is important because some public cloud providers' cloud disk does not support 1Gi, the minimum storage size is 10Gi.
Introduce a NodeJS library to convert devfiles from v1 to v2 and viceversa
We introduced a new Devfile conversion library https://www.npmjs.com/package/@eclipse-che/devfile-converter. Che Dashboard uses it. It can be included in any nodeJS project that requires it.
Plugins updates
Eclipse Che 7.39.0
Major Enhancements
Support v2 devfiles with che-server by converting them into corresponding v1 devfiles (backported to 7.38.x)
Che now supports creating workspaces from a Devfile that uses v2 of the spec even if the workspace engine is the che-server (the default). Previously that was possible only if Che was configured with the DevWorkspace operator as workspace engine.
Added a link to the OpenShift console from Che dashboard
The new link in the About section of the User Dashboard helps developers access the OpenShift Console from Che
Plugins updates
N/A
Eclipse Che 7.38.0
Major Enhancements
Adding git lfs support
Che workspaces are now supporting Git Large File Storage extension https://git-lfs.github.com/
Fix out of memory Che Operator error when the Kubernetes cluster has many namespaces
The latest version of Che Operator crashed with an OOM error in cluster with many namespaces because it caches more than just the local namespace's objects. The workaround is to increase the memory limit.
Ability to provide the path to the Devfile.yaml when using factory workflow
If the devfile is not at the root of a repository or has a different name than devfile.yaml
it can be referenced using a parameter devfilePath
in the factory URL.
Add a factory link parameter to specify the editor
A user can specify a particular editor to use as a factory link parameter. For example, to use Che-Theia, http://che-server#https://github.com/eclipse/che&editor=che-theia.
Enhancements in the way how OAuth2 providers can be configured
The way to configure GitHub, Bitbucket and Gitlab as Git service providers for Che workspaces has been made consistent and simpler.
Update go version to v1.17 in plugin sidecar and getting started sample
Update go version to v1.17 in plugin sidecar and getting started sample.
Plugins updates
Eclipse Che 7.37.0
Major Enhancements
PostgreSQL version 13 is deployed on fresh installations
Starting from this release, deployment will include PosgreSQL 13. Previous deployments used PosgreSQL 9.6, which is EOL in November 2021.
Automatically perform a backup of Che server side components before attempting an upgrade
Server component backup of the Che server has been introduced a few releases ago. Now it’s performed automatically before every Che upgrade.
Drop single user support on Che Server
The single user (unsecured) configuration of Che is not supported anymore. Che is a multi-tenant development workspace manager and there was no value to support a single user configuration. From now on, for single user scenarios users should consider deploying the DevWorkspace Operator without Che.
Plugins updates
Eclipse Che 7.36.0
Major Enhancements
Update the documentation section for the IntelliJ-based IDEs
Updated documentation to use JetBrains IDEs as Che editors
Better presentation of Che operator in OperatorHub UI
We improved the presentation of the Kubernetes Custom Resources Definition deployed with the Che Operator adding the description and changing their labels and order.
Eclipse Che
Enhancements, Epics, and UX
- Upgrade VS Code extension Camel K to v0.0.24 #19745
Bugs fixed
- Che-theia Happy path PR check doesn't consume che-theia changes #19822
- DevWorkspace IDE is not opened after devworkspace is started with factory URL #19800
- Sometimes workspace created from devfile v2.0 won't start #19797
- Failed to start a devworkspace via factory URL #19788
- Failed to start workspace in GitHub action #19765
- Offline che-plugin-registry build fails to embed all vsix files for plugins with depedencies #19746
- The "che-plugin-registry" openshift PR check job fails because unable to login #19588
- devfile-registry: python-django app cannot preview #19459
New and Noteworthy Issues:
- [che-operator] Do not allow to upgrade che 7.31 or later to upgrade installation that configured with namespace strategies other than "per user" #19537
Closed issues:
- Possible URL inconsistency when configuring SCM providers, leading to unexpected errors. #19769
- Run Java Maven devfile test only nightly on Eclipse Che Multi/Single host #19731
- Update Che PHP base image to latest release + update composer #19675
- What is {prod-namespace} supposed to be? #19672
- Remove JAR download from vscode-xml vsix build #19662
- Failed to make identity provider oauth callback: javax.net.ssl.SSLException: Connection reset #19653
- Adapt DevWorkspace Che operator to routingSuffix removal from DevWorkspaceRouting CR #19631
- IDEA Che editor window must be maximized #19595
- Create tests to run Eclipse Che in OCP Disconnected Environment #19534
Bugs fixed
- When installing on OCP 3.11, don't suggest to use OLM install mode (since that's not a viable option) #19777
- checluster_docs_gen.sh does not detect correctly version 7.30 #19776
- Deploy Eclipse Che nightly with chectl failed on
minikube
andopenshift
#19773 - Che - 7.28.2 | External Keycloak - Error: Unable to get available storage types #19611
- Che fails to deploy on minikube v1.19.0 #19602
- use unauthenticated base image for machine exec rhel.Dockerfile (and update downstream sync scripts to handle downstreaming) #19593
Closed issues:
- Rework plugin tests for the openshift CI #19783
- Remove workaround from 'GitSsh' E2E test #19756
- Keycloak should private API url to communicate with OpenShift 4.x to bypass proxy #19668
- Expose DWO and DWCO images in CSV as RELATED_IMAGE_* env vars (like all the other images deployed by the Che Operator) #19667
- Add CI job that verifies sidecar images digests in devfile registry #19660
- Automate testing Plugins view from the IDE #19639
- Che Controller Sprint 200 #19583
- Remove the code that support namespace strategies other than "per user" #19536
Enhancements, Epics, and UX
- Upgrade VS Code extension Apache Camel to v0.0.32 #19740
- Refactor testLibs to use classes and properly add them to inversify for easy reuse downstream #19739
- Reconsider addWorkspaceFolder() implementation #19624
Bugs fixed
- Che Dashboard route is rejected and dashboard container is unused #19721
- Secret and deployment name normalization required when using SCM username in PersonalAccessToken management #19700
- Failing unit test KubernetesNamespaceFactoryTest when building Che server #19641
- factory resolver misses volume component from devfile 2.0 #19563
- Multiroot workspace: project must appear in the project explorer when it was cloned by a command in terminal #19544
- Che-plugin-registry don't take into account CHE_SIDECAR_CONTAINERS_REGISTRY_URL #19492
Closed issues:
- Dashboard should handle error codes from oauth flow #19722
- [Selenium] Stabilize devworkspace happy-path test #19710
- Nightly Che Server build is broken #19699
- Run
Openshift CI
in chectl release branches asche-operator
repo #19677 - Chectl should respect dashboard deployment #19605
- Che Platform Sprint 200 #19591
- [che-auth] - new auth on Openshift with OAuth and devworkspaces #19576
- [doc] Not able to configure "per user" project strategy because users didn't had enough privileges. #19572
- Editors Sprint 200 #19559
- Plugins Sprint 200 #19548
- Che Deploy Sprint #200 #19539
- Enable the multi-root mode for Go devfile #19476
Enhancements, Epics, and UX
- Adding support for image pull secrets in the Kubernetes image puller #19682
Bugs fixed
- Che using an external keycloak fails to update #19670
- DevWorkspace - Dashboard fails - There is no any resources matched to request path /unsupported/k8s/apis #19666
- Vulnerability found in che-server image #19650
- Happy path test on CRW CI failed on Start Che because chectl:next doesn't support minikube 1.1.1 #19648
- recommendation plug-in is not working #19610
- Nightly OLM bundle version check fails if PR created from another remote #19515
- Dashboard fails to load js resources after update #19504
- chectl Minishift e2e tests failed #19454
New and Noteworthy Issues:
- Use new format, closer to devfile v2, to specify Che Theia plugins in addition to meta.yaml files #19545
Closed issues:
- Move the che-plugin-registry to pnp/yarn v2 #19581
- Impossible to use nodeSelector for Theia #19570
- Adapt che tasks to upstream changes #19541
- PreferenceManager DI issue #19491
- Verify that sidecars exist before declaring che devfile registry release successful #19490
- Remove or update globalMemoryLimit in devfiles' meta.yaml #19464
Enhancements, Epics, and UX
- Use specific command name instead of generic
init-container-command
in plugin-registry devfiles #19495
Bugs fixed
- Unable to persist projects and plugins when the devfile contains kubernetes components #19634
- CheCluster
devfileRegistryURL
no longer applied #19627 - Cannot install any plugin from Plugins view #19623
- [UD] Devfile editor tab wrong behaviour #19589
- Failed to deploy DWO #19569
- Dashboard do not show OAuth login page on Gitlab OAuth2 "authentication needed" response. #19512
- Singleuser: Failed to create new workspace from the devfile: cannot read property "send" of undefined #19499
- Che Theia (multi-root) fails to detect projects when they are cloned by another tool #19489
Closed issues:
- Fix Happy path PR check of che-dashb...