August 31, 2022
August Gitpod Release 2022
Welcome to the August edition of the Gitpod Changelog.
Key highlights:
- 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 list
shows your current tasks (as defined in the .gitpod.yml)gp tasks stop
stops 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.
Improvements for JetBrains IDEs
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.
JetBrains now supports multiple task Terminals
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.
JetBrains now respects configured Java SDK (JDK) versions
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 PATH
and JAVA_HOME
.
JetBrains IDEs now picking up the correct SDK version by default
View Resource Consumption in JetBrains Backend Control Center
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
Improvements for VS Code Desktop
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.
Sync Local VS Code extensions
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
VS Code Desktop reduced popups when opening
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.
All VS Code Desktop users on SaaS are now using SSH Gateway! 🎉
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.
Improvements for the Gitpod CLI (gp
)
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
shows your current tasks (as defined in the .gitpod.yml)
The 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
gp tasks stop
stops running tasks that (as defined in the .gitpod.yml)
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
.
See the gp
Command Line Interface documentation for more.
Improvements for SSH connections to Gitpod
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.
Improved OpenSSH compatibility and support for sha256/sha512
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