August 31, 2022
August Gitpod Release 2022
Welcome to the August edition of the Gitpod Changelog.
- JetBrains now supports multiple task Terminals
- JetBrains now respects configured Java SDK (JDK) versions
- View Resource Consumption in JetBrains Backend Control Center
- Sync Local VS Code extensions
- VS Code Desktop reduced popups when opening
- All VS Code Desktop users on SaaS are now using SSH Gateway! 🎉
gp tasks listshows your current tasks (as defined in the .gitpod.yml)
gp tasks stopstops running tasks that (as defined in the .gitpod.yml)
- Improved OpenSSH compatibility and support for sha256/sha512
The following features are also accessible for users running the “latest” IDE or editor preference:
- New ports explorer in VS Code Browser - Aligning the port interface with VS Code Desktop.
We are continuing to make progress with the JetBrains and Gitpod integration #7956 as part of our ongoing partnership with JetBrains. Whilst most of our efforts are mostly towards IntelliJ IDEA, a lot of the improvements we are making will still apply to our other supported JetBrains IDEs.
A key part of “Gitpodifying” a project is adding any necessary tasks, such as starting servers or database to your .gitpod.yml. One advantage of declaring these processes in your
.gitpod.yml configuration is that your commands are picked up by the IDE or editor and show on workspace start.
Previously, JetBrains with Gitpod only showed a single terminal, meaning that users needed to use
gp tasks to interact with running terminals. Due to some improvements for JetBrains Remote Development that we are able to leverage, you can now see all of your terminals inside the IDE as you also can with VS Code.
Previously, when opening a Java Workspace with JetBrains, the Gitpod IDE would select the latest Java SDK (JDK) version as the default.
This was problematic when we recently updated the Gitpod
workspace-full image, to include both Java 11 and 17, which many users rely upon. When having multiple JDK versions, JetBrains would default to using the latest JDK version, which in the case of the
workspace-full image was 17, and not 11, causing a minor regression. Now, Gitpod respects configured JDK versions in locations such as the
JetBrains IDEs now picking up the correct SDK version by default
When using a Gitpod workspace you might experience performance issues caused by an application using more resources than expected, or due to resource consumption in adjacent containers on the node. Whatever the reason, you may want to investigate what’s going on within your workspace.
We’ve now extended the JetBrains Backend Control Center with two additional bits of information about your workspace:
Workspace CPU and
Workspace Memory. The additional performance information shown in the control center is for the node that your workspace is running on, and not the workspace itself. This information is also the same that can be found from running the command
gp top in your workspace.
Viewing the workspace and node performance in the Backend Control Center
We have been continuing to invest in our desktop editor experiences, including VS Code #7184, with an emphasis on removing any barriers or friction in getting the VS Code editor open with a Gitpod workspace, establishing a stable connection via SSH, and improving the experience of restarting a timed out workspace.
The underlying Microsoft VS Code - Remote SSH extension that powers the Gitpod VS Code Desktop integration does not automatically install local user extensions on remote machines, such as a Gitpod workspace. For users, because VS Code - Remote SSH does not automatically install local extensions, that means you’ll have to manually click “install” for each local extensions on every Gitpod workspace start. Installing extensions manually is cumbersome, especially when you have many extensions to install and is a barrier to utilising Gitpod ephemeral workspaces.
In an upcoming release, Gitpod will prompt you to enable VS Code Setting Sync with Gitpod, which will allow Gitpod to retrieve local extensions and automatically install them in your workspace. If for any reason you want to disable syncing of local extensions, you can do so via the
gitpod.remote.syncExtension VS Code settings. If you have any feedback or thoughts, please add it to the GitHub issue: #7906.
Prompt to enable Setting Sync with Gitpod to sync local VS Code extensions
Many users love Gitpod for how simple it can make working with your projects. However, for VS Code Desktop there were some cases where you needed to respond to specific popups when opening your workspace, for instance accepting the SSH fingerprint of the workspace, or accepting the browser redirect when opening a workspace.
The number of prompts you are now shown when opening VS Code Desktop is reduced.
You should see one browser redirect prompt (one for VS Code Desktop and one for JetBrains Gateway), marking “always allow” will suppress all future prompts. SSH fingerprints are also now automatically added to your
known_hosts if you’re using SSH Gateway approach to opening VS Code Desktop.
Using the SSH Gateway approach for VS Code Desktop means no more SSH fingerprint prompts
For more information, check out our dedicated documentation for optimising VS Code Desktop.
We have now completed a migration of all VS Code Desktop users on SaaS to our new SSH Gateway approach. This change brings improved stability, smoother restarting of workspaces, and more.
To get setup, we recommend you upload an SSH key to Gitpod. For full details on why we made this change to our SSH approach for VS Code Desktop, please check out our blog post VS Code Desktop and SSH explained.
If you cannot use the new approach for any reason, please reach out via the GitHub issue #7452.
Over the last few months we’ve been making lots of updates to the Gitpod CLI (
gp). Because the
gp command-line-interface is bundled inside of all Gitpod workspaces,
gp acts as a common way to run workspace actions regardless of what editor or IDE you’re using Gitpod with, whether that’s JetBrains, VS Code or directly via SSH.
Let’s say that you’re documenting your Gitpod setup, rather than detailing actions directly how to take some action in each of the Gitpod supported IDEs & editors, you can share
gp commands knowing that the experience will be consistent across all workspace editing experiences.
gp tasks list command allows you to list any running commands that are defined in your
.gitpod.yml. If you want, you can even attach to a given task using
gp tasks attach which brings that current task into the foreground of your terminal. However, since there are situations where it might not be as easy to figure out which terminal you’re currently viewing, that’s why we now highlight your current task to make life a little easier for you
You can now run
gp tasks stop to stop running tasks that have been defined in your
.gitpod.yml. You can either stop a single task with
gp tasks stop <id>, or terminate all tasks by running
gp tasks stop --all.
gp Command Line Interface documentation for more.
The SSH protocol is the primary method of connection to Gitpod workspaces for JetBrains IDEs, VS Code Desktop and users who directly SSH into Gitpod for editing, or working with their code. We’ve been working to ensure that Gitpod has a wide range of support for different SSH clients and SSH key versions.
Previously, Gitpod did not support OpenSSH clients >v8.8, nor did Gitpod support RSA sha256/sha512. For users using VS Code Desktop with the SSH Gateway approach, this could mean that in some cases users could not leverage SSH access to Gitpod due to incompatible keys or OpenSSH client’s, however this issue should now be resolved.
Fixes and improvements
- #12468 - Local Preview: Check and exit if M1 Mac
- #12116 - Gitpod CLI: New command
gp tasks stop
- #11255 - Prevent abuse by limiting rate at which network connections can be made by a workspace
- #12258 - Added phone number verification in SaaS, to help mitigate abuse.
- #12367 - Improve reliability of image build starts
- #12315 - Prevent divide by zero error in workspace info service
- #12288 - SSH-Gateway: Support rsa sha256/sha512 algorithm
- #12096 - Update spending limit modal on workspace start
- #12234 - Truncate project environment variable name
- #12163 - JetBrains IDEs will use the default Java SDK version when there’s no explicit configuration for it yet.
- #12028 - Fixed a rare case in which prebuilds terminated successfully but were shown as failed
- #12280 - Update docker compose from v2.8.0 to v2.10.0
- #12159 - JetBrains: Display Workspace CPU/Memory usage in Backend Control Center.JetBrains: Workspaces created from repositories with tasks defined on .gitpod.yml will start with one terminal opened for each task.
- #12139 - Mark workspaces’ whose image builds failed as `stopped
- #12082 - Enable allowing redirect to Desktop IDEs for all workspaces.
- #12053 - JetBrains: Display Workspace CPU/Memory usage in Backend Control Center
- #12052 - Gitpod CLI: Highlight current task in gp tasks list
- #11993 - Fixes entering of colons in host on Git Integration page.
- #11576 - Add Spending Limit Reached modal on workspace creation.
- #10199 - Migrate AlertBox component instances to Alert component
- #11434 - Local Preview: Provide information about next steps when exited
- #11570 - Fix broken prebuild trigger for GHE.
- #11768 - Display an alert on signup if a user cannot login because their license does not cover for that additional seat