Changelog
A sum-up of Gitpod’s latest product improvements, feature releases
and community contributions.

Auto-cancel prebuilds on outdated commits
During development, sometimes a number of commits occur within a short period of time, which can trigger and queue multiple prebuilds for the same branch.
Gitpod will now auto-cancel pending or running prebuilds on the same branch when new commits are pushed, efficiently processing the queue and making sure workspaces always use prebuilds with the latest commits.
Auto-cancellation has been enabled by default for all projects, but you can disable this behavior in project settings.
Roadmap updates
JetBrains - Roadmap issue: #7956 Beta
Fixes and improvements
- #11083 - Fix the start-workspace flow for when a prebuild got auto-cancelled
- #11074 - Fix prebuild permissions
- #11072 - Resolve performance degradation issue by changing ws-proxy to not use the target host when serving workspace port route
- #11026 - Improve reliability of log streaming for image builds and prebuilds
- #10836 - Provide endpoint that allows retrieving information about the workspace from within the workspace
- #10696 - Prebuild status is shown under the logs when starting a workspace.
- #10962 - Automatically cancel outdated prebuilds (i.e. new commits are pushed on a branch). This behavior can be disabled in the project’s settings.
- #10952 - Update docker compose to v2.6.1
- #10882, #10727 - Fix prebuilds stuck in
queued
indefinitely

June Self-Hosted Release
We’ve released a new version of Self-Hosted Gitpod. Update instructions can be found in our update guide. You can read more about how to install it from scratch in our documentation. More details on this release can be found in GitHub.
Note: If you are on a paid Self-Hosted plan, this release will be promoted to your release channel in one week.
For feedback, please raise an issue or chat with us.
New way to try out Gitpod: Local Preview (alpha)
You can now try out Gitpod Self-Hosted without having to spin up a Kubernetes cluster - via a simple docker run
command. This will spin up Gitpod locally on your machine and enable you to experience what developing on Gitpod is like. Note that currently, only Linux-based systems are supported (Windows and Mac(Intel) are being worked on) and that unfortunately prebuilds will not work. You can read up on how to get going in the Local Preview Guide. Local preview is still in alpha, so we would appreciate any feedback you may have!
More flexibility regarding registries for airgapped environments
If you are using Gitpod in an airgapped environment you can now specify the container registry you want to use to store workspace images that Gitpod builds for you. By default, it will use an in-cluster registry. Previously, it would always use the same registry that is used during installation to download the images related to Gitpod.
Fixes and improvements
- We have added a
customer_id
field to the telemetry that is sent from a self-hosted instance. This helps us map an installation to a customer for support purposes. Note that this field is not being populated for users using the community plan and is only relevant to those on a professional plan.
A full list of changes can be found in the release notes on GitHub.

Grouping of inactive workspaces
Did you notice any changes in your workspaces list? Inactive workspaces are now grouped below the active workspaces and also allow users to clean up (mass delete) all inactive workspaces, see relevant pull request
Feedback is welcome, feel free to raise an issue or chat with us.
Roadmap updates
Command Line Interface (gp
)
Fixes and improvements
- #10450 - Added action to delete all inactive workspaces
- #10704 - SSH access no longer requires a private SSH key (removing forced password prompt)
- #10676 - Added action to delete all inactive workspaces
- #10357 - Fix hanging “Prebuild in Progress” page.
- #10175 - Allow customize VMOptions for JetBrains backend server, by setting
INTELLIJ_VMOPTIONS
(also GoLand/PyCharm/PhpStorm) environment variable - #10562 - Add
GITPOD_WORKSPACE_CLASS
environment variable to workspaces to allow easier identification of the workspace class - #10352 - Fix: Don’t skip prebuilds if .gitpod.yml has a ‘before’ task but no ‘init’ task

Gitpod dashboard improvements
We have made some design changes to the navbar at the top of the Gitpod dashboard. It now includes an always-visible link to your workspaces on the right, and offers better color accessibility.
The team/personal selector at the top left takes you directly to your own projects, or to the projects for the selected team. If you would prefer the team/personal selection to be preserved when you visit the workspaces list, please upvote Gitpod issue #10496.
Always ready to code 🚀
Roadmap updates
JetBrains - Roadmap issue: #7956 Beta
- #10107 - [JetBrains] Show notification when port becomes available
GP CLI
- #10388 - Gitpod CLI has a new command to list the ports from the workspace: gp ports list
SSH copy/paste - Roadmap issue: #7713
- #10291 - SSH copy/paste connections now support remote port forward
Fixes and improvements
- #10469 - Check docker-compose download
- #10458 - Update docker compose to v2.6.0
- #10442 - Revert ”[baseserver] Change default metrics port to 9502 to not clash with kube-rbac-proxy”
- #10414 - Improve workspace failure error messages
- #10413 - [supervisor] improve error message around user group and uid
- #10395 - ws-daemon: Apply the xfs limit in stages.
- #10394 - dashboard: single quote connect via ssh connection string
- #10229 - Change
/workspace
files default permissions from 0750 to 0755 - #10377 - Fixed an issue on JetBrains Gateway, preventing the workspace list from being displayed when a workspace had been created from a detached commit instead of a branch.
- #10346 - [registry-facade] Return content directly from IPFS
- #10356 - Reduce cpu and memory consumption of agent-smith
- #9475 - [experimental] add support for backing up and restoring workspace’s persistent volume claim via snapshot volume.
- #10071 - Feedback form under error messages on login and starting workspaces.
- #9491 - Correctly enforce the parallel workspace limit
- #10297 - Feedback form only shows for SaaS gitpod-io users.
- #10343 - [installer] Command line flag to configure strict config parsing
- #10364 - [content-service] Improve restoration of extended attributes
- #10290 - [experimental] add a metric to track volume snapshot time
- #10177 - JetBrains Gateway: The “Connect” button now gets disabled while a JetBrains Client is connected to the workspace.
- #10280 - [initializer] Fix issue with publicly signed SCM’s on a self-signed Gitpod instance

May Self-Hosted Release
We’ve released a new version of Self-Hosted Gitpod. Update instructions can be found in our update guide. You can read more about how to install it from scratch in our documentation. More details on this release can be found in GitHub.
For feedback, please raise an issue or chat with us.
New License tab in the admin panel
You can now see details about the license used by your installation, how many seats it has left, and the features your license includes. You can navigate to this page by going to the admin dashboard (top right corner of the Gitpod dashboard, which requires you to be an admin user) and selecting License
in the navigation menu.
Fixes and improvements
A full list of changes can be found in the release notes on GitHub.

