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.
- #8248 - Add user environment variable name length and value length validation in settings UI modal.
- #9831 - Add
staticMessagebusPasswordconfig 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
disableDbMigrationconfig flag to the installer to disable db migrations
- #9788 - Allow setting
openvsx-proxyservice annotations via the installer.
- #9773 - Allow setting
proxyservice annotations via the installer.
- #9756 - Make
runDbDeleterfor the server configurable via the installer
- #9764 - Allow
proxyservice 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-bridgeservice 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
- #9630 - Allow
defaultBaseImageRegistryWhitelistserver 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
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.
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.
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.
- #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
- #9381 - Update code to 1.66.2
- #9367 - Update OpenSSH to v9.0
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.
- #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.
You can now run privileged containers in Gitpod!
# example docker run --privileged -it busybox sh
The host file system, in this case, is your Gitpod workspace. Don’t worry, it’s ephemeral!
- #8459 - Made the
gitpod.io/cpuLimitannotation 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
- #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-managerfrom 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
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.
- #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)
- #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-configflag 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
-coptional 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
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.
This change may impact you if you are intentionally sharing a private repository using a snapshot, say for an interview.
- 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.
As always, please contact Gitpod if you have any feedback to share with us.
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
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 🚀
- #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
totalInstancesfields 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
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:
For an up-to-date list of available images, please refer to this list.
.gitpod.yml, all you need to do is add the following line:
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.
- #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.parseToURLsupport the newly-accepted
- #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
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.
- #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
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.
- #7422 - Support creating Projects for Bitbucket and Self-Managed GitLab repositories.
- #7383 - Automatically propose a configuration for non-configured repositories.
- #7392 - Automatically propose VS Code extensions for yet unconfigured repositories..
- #7031 - Incremental prebuilds project settings.
- #7391 - Use owner and repo name for workspace id.
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.
- #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
- #6621 - Allow use of external container registry
- #6606 - Add support for GCP CloudSQL
- #6543 - Make the installer updatable
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.
You can now create teams (as many as you want) and invite your co-workers, friends & family to collaborate on your projects.
.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.
#5695 - Allows renaming of workspace description.
#5918 - [prebuilds] fix prebuild logs with multiple tasks
#5787 - improve websocket reconnection handling in the frontend
#5633 - Update code to 1.60.0
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 😉.
- #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
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:
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.
- #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.
0.10.0 and updated the documentation to match. Head over to the docs for getting started.
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.
- #4548 - Breaking Change: Make ports configured in
.gitpod.ymlprivate by default when no value for
visibilityis given (was public). This change is for security reasons.
- #4614 - Added a deprecation warning for Theia.
- #4543 - Deprecate
- #4542 - Remove
- #4524 - Remove deprecated
- #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).
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 🚀.
- #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).
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 🙏🏻.
- #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.
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 🙏🏻.
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).
- #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.