|
| 1 | +We are thrilled to release Coder v2.0.0. You can safely upgrade from any previous |
| 2 | +[coder/coder](https://github.com/coder/coder) release, |
| 3 | +but we feel like we have outgrown development (v0.x) releases: |
| 4 | + |
| 5 | +- 1600+ users develop on Coder every day |
| 6 | +- A single 4-core Coder server can [happily support](https://coder.com/docs/v2/latest/admin/scale) 1000+ users and workspace connections |
| 7 | +- We have a full suite of [paid features](https://coder.com/docs/v2/latest/enterprise) and enterprise customers deployed in production |
| 8 | +- Users depend on our CLI to [automate Coder](https://coder.com/docs/v2/latest/admin/automation) in Ci/Cd pipelines and templates |
| 9 | + |
| 10 | +Why not v1.0? At the time of writing, our legacy product is currently on v1.34. While Coder v1 is being sunset, we still wanted to avoid versioning conflicts. |
| 11 | + |
| 12 | +What is not changing: |
| 13 | + |
| 14 | +- Our feature roadmap: See what we have planned at https://coder.com/roadmap |
| 15 | +- Your upgrade path: You can safely upgrade from previous coder/coder releases to v2.x releases! |
| 16 | +- Our release cadence: We want features out as quickly as possible and feature flag any work that isn’t ready for production yet! |
| 17 | + |
| 18 | +What is changing: |
| 19 | + |
| 20 | +- Our deprecation policy: Major features will be deprecated for at least 1 minor release before being removed. Any breaking changes to the REST API and SDK are done via minor releases and will be called out in our changelog. |
| 21 | +- Regular scale testing: Follow along on our [ Google Sheets or Grafana dashboard ] |
| 22 | + |
| 23 | +Questions? Feel free to ask in [our Discord](https://discord.gg/coder) or email ben@coder.com! |
| 24 | + |
| 25 | +## Changelog |
| 26 | + |
| 27 | +### BREAKING CHANGES |
| 28 | + |
| 29 | +- RBAC: The default [Member role](https://coder.com/docs/v2/latest/admin/users) can no longer see a list of all users in a Coder deployment. The Template Admin role and above can still use the `Users` page in dashboard and query users via the API (#8650) (@Emyrk) |
| 30 | +- Kubernetes (Helm): The [default ServiceAccount](https://github.com/coder/coder/blob/8d0e8f45e0fb3802d777a396b4c027ab9788e1b8/helm/values.yaml#L67-L82) for Coder can provision `Deployments` on the cluster. (#8704) (@ericpaulsen) |
| 31 | + - This can be disabled by a [Helm value](https://github.com/coder/coder/blob/8d0e8f45e0fb3802d777a396b4c027ab9788e1b8/helm/values.yaml#L78) |
| 32 | + - Our [Kubernetes example template](https://github.com/coder/coder/tree/main/examples/templates/kubernetes) uses a `kubernetes_deployment` instead of `kubernetes_pod` since it works best with [log streaming](https://coder.com/docs/v2/latest/platforms/kubernetes/deployment-logs) in Coder. |
| 33 | + |
| 34 | +### Features |
| 35 | + |
| 36 | +- Template insights: Admins can see daily active users, user latency, and popular IDEs (#8722) (@BrunoQuaresma) |
| 37 | +  |
| 38 | +- [Kubernetes log streaming](https://coder.com/docs/v2/latest/platforms/kubernetes/deployment-logs): Stream Kubernetes event logs to the Coder agent logs to reveal Kuernetes-level issues such as ResourceQuota limitations, invalid images, etc. |
| 39 | +  |
| 40 | +- [OIDC Role Sync](https://coder.com/docs/v2/latest/admin/auth#group-sync-enterprise) (Enterprise): Sync roles from your OIDC provider to Coder roles (e.g. `Template Admin`) (#8595) (@Emyrk) |
| 41 | +- Users can convert their accounts from username/password authentication to SSO by linking their account (#8742) (@Emyrk) |
| 42 | +  |
| 43 | +- CLI: Added `--var` shorthand for `--variable` in `coder templates <create/push>` CLI (#8710) (@ammario) |
| 44 | +- Accounts are marked as dormant after 90 days of inactivity and do not consume a license seat. When the user logs in again, their account status is reinstated. (#8644) (@mtojek) |
| 45 | +- Groups can have a non-unique display name that takes priority in the dashboard (#8740) (@Emyrk) |
| 46 | +- Dotfiles: Coder checks if dotfiles install script is executable (#8588) (@BRAVO68WEB) |
| 47 | +- CLI: Added `--var` shorthand for `--variable` in `coder templates <create/push>` CLI (#8710) (@ammario) |
| 48 | +- Sever logs: Added fine-grained [filtering](https://coder.com/docs/v2/latest/cli/server#-l---log-filter) with Regex (#8748) (@ammario) |
| 49 | +- d3991fac2 feat(coderd): add parameter insights to template insights (#8656) (@mafredri) |
| 50 | +- Agent metadata: In cases where Coder does not receive metadata in time, we render the previous "stale" value. Stale values are grey versus the typical green color. (#8745) (@BrunoQuaresma) |
| 51 | +- [Open in Coder](https://coder.com/docs/v2/latest/templates/open-in-coder): Generate a link that automatically creates a workspace on behalf of the user, skipping the "Create Workspace" form (#8651) (@BrunoQuaresma) |
| 52 | + - e85b88ca9 feat(site): add restart button when workspace is unhealthy (#8765) (@BrunoQuaresma) |
| 53 | + |
| 54 | +### Bug fixes |
| 55 | + |
| 56 | +- Do not wait for devcontainer template volume claim bound (#8539) (@Tirzono) |
| 57 | +- Prevent repetition of template IDs in `template_usage_by_day` (#8693) (@mtojek) |
| 58 | +- Unify parameter validation errors (#8738) (@mtojek) |
| 59 | +- Request trial after password is validated (#8750) (@kylecarbs) |
| 60 | +- Fix `coder stat mem` calculation for cgroup v1 workspaces (#8762) (@sreya) |
| 61 | +- Intiator user fields are included in the workspace build (#8836) (@Emyrk) |
| 62 | +- Fix tailnet netcheck issues (#8802) (@deansheather) |
| 63 | +- Avoid infinite loop in agent derp-map (#8848) (@deansheather) |
| 64 | +- Avoid agent runLoop exiting due to ws ping (#8852) (@deansheather) |
| 65 | +- Add read call to derp-map endpoint to avoid ws ping timeout (#8859) (@deansheather) |
| 66 | +- Show current DERP name correctly in vscode (#8856) (@deansheather) |
| 67 | +- Apply log-filter to debug logs only (#8751) (@ammario) |
| 68 | +- Correctly print deprecated warnings (#8771) (@ammario) |
| 69 | +- De-duplicate logs (#8686) (@ammario) |
| 70 | +- Always dial agents with `WorkspaceAgentIP` (#8760) (@coadler) |
| 71 | +- Ensure creating a SCIM user is idempotent (#8730) (@coadler) |
| 72 | +- Send build parameters over the confirmation dialog on restart (#8660) (@BrunoQuaresma) |
| 73 | +- Fix error 'Reduce of empty array with no initial value' (#8700) (@BrunoQuaresma) |
| 74 | +- Fix latency values (#8749) (@BrunoQuaresma) |
| 75 | +- Fix metadata value changing width all the time (#8780) (@BrunoQuaresma) |
| 76 | +- Show error when user exists (#8864) (@BrunoQuaresma) |
| 77 | +- Fix initial value for update parameters (#8863) (@BrunoQuaresma) |
| 78 | +- Track agent names for http debug (#8744) (@coadler) |
| 79 | + |
| 80 | +### Documentation |
| 81 | + |
| 82 | +- Explain JFrog integration 🐸 (#8682) (@ammario) |
| 83 | +- Allow multiple Coder deployments to use single GitHub OAuth app (#8786) (@matifali) |
| 84 | +- Remove Microsoft VS Code Server docs (#8845) (@ericpaulsen) |
| 85 | + |
| 86 | +### Reverts |
| 87 | + |
| 88 | +- Make [pgCoordinator](https://github.com/coder/coder/pull/8044) experimental again (#8797) (@coadler) |
| 89 | + |
| 90 | +Compare: [`v0.27.0...v2.0.0`](https://github.com/coder/coder/compare/v0.27.0...v2.0.0) |
| 91 | + |
| 92 | +## Container image |
| 93 | + |
| 94 | +- `docker pull ghcr.io/coder/coder:v2.0.0` |
| 95 | + |
| 96 | +## Install/upgrade |
| 97 | + |
| 98 | +Refer to our docs to [install](https://coder.com/docs/v2/latest/install) or [upgrade](https://coder.com/docs/v2/latest/admin/upgrade) Coder, or use a release asset below. |
0 commit comments