Feedback widget for dashboard
Users are more likely to provide feedback, the easier we make it for them.
Inspired by the feedback form for Gitpod docs pages, we’ve added a similar Feedback feature in the Gitpod dashboard.
One click is enough to tell us how you feel, or write a quick note, all without leaving the page.
Roadmap updates
Public API - Roadmap issue: #7900 Alpha
Preferences
Fixes and improvements
- #10154 - [server] Skip GitHub App prebuilds when the repository has no prebuild task(s) or .gitpod.yml
- #10061 - Users can send feedback from the Dashboard.
- #9976 - Avoid prebuilding repositories were no workspaces were started recently.
- #10031 - Fix credential errors when json key is used as secret in image-builder-mk3
- #10058 - [code] Update VS Code to 1.67.0
- #8041 - Implement a new Team Billing where Team Owners can conveniently manage a paid plan for their Team
- #10034 - [ws-manager-bridge] Fix cluster role binding to scrape metrics
- #10042 - Fix prebuild updates
- #10053 - [prebuild] fix incorrect handling of failed prebuilds
- #10012 - [ws-daemon] fix some workspaces fail to shutdown correctly if git operation was interrupted due to workspace termination
- #9862 - Add
disableWorkspaceGarbageCollection
experimental installer config flag - #9867 - Add
webapp.server.blockedRepositories
experimental installer config flag - #10020 - [common-go] Add file watcher, [registry-facade] Refactor watch of configuration file[ws-daemon], refactor watch of configuration file
- #9995 - [ws-daemon] Remove stray IO limiter warnings
- #9492 - Remove stargz snapshotter from image build
- #10094 - Fix conflicting auth selection for image-builder-bob
- #10127 - [installer] Use installation shortname when constructing ws-manager URL templates
- #10114 - eccomp notify: correction of system call name in the log.
- #10082 - [ws-daemon] add log entry when ready probe fails

VS Code Desktop Settings Sync
Gitpod is built to be flexible. It’s important that our users can develop with the tools that make sense for their current task and use the tools they are most comfortable with. We “integrate, don’t dictate”. This design principle extends also to our IDE and editor integrations where we have multiple options in the browser and on desktop both VS Code and JetBrains (also see: our partnership with JetBrains).
We encourage Gitpod users to use one workspace per task, move their development configurations to code, and embrace ephemerality to really get the most out of Gitpod. However, those users who choose to swap between VS Code Desktop and VS Code in the browser for editing code will have noticed that their VS Code settings (themes, plugins, and fonts, etc) weren’t kept in sync.
But since we know just how important it is for our users to have their setups and configurations just as they like them, we’re excited to let you know that VS Code Settings Sync now works between VS Code Desktop and the browser in Gitpod
Note: VS Code browser settings are already synced by default.
To enable VS Code Settings Sync on your desktop:
- Open your Gitpod workspace in VS Code Desktop
- Use the command palette to select “Settings Sync: Enable signing in with Gitpod”
- Restart your VS Code Desktop
- Resolve any settings conflicts between your browser and desktop
And you’re set! All your theme, plugins, and other settings will be synced in real-time and be reflected also when you’re working in VS Code in the browser.
Check out the VS Code settings sync documentation for more details.
Fixes and improvements
- #8248 - Add user environment variable name length and value length validation in settings UI modal.
- #9831 - Add
staticMessagebusPassword
config flag to use a fixed message bus password in the installer - #9823 - Change icon spacing in license page
- #9803 - [ws-manager] fix sometimes workspaces fail with backup not found error
- #9654 - fix account deletion failing on bad DB state
- #9795 - Make sure the server mounts the github app secret when an app is specified in the installer
- #9793 - Add
disableDbMigration
config flag to the installer to disable db migrations - #9788 - Allow setting
ide-proxy
andopenvsx-proxy
service annotations via the installer. - #9773 - Allow setting
proxy
service annotations via the installer. - #9756 - Make
runDbDeleter
for the server configurable via the installer - #9764 - Allow
proxy
service to configure a static IP via the installer - #9786 - Use a special domain name for SSH Gateway
- #9727 - Fix readiness probe issue in registry-facace when configured registry address contains a port
- #9738 - Use link component class for the editor selection modal
- #9760 - Allow
ws-manager-bridge
service to skip registering itself as a workspace, via the installer. - #9343 - [dashboard] add license tab to the admin dashboard
- #9589 - Refactor backups
- #9699 - [docker-up] Update docker compose to 2.5.0
- #9708 - [image-builder-bob] Update buildkit to v0.10.2
- #9635 - [registry-facade] Adjust IPFS client Add options
- #9732 - [content-service] Fix backup restoration
- #9768 - [ws-manager] Reduce readiness probe initialDelaySeconds
- #9778 - [image-builder] Improve error handling (no more “hostname required”)
- #9213 - [supervisor]: Remove slirp4netns
- #9706 - [supervisor]: Improve IDE readiness probe
- #9432 - Prompt first-time users to choose their default IDE
- #9731 - [kots]: automatically enable shiftfs support if cluster supports it
- #9741 - [kots]: improve installer job failure recovery
- #9701 - [kots] support s3 backend in incluster registry
- #9614 - Improved security by removing unneeded privileges from the server component.
- #9613 - Support custom CA certs for SCM systems
- #9622 - [dashboard] Disable search indexing of all web app pages
- #9545 - Allow resource requests and limits for each component to be configurable through the installer
- #9269 - [devx]: Activated “format on save” for TypeScript and JavaScript
- #9630 - Allow
disableDynamicAuthProviderLogin
,enableLocalApp
anddefaultBaseImageRegistryWhitelist
server config to be configurable via the installer - #9717 - Allow chargebee payment config to be specified via the installer for SaaS installations.
- #9718 - [KOTS]: configure blockNewUsers

April Self-Hosted Release
We’ve released a new version of Self-Hosted Gitpod. You can read more on how to install it in our documentation. More details on this release can be found in GitHub.
For feedback, please raise an issue or chat with us.
Fixes and improvements
Self-signed certificates (beta)
You can now use self-signed certificates (certificates that are not signed by a known public certificate authority) for your self-hosted Gitpod installation. This is especially useful if you want to run Gitpod in a corporate environment that uses a corporate certificate authority. You can find out more about self-signed certs in our TLS configuration guide.
Note: Self-signed certs are currently not supported on Google Cloud Platform (GKE) because you cannot get containerd to trust other certificates without being restarted.
Support for installing Gitpod in air gapped Environments
We’ve made it easier to install Gitpod in air gapped environments (an environment that is isolated to and from the internet). You can now get everything that you need to install Gitpod in a single bundle that you can then install into your air-gapped environment. You can learn more about installing in air gapped environments in our documentation.
Improved Documentation
We’ve been working on our documentation which now includes a revamped installation guide and a more detailed explanation of requirements Gitpod has on the cluster it runs on, as well as which components are needed to support it.
A full list of changes can be found on GitHub.

