- web: Renamed environments to workspaces. URLs containing environment should redirect to use workspace. It is possible that some URLs will not link to the expected resource.
- web: Added the ability to specify a workspace templates filepath other than the default coder.yaml
- web: Moved built-in sign-in behind a toggle so that it does not display when OIDC is configured for authentication
- web: Updated color scheme on the sign-in page
- web: Added dev URL support in workspace templates
- web: Added admin toggle for workspace templates feature
- web: Added Bitbucket Server support for workspace templates
- infra: Added
CODER_WP_NAMEenvironment variable to workspaces
- cli: Added ability to cordon and uncordon workspace providers which will allow/disallow new workspaces from being provisioned on a specific provider
- cli: Added ability to rename workspace providers
- web: Improved error notifications with additional details and resolutions. Added Tip, Error Type, and enumerations for workspace templates errors.
- infra: Added a background job to update templates
- web: Added a workspace status indicator in the Switch Workspace selector
- web: Added a tooltip with an error message for workspace status indicators
- jetbrains: Enabled JetBrains IDE support by default and removed the feature flag
- web: Added an alpha feature flag for testing connections to Coder using WebRTC
- web: Fixed bug causing re-authentication whenever an external link to Coder is used. Most notably, re-authentication will not be required when clicking Open in Coder buttons
- web: Fixed the inability to delete an empty organization while workspaces were awaiting deletion in the background
- web: Improved error messages regarding attempts to import a workspace template from a repository using an SSH URI
- infra: Fixed a bug that had allowed updates to be made to workspaces created from local template
- web: Fixed CVE-2021-27290 by updating NextJS
- web: Improved audit logs generated in background processes. Previously, these logs appeared as the site admin user and did not capture request details. They now capture and pass through details from the requestor.