Support for Bitbucket Server
Gitpod now works with repositories on your own instance of Bitbucket Server. To set this up, please follow our 2-step guide in the documentation.
For feedback, please use the dedicated feedback issue or chat with us.
Fixes and improvements
- #9438 - [ws-manager] fix a bug when opening workspace you would be signed out from git and not able to do git commands
- #9493 - [ws-daemon] Check blkio throttle exists
- #9488 - fix a dashboard bug where you might end up on a workspace without having access to it
- #9135 - Connect to self-managed Bitbucket Server in Git Integration modal.
- #9460 - fix and improve validation of user environment variables
- #9455 - [kots]: add an installation status pod
- #9462 - [server] Optimization: Map GitHub API repositories during pagination, not after
- #9458 - [kots]: move dropImageRepo config to when using local registry
- #9231 - Allow integrating with ‘github.com’ without a GitHub App
- #9445 - Allow to configure JB plugins on repo level per a product, i.e. specific for IntelliJ or GoLand.
- #9328 - [ws-daemon] Remove warning when cpu.stat does not exist
- #9338 - [registry-facade] Do not log warning from local store already exist error
- #9360 - [docker-up] Add docker-compose binary
- #9366 - Automatically block users that are running blacklisted workloads
- #9382 - Revert ”[ws-daemon] Fix CPU limit annotation”
- #9355 - [ws-manager] add metrics to track initialize and finalize of workspaces
- #9358 - [ws-proxy] Do not allow ACME challenge to be processed by workspaces to ensure no one can register TLS for gitpod.io through letsencrypt
- #9356 - [docker-up] Set the MTU using ceth0 value
- #9309 - [ws-daemon] Only limit storage device classes
- #9335 - Make image-builder available through ws-manager
- #9390 - ws-daemon: align to decide if cgroup v2 to fix cgroup v2 with fuse
- #9428 - Add I/O limit plugin for cgroup v1
- #9437 - [ws-daemon] Refactor configuration of I/O limits
- #9155 - [kots]: enable use of a local registry
- #9427 - Allow workspace timeouts to be extended when a user has workspaces in different regions.
- #9446 - fixed a bug around email address rendering
- #9443 - JetBrains IDEs now start with a terminal opened, displaying an introductory message about Gitpod CLI.
- #9385 - re-enables blocklisting of email domains
- #9409 - block abusers based on email domain suffixes
- #9361 - [werft] Improve findFreeHostPorts speed
- #9404 - Fixed a bug where IO limits were not applied to the workspace
- #9219 - Stop running prebuilds for projects that did not start a workspace in the last 10+ weeks
- #9094 - [installer] Disable
definitely-gp
by default - #9381 - Update code to 1.66.2
- #9367 - Update OpenSSH to v9.0

SSH directly into workspaces
As of today, in Gitpod you can now get access to a Gitpod workspace directly via SSH with a one-liner copy/paste from the Gitpod dashboard. All you have to do is visit the Gitpod dashboard, click the more actions menu at the right-hand side of your workspace list, copy/paste the SSH command into a terminal, and voila!
Choice and flexibility for developers to choose the right tool for the job is essential. Currently, for editing your code with Gitpod, you can use VS Code in the browser, VS Code on desktop, and using JetBrains IDE’s via JetBrains Gateway. Adding copy/paste SSH support makes it easier to work directly in your terminal, or for those times you need to hop into a Gitpod workspace. To use this feature, please follow our guide our documentation
Fixes and improvements
- #9007 - Ensure uncommitted changes are displayed in dashboard when workspace was restored from backup
- #9212 - Use veth instead of slirp4netns without affecting the supervisor
- #9082 - Add custom CA cert support to Gitpod services
- #9185 - Update code to 1.66.1
- #8955 - Use a pair of veths instead of slirp4netns
- #9003 - upport direct connect workspace via ssh command
- #8783 - Display warning message when users choose latest IDEUpdate IDE choose preferences UI
- #9051 - [dashboard] Implement a PaymentContext and use it to hide payment features when payment is disabled
- #9152 - Transformer for MySQL BIGINT type to JS number
- #8630 - Allow to configure JetBrains plugins in .gitpod.yml
- #8841 - Prebuild Detail view buttons are based on Prebuild status, instead of WorkspaceInstance
- #8970 - [dashboard] It’s now even easier to contribute: set a couple variables once, contribute for as long as you like.
- #9108 - Bitbucket Server: implements token validation for Git operations.
- #9191 - [ws-manager-bridge] Skip stale prebuild events.
- #9218 - installer: make shortname configurable
- #9233 - [ws-manager-bridge] Fix statusVersion comparison.
- #9200 - [registry-facade] Fix IPFS/Redis validation
- #9186 - [image-builder-bob] Update buildkit to v0.10.1
- #9162 - [registry-facade] Revert removal of DisableKeepAlives[registry-facade] Check redis connection on start[registry-facade] Separate Redis manifest cache from IPFS[registry-facade] Check if the keys exist and use MULTI[registry-facade] Use sync.Pool as bufferInclude error in probe log
- #9176 - [ws-proxy] Deny HTTP ACME challenges
- #8576 - Allow setting custom workspace timeouts in the Gitpod Installer for self-hosted installations.
- #9004 - Fixed one frame running phase when starting workspaceFixed IDE options display incorrectly when restarting the workspaceFixed stopped workspace does not work again if it started in another place
- #9159 - [kots]: update the logo
- #9115 - Store WorkspaceInstance.status_version in d_b_prebuild_workspace and count prebuild stale events
- #9121 - [gitpod-db] Don’t consider garbage-collected prebuilds as potential bases for incremental prebuilds
- #8831 - Remove Prebuild action and log view from Project Settings view
- #9116 - ws-manager-bridge skips stale prebuild events
- #9081 - Add custom CA cert support to workspaces
- #9106 - [registry-facade] Configure credentials for Redis Sentinel
- #9125 - Added requirements to KOTS installation
- #9083 - [kots]: add a kernel version check to the preflights
- #9046 - Fixes missing login providers for Gitpod Self-Hosted.
- #9052 - [dashboard] Fix Settings menu colors in Dark theme
- #9045 - [dashboard] Remove prebuild error message from prebuild log view
- #8896 - Adding support for Projects and Prebuilds for Bitbucket Server.
- #9109 - Fixes incremental prebuilds by choosing the right prebuild base.
- #8824 - [server] For GitLab projects without an owner avatar, fall back to the namespace avatar, or generate the default GitLab avatar
- #8805 - Dashboard reports prebuild status consistently between list view and detail view.
- #9104 - [installer] Fix registry facade env variables for IPFS and redis
- #8769 - Enable the use of fuse device on cgroup v2 systems
- #9005 - Experimental IPFS support for cluster-local image caching
- #9063 - Improve workspace startup time through improved manifest assembly
- #9039 - Removed leftover workspace size limit which could prevent backups from being created.
- #9060 - [kots]: add distribution check to the KOTS preflights
- #8962 - [KOTS]: extract images from the Installer and put in the additionalImages array
- #8940 - Add workspace branch & creation timespan column for Gitpod Jetbrains Gateway plugin workspace panel
- #8941 - [image-bob-builder] Add support for stargz
- #8917 - JetBrains Gateway EAP version is now supported.

docker run --privileged
You can now run privileged containers in Gitpod!
# example
docker run --privileged -it busybox sh
Prior to the fix, users were getting an error, and it prevented them from running privileged workloads.
The host file system, in this case, is your Gitpod workspace. Don’t worry, it’s ephemeral!
Fixes and improvements
- #8459 - Made the
gitpod.io/cpuLimit
annotation work again - #8918 - [ws-proxy] Configure kube-rbac
- #8845 - Update buildkit to v0.10.0
- #8941 - [image-bob-builder] Add support for stargz
- #8878 - fix findPrebuildsWithWorkpace query
- #8875 - Remove truncation and overflow team invitation URL
- #8772 - Update team deletion confirmation modal
- #8890 - Added a new root cmd to Gitpod CLI. The tasks cmd allows listing tasks and attaching to them.
- #8914 - Add sudo permission to custom images, force NOPASSWD
- #8867 - [kots]: configure werft build command
- #8683 - Added first draft of a public API
- #8857 - [KOTS]: add recommended preflights
- #8892 - [kots]: escape golang template variables for Helm resources
- #8844 - [kots] Add a pre-flight check for `cert-manager
- #8835 - Rerunning prebuilds direct to the prebuild logs view, and rerunning is not allowed from the /prebuilds page.
- #8821 - fix missing index on Workspace (id, deleted)
- #8825 - [server] Improve GitHub Enterprise avatars handling
- #8854 - fix broken image builds
- #8858 - [gitpod-db] add index on
workspaceDB.Type
Column - #8871 - [kots]: remove wait-for-jobs
- #8870 - [kots]: remove GCP DNS resolver
- #8827 - Allow use of the —privileged flag with docker.
- #8837 - [installer]: allow for minified config YAML
- #8785 - [kots] Remove
cert-manager
from the Gitpod package - #8808 - [loadgen] Update benchmark images
- #8742 - Enable egress metrics for agent-smith
- #8822 - [kots]: removed the cert-manager issuers
- #8491 - [kots]: use Helm for the Installer job
- #8721 - Document ClusterService rpcs and messages
- #8699 - Clarified wording of “timeout” feature on the settings/plans page
- #8718 - ws-manager-bridge logs WorkspaceStatus events
- #8644 - Fix setting sync limit failure in some cases
- #8793 - fix caching of GitHub server-server queries
- #8593 - Make the licensing match what’s advertised
- #8770 - [kubecdl] Fix server name pattern
- #8741 - Update code to 1.65.2

Support for GitHub Enterprise Server
Gitpod now works with public, private, or internal repositories on your own instance of GitHub Enterprise (GHE). To set this up, please follow our 2-step guide in the documentation.
For feedback, please use the dedicated feedback issue or chat with us.
Fixes and improvements
- #8533 - Update k8s go dependencies to v1.23.4Update prometheus to v1.12.1 CVE-2022-21698Update containerd to v1.6.0
- #8578 - Support user-modifiable cgroupv2 structure
- #8583 - Remove unused pod labels
- #8580 - [installer] Registry facade should not use a port from node ports range
- #8555 - Add docker images for gpctl and kubecdl
- #8590 - Update the docs for cgroup v2
- #8471 - Support cpu limiting using cgroup v2
- #8629 - Disable cache reclaim when cgroup v2
- #8550 - Add support for private registries
- #8632 - Admins cannot search empty strings or partial matches on workspace search.
- #8574 - Support GitHub Enterprise
- #8689 - [kots]: create dev channels in KOTS and formalise the release process
- #8568 - Rate-limit workspace prebuilds to 50 per minute (rolling-window) by default, configurable through config.
- #8633 - [kots]: make the self-hosted cert more explicitly selectable
- #8486 - improve robustness of startWorkspaceimprove feedback for errors during cluster selectionimprove monitoring for cluster selection errors
- #8547 - [installer]: add annotation to make DB resources restart if changes
- #8622 - [installer] Add network policy for registry-facade access to coredns
- #8562 - Fix user detail bug that fetches all workspaces.
- #8558 - [dashboard] Don’t always print ‘Connecting to workspace logs…’ (it’s somewhat misleading)
- #8546 - Link to privacy policy from login page
- #8395 - [kots]: add the KOTS installation manifests
- #8503 - Free text search on workspace admin dashboard is not enabled anymore.
- #8363 - Remove ghost from the codebase
- #8477 - Renamed
danger-use-unsupported-config
flag in the installer to `use-experimental-config - #8527 - [installer]: correct the stored config to include apiVersion
- #8519 - Try harder to update workspace annotation to prevent workspace from being marked as failed erroneously.
- #7831 - Git Integrations UI – improve handling of host name.
- #8428 - Deal with when cpu.cfs_quota_us is negative
- #8435 - Docker in workspaces now allows mapping the user id of a container user to the workspace gitpod user
- #8463 - Improve handling of an error when pod fails to start due to out of memory error on the node
- #8460 - [installer]: remove jaeger operator from the config
- #8402 - Admins can find teams, see team details, and change a team member’s role.
- #8211 - Add Replicated as a Gitpod license evaluator
- #8330 - Improve error handling for workspace cluster register & updateShow all admission constraints for workspace cluster list
- #8307 - Add max lifetime timeout for a workspace
- #8389 - [installer] Ensure multiple ws-proxy replicas are scheduled in different nodes
- #8401 - Make
-c
optional in installer, while allowing the passed config to be flexible - #8373 - Show correct admin telemetry settings during first visit
- #8376 - Remove Jaeger operator
- #8266 - Make Open VSX upstream URL configurable in the installer for air-gap installations
- #8380 - Pre-populate Cmd+O modal and sort suggested context URLs by most-recently-used first

Making snapshots safer for sharing
Gitpod now restricts access to workspaces opened with snapshot URLs.
Users must have access to the git repository in the snapshot, in order to open it.
If a snapshot URL user does not have read access to the repo, Gitpod will now show an error message. Previously, any logged-in Gitpod user could open snapshot URLs for any workspace.
This change matches what happens when users open a new workspace on a private repository, using a prefixed context url. The change also helps to prevent leakage of sensitive or proprietary files via snapshots. To learn more about collaboration and sharing, please have a look at our documentation
Breaking change
This change may impact you if you are intentionally sharing a private repository using a snapshot, say for an interview.
Workarounds
- Use a public repository instead of a private one.
- Invite users to the private repository (or to the team on the org) as collaborators.
- Share a running workspace instead of a snapshot URL.
Feedback
As always, please contact Gitpod if you have any feedback to share with us.

Open in Gitpod
It’s even easier now to open a repository in a new Gitpod workspace.
Type cmd+O (ctrl-O on Windows) while on any page in the dashboard at gitpod.io.
This will pop up an input where you can paste a context URL for a git repository, and immediately open a workspace, just like you are used to with the gitpod.io/#
prefix.
Instead of pasting a URL, you can start typing the name of a repository, and Gitpod will suggest repositories from recent workspaces, as well as from your connected git provider. Even our popular example template repositories can be opened this way.
Always ready to code 🚀
Fixes and improvements
- #8234 - Add stress test for mount proc
- #7523 - messagebus: remove cross-cluster dependency
- #8275 - Update the usage of nsinsider.
- #8288 - [installer] Installer does not set default nameserver settings for workspaces anymore
- #8289 - Improve handling of “Out of Memory” error when starting up workspaces
- #8067 - [server]: Add
totalUsers
,totalWorkspaces
, andtotalInstances
fields to telemetry data - #8270 - [self-hosted] Skip MinIO client configuration in the MinIO container because it breaks air-gap installations.
- #8086 - Bitbucket Server: Authorize with Bitbucket Server 7.20 and start workspaces.
- #8227 - [server] Disable
perMessageDeflate
on websockets

New workspace images built with Dazzle v2
By default, your Gitpod workspaces are based on a Docker image called gitpod/workspace-full
. It contains all sorts of tools, SDKs and languages you may need — so you are ready-to-code with no friction.
What if you were only interested in Rust though, or Node.js LTS? You could create a custom Dockerfile, tell Gitpod about it and all would be fine. It would even be pretty simple to do.
At Gitpod, we are all about removing friction and frequently ask ourselves, “How can we improve?“. So we came up with an even easier solution. We are now in a position to create much more fine-grained workspace images!
To start this next era, we recently built a whole bunch of new images with Dazzle v2. Dazzle is a Docker/OCI image builder and its goal is to build independent layers where a change to one layer does not invalidate the ones sitting “above” it.
Compared to the previous version of Dazzle, the new v2 is about 5x faster, more reliable and less hacky 🔨.
Here is a list of what you can use today:
gitpod/workspace-c
gitpod/workspace-clojure
gitpod/workspace-go
gitpod/workspace-node
gitpod/workspace-node-lts
gitpod/workspace-python
gitpod/workspace-ruby-2
gitpod/workspace-ruby-3
gitpod/workspace-rust
For an up-to-date list of available images, please refer to this list.
In your .gitpod.yml
, all you need to do is add the following line:
image: gitpod/workspace-xyz
As if this wasn’t exciting enough, this new solution lays the foundation for some very cool features you will be able to leverage directly to create custom images for your workspaces.
To tease this a bit more, imagine a future where you can pick & choose which tools you’d like to install in your workspace and Gitpod will automagically provide them to you at lightspeed, or thereabouts.
We are interested in your feedback and suggestions, please let us know in our dedicated feedback issue or chat with us.
Fixes and improvements
- #8119 - Added support for Git LFS during content init
- #8134 - Enable id check for seccomp notify
- #8139 - Improved workspace memory-pressure eviction resilience
- #8161 - Add workspace start request debug logging to ws-manager
- #8179 - A bit of improvements to cache_reclaim
- #8132 - [GitHub] Fix the user account picked for a prebuild.
- #8143 - Update code to 1.64.2
- #8112 - Autofix: upgrade-nvm-tools
- #8099 - fix dashboard contextURL handling
- #7569 - Support private dotfiles repo
- #8100 - Make
ContextURL.parseToURL
support the newly-acceptedgit@[host]:[user]/[repo].git
format - #8036 - Refactor dynamic CPU limiting to provide fairer scheduling.
- #8093 - Fix wrong token selection if multiple found for a profile.
- #7715 - [server][dashboard] Improve ‘New Workspace’ modal with a search input, keyboard navigation, and a new context URL suggestion API
- #7833 - Fix Bitbucket push event handling
- #8073 - configure basic rate-limiting for `startWorkspace
- #7727 - [installer]: add jaeger sampling options to the tracing object
- #7923 - Improved in-transit security of user environment variables
- #7968 - Fix missing status updates for prebuilds.
- #7940 - reduce idle DB load on SH installations
- #7978 - [gitlab] user-scoped env vars can now be filtered for nested repos on Gitlab
- #7882 - Admins can do a text search for projects and their associated prebuilds.
- #7951 - [server] Support ‘git@[host]:[user]/[repo].git’ format in context URLs
- #7839 - [installer]: put component ownership under webapp/workspace teams
- #7926 - [wa-manager] Refactor connectToWorkspaceDaemon helper

Project-level environment variables
It’s time to bring environment variables to Projects, and with that to Prebuilds as well!
Environment variables can now be set for individual Projects, which automatically makes them available when Gitpod runs a Prebuild for your project.
By default, these environment variables are not accessible in workspaces. You can, if you desire so, make them available in workspaces too. However, keep in mind that if you do so, anyone who starts a Gitpod workspace for your project will see the value of these environment variables.
To get started, make sure you have created a project at gitpod.io/new. You will then be able to visit its Settings page, where you find a new Variables section.
We are interested in your feedback and suggestions, please let us know in our dedicated feedback issue or chat with us.
Fixes and improvements
- #7895 - werft run github -j .werft/clean-up-werft-build-nodes.yaml -f
- #7873 - [Installer]: release 2022.01
- #7769 - [installer] Add missing kube-rbac-proxy container in ws-manager deployment
- #7774 - [installer] Do not start binaries in verbose mode
- #7362 - - Refactor JB integration to connect over SSH instead of CWM links.- Provide Gitpod integration in JB Gateway.
- #7732 - [Dashboard]: add send telemetry to admin settings
- #7801 - [installer]: add namespace to validate cluster command
- #7837 - Fix “token not found” issues.
- #7430 - Remove ws-scheduler component
- #7760 - Support heartbeats from SSH sessions
- #7591 - [server]: Create installation admin controller
- #7752 - [installer] Fix invalid tag name for image build template
- #7302 - [dashboard] Error messages on workspace creation when the repository is not found, will now also display the name of the repository
- #7753 - Improved feedback when content initialisation fails
- #7514 - Autofix: upgrade-nvm-tools
- #7730 - [installation-telemetry]: log data sent to Segment
- #7472 - [ws-manager] Improve workspaces PodAffinity
- #7657 - Make proc mounts more reliable which affects parallel Docker container startup
- #7623 - [installer] Fix ws-daemon image pull policy
- #7656 - [installer] Fix lifecycle PostStart label update
- #7670 - [installer] Fix registry-facade ClusterRoleBinding name
- #7660 - [installer] Switch default log level to info
- #7687 - [installer] Telemetry should not run in workspace clusters
- #7633 - Admin users can download the account statement.
- #7295 - Introduce Project-level environment variables
- #7659 - [dashboard] Don’t offer to add common email domains as a verified student domains in Admin
- #7625 - [installer] Fix mysql image pull policy
- #7642 - [Installer]: remove the deprecated TypeORM migration command

Dotfiles support in Beta
Happy new year from us at Gitpod 🥂!
We kick off 2022 with the availability of dotfiles support for anyone - currently in Beta.
If you are already familiar with dotfiles, configure it in your Gitpod preferences. All we need is a URL to your dotfiles repository. We will do the rest whenever you start a new Gitpod workspace. Enjoy 😊.
What are dotfiles, anyway?
You may have seen a .bashrc
file or similar in a Unix environment. Basically, a place for you to configure and customize your shell. The operating system runs commands in these dotfiles automatically. This ensures your environment always has your customizations applied when you start your computer.
Dotfiles allow you to really customize your workflow and hence can increae your productivity significantly. It’s well worth looking into.
With today’s announcement, you can now leverage these exact same files in all your Gitpod workspaces! This removes one more friction for anyone who’s been on the fence as to whether or not cloud-based developer environments are worth exploring. Invest an hour today, you may like what you find. Start at gitpod.io/preferences.
Please try it out and share your experience with us and the Gitpod community. You can learn more about Dotfiles in the documentation.
We are interested in your feedback and suggestions, please let us know in our dedicated feedback issue or chat with us.
Fixes and improvements
- #7387 - Provide SLSA/in-toto provenance for the build
- #7606 - Removed “workspaces” from projects and teams and have a single global workspaces list, that shows all my workspaces.Made the single “workspaces” list the default landing place in the dashboard.
- #7504 - The GraphQL API has been removed
- #7241 - Route users to Discord for support
- #7503 - [installation-telemetry]: initial commit plus installer setup
- #7535 - [GitHub] Optionally prevent merging pull requests when prebuilds fail.
- #7578 - Add bottom padding for Projects, Branches, and Prebuilds pages
- #7596 - [installer] Adjust rabbitmq helm chart probes configuration
- #7156 - [Installer]: simplify container image mirroring
- #7508 - [installer]: use a pointer deref if the ssh gateway secret does not exist
- #7391 - Use repository org and name for workspace ids.
- #7512 - [ws-manager] Adjust probe InitialDelaySeconds
- #7510 - [installer] Adjust default MySQL value
- #7463 - Adds analytic tracking to git commands requiring the git credential manager (remote-facing commands)
- #7511 - [installer] Adjust mysql helm chart probes configuration

Self-managed k3s on GCP
Gitpod’s services run on Kubernetes and are what you would consider a “classic cloud-native application”. When you start a workspace for your project, we also run that on Kubernetes, but the requirements are very different from what Gitpod services need.
To run your workspaces, we deeply integrate with the Kernel, the container runtime and the Kubernetes control plane.
Up until recently, everything above ran on Google Cloud’s Kubernetes Engine (GKE). This continues to be the case for Gitpod’s services, but we moved user workspaces to self-managed k3s on GCP.
In short, this move brings better performance that will benefit your daily work, but also gets us closer to upstream and provides us with more flexibility. It is a foundation we put in place to build upon in the weeks and months to come!
Before you decide to follow our lead though, please see our CTO Chris’ in-depth explanation of benefits, gotchas and overall details of this migration.
Fixes and improvements
- #7312 - Profile of the user who already added a project is linked.
- #7177 - Allow auth provider secrets to be passed in via a secret
- #7012 - Allow setting a name and a description for each port on .gitpod.yml
- #7354 - Fix Team Workspace Success Criteria dashboard
- #7107 - [installer]: update docker-registry to allow for pod security policy application
- #6827 - 1. [installer] Add a namespace for the cert-manager self-signing issuer so it can be uninstalled using the configmap.2. [installer] Set EnableLocalApp to true by default.
- #7206 - [installer]: correct the starts_with validation on the config
- #7200 - [installer]: separate server and IDE components
- #7163 - Improved start page when a GitHub app is not installed.

JetBrains desktop available in beta
Gitpod currently has IntelliJ, GoLand, PhpStorm and PyCharm released in beta. The rest of the JetBrains IDE’s are all coming to Gitpod very soon, watch this space!
Previously, when you loaded a new Gitpod workspace, you would find yourself in a VS Code Browser experience. Using a browser editor like VS Code Browser is the main way Gitpod can get you “ready to code” instantly.
However, whilst we know that VS Code is the most widely adopted editor on the market (which is why we started with VS Code), Gitpod is not only built for VS Code users!
Gitpod is for teams, and companies of all shapes and sizes. We’re here to support, and integrate with as many of the different developer workflows used in modern software development. After all, it’s your dev environment, so you should be able to set it up your way.
And that’s why today, we’re happy to share that JetBrains desktop is now in beta!
You can get started using the JetBrains IDE’s today by: heading over to your Gitpod preferences page, enabling your favourite JetBrains desktop IDE’s, and restarting any running workspaces. The next time you start a workspace, you’ll be prompted about which editor to use: VS Code Browser, VS Code Desktop, or your preferred JetBrains IDE. However, even when you open a Gitpod workspace with a desktop editor, you still get the ease and developer experience of using VS Code Browser to edit and work on the same workspace and code at the same time, they’re entirely synced.
Work on your desktop if you like, share your workspace if you like, the choice is yours! To keep an eye on which editors we support at any given time, check the editors docs.
We are interested in your feedback and suggestions, please let us know in our dedicated feedback issue or chat with us.
Fixes and improvements
- #7004 - Add PyCharm desktop IDE.
- #6847 - The “Your Workspace is Ready” page for desktop IDEs now has “Stop Workspace” and “Go to Dashboard” actions.
- #6721 - When a user deletes their account, own projects will be deleted and made available to be added again.
- #6671 - Add VS Code Desktop in the preferences to always open your workspace in VS Code Desktop
- #6747 - [dashboard] Change default color theme from Light → System
- #6713 - Allow all team members to cancel a team prebuild
- #6505 - Open up JetBrains desktop IDE feature (BETA) for all users
- #6546 - Prebuilds can run for GitLab subgroup projects.
- #6464 - Switch to shallow git clone and add unshallow feature
- #6144 - make “snapshots” more reliable
Self-Hosted
- #6621 - Allow use of external container registry
- #6606 - Add support for GCP CloudSQL
- #6543 - Make the installer updatable

Gitpod Self-Hosted installers
If you prefer to install Gitpod in your own environment, we are pleased to announce this process has become a whole lot simpler.
Say hello to make install
🎉!
Yes really, our shiny new installer scripts take care of the heavy lifting while all we ask from you is to configure a file or two (depending on your hosting provider) and you’re up and running in no time.
Get started today with installer guides for:
- Amazon Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Microsoft Azure Kubernetes Service (AKS)
Please let us know what you think via Twitter @gitpod or chat with us at https://www.gitpod.io/chat.
Fixes and improvements
- #6652 - Bitbucket-only users get an error message now on New Project page
- #6775 - make DB layer more robust against odd DB values
- #6847 - The “Your Workspace is Ready” page for desktop IDEs now has “Stop Workspace” and “Go to Dashboard” actions.
- #6031 - add
GIT_AUTHOR_EMAIL
to the environment variables mentioned in account settings - #6883 - [dashboard][server] Make all project slugs unique within a team or user account by adding a unique suffix
- #6702 - Add container registry and database secret checks
- #6716 - Configure and validate the external database
- #6753 - [installer]: fix the auth provider config
- #6682 - [gpctl] Support forceful cluster de-registration
- #6760 - [installer]: fix jaeger operator misconfiguration
- #6733 - [ws-daemon] Fix resource leak during proc mounts
- #6745 - Configure Azure blob storage for installer
- #6860 - [image-builder] Fix authentication issues with external registries
- #6862 - Apply node affinities to components
- #6870 - [ws-proxy] Improve TLS default configuration
- #6893 - Set internal certs to 90 day duration
- #6892 - Change Minio to forked version

Improved workspace startup times
Speeeed 🚀! When you start a new workspace, we changed how we clone your repository. Going forward, we have a two step approach:
- Clone the most recent commit only (with the
depth=1
git flag) - About ten seconds later, we start to fetch 20 additional commits
Thanks to this, we let you start your work sooner while we fetch a few more commits. You can find the details of this change in the #6464 pull request.
Please let us know what you think via Twitter @gitpod or chat with us at https://www.gitpod.io/chat.
Fixes and improvements
- #6582 - Update VS Code Web to 1.62.0
- #6462 - [ws-proxy] Decouple ws-proxy from ws-manager
- #6546 - Prebuilds can run for GitLab subgroup projects.
- #6577 - Preserve team scope in dashboard
- #6505 - Open up JetBrains desktop IDE feature (BETA) for all users
- #6636 - GCP object storage bugfixes
- #6621 - Allow use of external container registry
- #6606 - Add support for GCP CloudSQL
- #6591 - Create config map to allow uninstallation of app
- #6144 - make “snapshots” more reliable
- #6376 - New GitLab projects will have a slugified Project url
- #6584 - allow img-builder ingress from server

Tailscale on Gitpod
With the availability of Tailscale support, you can connect Gitpod workspaces to other resources & services needed. Think of a database hosted behind a corporate firewall or in your on-prem data center.
Equally exciting is the possibility to connect multiple Gitpod workspaces with each other. Imagine a project with microservices which all have their own git repository. Configure Tailscale in each repository and once you start workspaces, the individual services will be able to communicate with each other.
You can learn more about this topic in our Network Bridging documentation. Alternatively, we have a template repository with the required configuration you can apply to your own projects.
Please let us know what you think via Twitter @gitpod or chat with us at https://www.gitpod.io/chat.
Fixes and improvements
- #5865 - Make it possible to cancel pending or running Prebuilds
- #6273 - Deleted team’s name can be reused.
- #6312 -
/admin
: Improve performance of workspace queries - #6048 - Replace /workspaces → /projects as default landing page for both users and teams
- #6038 - Truncate workspace context in the workspace deletion modal
- #6409 - Experimental support for
CAP_NET_ADMIN
in workspaces - #6234 - Validate the cluster is in a state for Gitpod to be installed to
- #6265 - Installation config validation
- #6338 - Automated workspace deployment framework and design proposal and prelim checkin for workspace cluster creation
- #6453 - [ws-manager]: Add check for IdeImage not being present in the spec
- #6348 - Switch from dropbear to OpenSSH
- #6389 - Always enable the New Workspace button on the Configuration Page.

Introducing Teams and Projects
Up until today, you must have felt at times that your Gitpod dashboard is a pretty empty place 😔. All you had, besides settings and stuff, was a list of your active workspaces (not even old ones without changing the filter - yep yep, we fixed that too 😉).
We are so stoked to announce Teams & Projects (& Prebuilds) available in beta 🎉
To get started right away, gitpod.io/new.
Teams
You can now create teams (as many as you want) and invite your co-workers, friends & family to collaborate on your projects.
Projects
Remember .gitpod.yml
, checked in to your project’s root directory? It’s still the first place we look for Gitpod configuration, but when you create a project in the Gitpod dashboard, we now do our best to be smart and suggest a sensible default configuration for your project (insert something something machine learning - jk, there’s no magic).
Bonus - Prebuilds 🤩
Nobody asked me, but if they had I would have said the announcement should have been Teams, Projects & Prebuilds 😅. How come?
For the first time ever, we now show you each and every prebuild we run for your project! Check the status, view the logs or trigger new prebuilds from within the dashboard.
When you use the new onboarding workflow at gitpod.io/new, we help you kick off your first prebuild. With prebuilds, Gitpod builds your dev environment for each change you push to your repository. This means, when you’re ready to open a new workspace, it’ll already have all init start tasks executed.
You can learn more in the docs.
Expect more updates to all this over time. For now we’d love to hear about your experience. Please let us know in the feedback issue, contact us via Twitter @gitpod or chat with us at https://www.gitpod.io/chat.
Fixes and improvements
- #6171 - Enable setting of DB username with DB_USERNAME envvar
- #6185 - Add ‘New Workspace’ context menu option to all Projects cards
- #6187 - [projects] Fix Project card bottom row layout
- #6074 - Truncate commit message on branches and prebuilds
- #5802 - Update Kubernetes dependencies to v0.22.2Update controller-runtime to v0.10.1
- #6158 - Fix: Ensures that string-based env values defined in
.gitpod.yml
are not set with enclosing quotation marks. - #6090 - [image-builder-mk3] Fix image build error “did not produce a workspace image”
- #6218 - [ws-manager] Introduce stoppedByRequest annotation marking workspaces explicitly stopped using a
StopWorkspace
call - #6164 - Add admission constraints to support fine-grained cluster selection
- #6107 - Fix re-running a Prebuild with a different out-of-repo configuration
- #6166 - [gitpod-protocol] Adjust typescript GRPC options
- #6163 - Refactor GRPC TLS connection defaults
- #6069 - Allow importing of Helm dependencies
- #6095 - VS Code: Add a Get Started with Gitpod walk-through

Automatic preview page reloads
A small, but mighty improvement to your web application preview. No more manual page refresh when you open the preview before the application’s port is ready.
Gitpod now reloads the page every five seconds, automatically. Once your application listens on a port, the preview will reload and you’re ready to code.
Please let us know what you think via Twitter @gitpod or chat with us at https://www.gitpod.io/chat.
Fixes and improvements
- #5836 - Make it possible to re-trigger failed or timed out Prebuilds
- #5640 - [Teams & Projects] Ask for authorization when viewing a project of a provider without connection
- #5967 - [teams] Fix joining teams from different DB region
- #5572 - Refactor integration tests using sigs.k8s.io/e2e-framework
- #5935 - [dashboard] fix accumulating websocket connections
- #5897 - [workspace] Make the workspace stopping mechanism more deterministic
- #5918 - [prebuilds] fix prebuild logs with multiple tasks
- #5693 - [image-builder] Include environment variables in the built workspace image
- #5920 - [db] add missing index `d_b_prebuild_workspace.buildWorkspaceId
- #5899 - fix log format for meta components
- #5787 - improve websocket reconnection handling in the frontend

VS Code Desktop support
It’s here 🎉! Starting today, you can access Gitpod workspaces right from your locally installed VS Code - we call it “VS Code Desktop Support”. Yep, that’s right - keep your local settings1 and benefit from Gitpod’s high-spec servers & automated prebuilds. As you would expect, your code continues to stay in an ephemeral Gitpod workspace which keeps each of your projects nicely isolated from one another.
To get started, all it takes is two steps:
- Start a new Gitpod workspace (learn how in the docs).
- Open the command palette (⇧⌘P or Ctrl+Shift+P), type “Open in VS Code” and hit Enter.
This opens your local VS Code, connects to the Gitpod workspace and let’s you develop, test & debug your application as if it was running locally.
We continue to enhance this feature, but for now we’d love to hear about your experience. Please let us know in the feedback issue, contact us via Twitter @gitpod or chat with us at https://www.gitpod.io/chat.
If you are already familiar with the Local Companion app we announced in June, note that VS Code Desktop Support is built on top of it and you can continue to use the Local Companion app independently of VS Code.
1 may I add, yes this also means you get to keep your keyboard shortcuts just the way you prefer them. You know, Ctrl/Cmd + W to close an editor tab 😉.
Fixes and improvements
- #5511 - Breaking Change: Remove Theia settings and point to Code image
- #5633 - Update code to 1.60.0
- #4997 - OpenVSX proxy cache
- #5568 - GitLab users who have not completed the auth process on GitLab will be notified with an error message
- #5362 - [gitlab] Accept ’#’ sign in branches / context URLs
- #5180 - [docker-up] Update docker-compose and slirp4netns
- #5513 - [code] Add open dashboard menu option to home menu
- #5456 - vscode desktop on windows

Faster workspace startup times
A key metric we deeply care about at Gitpod (and I’m sure you do, too) is workspace startup time. In a world where you create and dispose of workspaces many times per day, the last thing you want is waiting for a workspace to start 🐌.
In this release, we made significant progress in lowering startup times 🏎. What initially may sound like complex changes turned out to be a +4 -4
pull request (#4847). Yay simplicity!
To give you an idea of the magnitute of improvement we’re talking about, here’s a before / after comparison with 30 workspaces started twice:
Before | Now |
---|---|
![]() |
![]() |
Did you pay close attention to the y-axis? From between 20 to 60 seconds down to 5 to 20 seconds!
Great work team, let’s shift our focus to other features. These improvements are certainly worth celebrating 🎂, but we’re hungry to drop these times by at least the same magnitude once or twice more! Team, finish your cake and get back to work 😉.
Please do let us know if you notice any differences with your project startup times. You can find us at www.gitpod.io/chat.
Fixes and improvements
- #4844 - Provide better feedback when gitpod.yml is invalid
- #4816 - [gp] env: handle multi-word values without quotes
- #4813 - [server] Handle releases/tag/
in GitHub context parser - #4743 - [code] confirm sharing
- #4738 - [code] serve each webview from own origin
- #4734 - [#4699] Handle error situations around /headless-logs endpoint
- #4115 - [server] store separate email used for commits (GitHub and GitLab). Thanks to @philschatz.
Gitpod Self-Hosted
We released 0.10.0
and updated the documentation to match. Head over to the docs for getting started.

Introducing the Gitpod Local Companion app
As of today, you can access your Gitpod workspace from your local environment 🎉!
Why does this matter? Imagine you start a development server for your web application in Gitpod. You can preview that online at a https://nnnn-x.y.gitpod.io URL, where “nnnn” is the port your dev server listens on. Sometimes though, development features such as live reloading may not be compatible with that URL format and rather require something like http://localhost:10000 to communicate with the dev server.
With the Gitpod Local Companion app, localhost URLs can now access your dev server running in a Gitpod workspace. The best part of that: It works with any TCP port. You could run a MySQL database in your Gitpod workspace and access the database with your favourite GUI through localhost:3306.
To learn more and get started today, please see our introduction blog post.
Fixes and improvements
- #4548 - Breaking Change: Make ports configured in
.gitpod.yml
private by default when no value forvisibility
is given (was public). This change is for security reasons. - #4614 - Added a deprecation warning for Theia.
- #4543 - Deprecate
prebuild
task ingitpod.yml
. - #4542 - Remove
ide
task ingitpod.yml
. - #4524 - Remove deprecated
openModes
in `.gitpod.yml. - #4633 - Fix gp open/preview to await till VS Code UI is available.
- #3259 - Support VS Code web extensions which are running in a browser worker, (particularly Vim).
- #2879 - Fix unvalidated redirects (credit: Arif Khan from SaveBreach Team).
- #4580 - Support workspace sharing from VS Code.
- #4627 - Deprecate user uploaded extensions.
- #4560 - Fix out of order typing in terminals.
- #4589 - Add dodo to animals (thanks @a2br!).
- #4287 - Modify the “New Git Integration” experience to align with provider terminology (thanks @jordanhailey!).
- #4401, #4490, #4571 - Implement a new Teams UI in the dashboard (behind a feature flag).

Faster, incremental prebuilds
With prebuilds, Gitpod continuously builds your developer environment so that it is ready-to-code by the time you start a new workspace.
So far, Gitpod started each prebuild from a clean slate. With this latest release, Gitpod now supports incremental prebuilds, which means Gitpod will try to re-use a prebuild from an earlier commit in order to create new prebuilds faster. In short, it now takes less time for your prebuild to be ready after a new commit is pushed to your Git provider.
Note: This is a controlled feature release so that we can measure the performance impact on projects. There is nothing you need to do other than wait and at some point experience quicker prebuild times 🚀.
Fixes and improvements
- #3995 - Implement new Self-Hosted setup flow.
- #4170 - Hide “stopping” & unpinned workspaces from “Active” in the dashboard.
- #4118 - Fix Cross Origin Websocket Access (credit: Joern Schneeweisz from the GitLab Security Research Team).

Hello Dark mode
We heard you and implemented a dashboard dark mode (PR #3901) 🌑! Head over to https://gitpod.io/preferences to pick the light or dark theme. Alternatively, select “System” and let us pick the theme that matches your system settings.
If you have specific feedback related to dark mode, please let us know in our feedback issue #3727 🙏🏻.
Fixes and improvements
- #3940 - Add OAuth2 host check (credit: Joern Schneeweisz from the GitLab Security Research Team).
- #4051 - Ask user for confirmation before deleting an environment variable.
- #4069 - Fix loading Gitpod’s dashboard in Safari less than v14.
- #3830 - Optimize Gitpod’s dashboard to make it lighter and load faster.
- #4018 - Make the Docker daemon in workspaces auto-start when needed by introducing a socket activated ‘sudo docker-up’.
- #3945 - UX: Fix accidental workspace deletion when using the ‘Enter’ key.
- #3938 - Also show environment variables with identical names but different scopes in the dashboard.
- #3866 - Fix quantity type conversion in Team plans.

🍊 Dashboard Redesign
Aligned with our Next Chapter for Gitpod announcement, we reimplemented and redesigned the Gitpod dashboard!
Technical improvements under the hood result in a more performant, snappier dashboard. We would love to hear your feedback and learn how we can provide you with an even better experience. Please provide your comments in our feedback issue #3727 🙏🏻.

Synchronize Theia user settings with VS Code
We recently launched support for VS Code.
If you switch your editor to VS Code, your user settings and extensions configured in Theia will be synchronized with VS Code automatically when you start a new workspace (unless you manually uploaded an extension).
Fixes and improvements
- #3087 - Remove the privileged feature flag.
- #3175 - Fix Env Var context parsing.
- #3177 - [supervisor] Let supervisor fail when first IDE start fails.
- #3182 - [registry-facade] Remove feature flag.
- #3228 - Allow air-gap Gitpod installations.
- Improved workspace startup time in high-load situations.
- Started to adopt the controller framework which will lead to Gitpod producing less load on the Kubernetes API.