chore: update change log to v2.10.0 and install docs for release channels (#12863)

* 2.10.0 changelog

* updated install docs for mainline/stable releases

* make fmt

* cpp icon -> C++

* added disclaimer on MAX_TTL, support bundle info

* 'release schedule'

* lowercase mainline

* Agent OOM protection info

* minor tweak
This commit is contained in:
Stephen Kirby 2024-04-03 16:43:49 -05:00 committed by GitHub
parent bf19e3469f
commit a7234f61a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 211 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

130
docs/changelogs/v2.10.0.md Normal file
View File

@ -0,0 +1,130 @@
## Changelog
> [!NOTE]
> This is a mainline Coder release. We advise enterprise customers without a staging environment to install our [latest stable release](https://github.com/coder/coder/releases/latest) while we refine this version. Learn more about our [Release Schedule](../install/releases.md).
### BREAKING CHANGES
- Removed `max_ttl` from templates (#12644) (@Emyrk)
> Maximum Workspace Lifetime, or `MAX_TTL`, has been removed from the product in favor of Autostop Requirement. Max Lifetime was designed to automate workspace shutdowns to enable security policy enforcement, enforce routine updates, and reduce idle resource costs.
>
> If you use Maximum Lifetime in your templates, workspaces will no longer stop at the end of this timer. Instead, we advise migrating to Autostop Requirement.
>
> Autostop Requirement shares the benefits of `MAX_TTL`, but also respects user-configured quiet hours to avoid forcing shutdowns while developers are connected.
>
> We only completely deprecate features after a 2-month heads up in the UI.
### Features
- Make agent stats' cardinality configurable (#12535) (@dannykopping)
- Upgrade tailscale fork to set TCP options for performance (#12574) (@spikecurtis)
- Add AWS IAM RDS Database auth driver (#12566) (@f0ssel)
- Support Windows containers in bootstrap script (#12662) (@kylecarbs)
- Add `workspace_id` to `workspace_build` audit logs (#12718) (@sreya)
- Make OAuth2 provider not enterprise-only (#12732) (@code-asher)
- Allow number options with monotonic validation (#12726) (@dannykopping)
- Expose workspace statuses (with details) as a prometheus metric (#12762) (@dannykopping)
- Agent: Support adjusting child process OOM scores (#12655) (@sreya)
> This opt-in configuration protects the Agent process from crashing via OOM. To prevent the agent from being killed in most scenarios, set `CODER_PROC_PRIO_MGMT=1` on your container.
- Expose HTTP debug server over tailnet API (#12582) (@johnstcn)
- Show queue position during workspace builds (#12606) (@dannykopping)
- Unhide support bundle command (#12745) (@johnstcn)
> The Coder support bundle grabs a variety of deployment health information to improve and expedite the debugging experience.
> ![Coder Support Bundle](https://raw.githubusercontent.com/coder/coder/main/docs/changelogs/images/support-bundle.png)
- Add golden tests for errors (#11588) (#12698) (@elasticspoon)
- Enforce confirmation before creating bundle (#12684) (@johnstcn)
- Add enabled experiments to telemetry (#12656) (@dannykopping)
- Export metric indicating each experiment's status (#12657) (@dannykopping)
- Add sftp to insights apps (#12675) (@mafredri)
- Add `template_usage_stats` table and rollup query (#12664) (@mafredri)
- Add `dbrollup` service to rollup insights (#12665) (@mafredri)
- Use `template_usage_stats` in `GetTemplateInsights` query (#12666) (@mafredri)
- Use `template_usage_stats` in `GetTemplateInsightsByInterval` query (#12667) (@mafredri)
- Use `template_usage_stats` in `GetTemplateAppInsights` query (#12669) (@mafredri)
- Use `template_usage_stats` in `GetUserLatencyInsights` query (#12671) (@mafredri)
- Use `template_usage_stats` in `GetUserActivityInsights` query (#12672) (@mafredri)
- Use `template_usage_stats` in `*ByTemplate` insights queries (#12668) (@mafredri)
- Add debug handlers for logs, manifest, and token to agent (#12593) (@johnstcn)
- Add linting to all examples (#12595) (@mafredri)
- Add C++ icon (#12572) (@michaelbrewer)
- Add support for `--mainline` (default) and `--stable` (#12858) (@mafredri)
- Make listening ports scrollable (#12660) (@BrunoQuaresma)
- Fetch agent network info over tailnet (#12577) (@johnstcn)
- Add client magicsock and agent prometheus metrics to support bundle (#12604) (@johnstcn)
### Bug fixes
- Server: Fix data race in TestLabelsAggregation tests (#12578) (@dannykopping)
- Dashboard: Hide actions and notifications from deleted workspaces (#12563) (@aslilac)
- VSCode: Importing api into vscode-coder (#12570) (@code-asher)
- CLI: Clean template destination path for `pull` (#12559) (@dannykopping)
- Agent: Ensure agent token is from latest build in middleware (#12443) (@f0ssel)
- CLI: Handle CLI default organization when none exists in <v2.9.0 coderd (#12594) (@Emyrk)
- Server: Separate signals for passive, active, and forced shutdown (#12358) (@kylecarbs)
- Docs: Correct typo error about minTerraformVersion (#12621) (@garylavayou)
- Docs: Correct troubleshooting links (#12608) (@dannykopping)
- Server: Prevent single replica proxies from staying unhealthy (#12641) (@deansheather)
- Database: Implicit schema in dump (#12646) (@mtojek)
- Server: Disable workspace auto-create if external auth requirements aren't met (#12538) (@aslilac)
- Server: Allow proxy version mismatch (with warning) (#12433) (@deansheather)
- Server: Disable relay if built-in DERP is disabled (#12654) (@coadler)
- Dashboard: Create workspace with optional auth providers (#12729) (@aslilac)
- Always use bash when executing web terminal tests (#12755) (@aslilac)
- Server: Nil ptr dereference when removing a license (#12785) (@coadler)
- Use latest coder/tailscale (@spikecurtis)
- Agent: remove unused token debug handler (#12602) (@johnstcn)
- CLI: Show error/hide help for unsupported subcommands (#10760) (#12624) (@elasticspoon)
- CLI: Port-forward: update workspace last_used_at (#12659) (@johnstcn)
- CLI: Fix newline escape sequence in support blurb (#12749) (@johnstcn)
- Server: Skip logging error for cancelled query in agent report stats (#12730) (@mafredri)
- Server: Add timeout to websocket waitgroup on shutdown (#12754) (@coadler)
- Server: Use insights for DAUs, simplify metricscache (#12775) (@mafredri)
- API: always write agent stats when provided (#12699) (@mafredri)
- Database: Improve data exclusion in `UpsertTemplateUsageStats` (#12764) (@mafredri)
- Database: Improve query performance of `GetTemplateAppInsights` (#12767) (@mafredri)
- Database: Improve performance of `GetTemplateInsightsByInterval` (#12773) (@mafredri)
- Database: Add FK index for `workspace_agent_scripts` (#12791) (@mafredri)
- API: Abort in-progress writes/reads when closing websocket (#12650) (@ammario)
- Update base image in lima/coder.yaml example, remove usage of deprecated LIMA_CIDATA (#12613) (@johnstcn)
- Removed hardcoded public (#12620) (@95gabor)
- API: change test to use bash script instead of binary echo (#12759) (@spikecurtis)
- Dashboard: Display not found page when pagination page is invalid (#12611) (@BrunoQuaresma)
- Dashboard: Fix and improve pending state on template editor UI (#12766) (@BrunoQuaresma)
- Also sanitize agent environment (#12615) (@johnstcn)
- Sanitize manifest for tests (#12711) (@johnstcn)
### Documentation
- Add updated architecture diagrams (#12584) (@ericpaulsen)
- Describe reference architectures (#12609) (@mtojek)
- Use scale testing utility (#12643) (@mtojek)
- Describe Coder's operational readiness (#12723) (@mtojek)
- Add guide for JFrog Xray integration (#12629) (@matifali)
- Document how to run workspace-proxy as a system service (#12810) (@michaelbrewer)
- Describe mutually exclusive create workspace template fields (#12834) (@Emyrk)
- Describe single region and multi-region deployments (#12779) (@mtojek)
- Fix coder-logstream-kube typo in deployment-logs.md (#12845) (@toshikish)
- Remove phone number, we do not offer phone support yet (#12658) (@bpmct)
### Performance improvements
- Optimize `GetWorkspaceAgentAndLatestBuildByAuthToken` query (#12809) (@mafredri)
### Tests
- Apptest was accidently choosing ports in use (#12580) (@Emyrk)
- Ensure `RequireActiveVersion` is actually set when testing with AGPL store (#12843) (@aslilac)
- Add an E2E test for removing a group (#12844) (@aslilac)
- Enable `dbrollup` service for insights tests (#12673) (@mafredri)
- Fix TODO for increased accuracy in insights test (#12727) (@mafredri)
- Fix template name too long in TestPatchTemplateMeta (#12781) (@mafredri)
Compare: [`v2.9.0...v2.10.0`](https://github.com/coder/coder/compare/v2.9.0...v2.10.0)
## Container image
- `docker pull ghcr.io/coder/coder:v2.10.0`
## Install/upgrade
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.

View File

@ -2,6 +2,9 @@
A single CLI (`coder`) is used for both the Coder server and the client.
We support two release channels: mainline and stable - read the
[Releases](./releases.md) page to learn more about which best suits your team.
There are several ways to install Coder. For production deployments with 50+
users, we recommend [installing on Kubernetes](./kubernetes.md). Otherwise, you
can install Coder on your local machine or on a VM:

View File

@ -7,6 +7,15 @@ You'll also want to install the
[latest version of Coder](https://github.com/coder/coder/releases/latest)
locally in order to log in and manage templates.
> Coder supports two release channels: mainline for the true latest version of
> Coder, and stable for large enterprise deployments. Before installing your
> control plane via Helm, please read the [Releases](./releases.md) document to
> identify the best-suited release for your team, then specify the version using
> Helm's `--version` flag.
> The version flags for both stable and mainline are automatically filled in
> this page.
## Install Coder with Helm
1. Create a namespace for Coder, such as `coder`:
@ -112,10 +121,22 @@ locally in order to log in and manage templates.
1. Run the following command to install the chart in your cluster.
For the **mainline** Coder release:
```shell
helm install coder coder-v2/coder \
--namespace coder \
--values values.yaml
--values values.yaml \
--version 2.10.0
```
For the **stable** Coder release:
```shell
helm install coder coder-v2/coder \
--namespace coder \
--values values.yaml \
--version 2.9.1
```
You can watch Coder start up by running `kubectl get pods -n coder`. Once

56
docs/install/releases.md Normal file
View File

@ -0,0 +1,56 @@
# Releases
Coder releases are cut directly from main in our
[Github](https://github.com/coder/coder) on the first Tuesday of each month.
We recommend enterprise customers test the compatibility of new releases with
their infrastructure on a staging environment before upgrading a production
deployment.
We support two release channels:
[mainline](https://github.com/coder/coder/2.10.0) for the edge version of Coder
and [stable](https://github.com/coder/coder/releases/latest) for those with
lower tolerance for fault. We field our mainline releases publicly for two weeks
before promoting them to stable.
### Mainline releases
- Intended for customers with a staging environment
- Gives earliest access to new features
- May include minor bugs
- All bugfixes and security patches are supported
### Stable releases
- Safest upgrade/installation path
- May not include the latest features
- Security vulnerabilities and major bugfixes are supported
> Note: We support major security vulnerabilities (CVEs) for the past three
> versions of Coder.
## Installing stable
When installing Coder, we generally advise specifying the desired version from
our Github [releases page](https://github.com/coder/coder/releases).
You can also use our `install.sh` script with the `stable` flag to install the
latest stable release:
```shell
curl -fsSL https://coder.com/install.sh | sh -s -- --stable
```
Best practices for installing Coder can be found on our [install](./index.md)
pages.
## Release schedule
| Release name | Date | Status |
| ------------ | ------------------ | ---------------- |
| 2.7.0 | January 01, 2024 | Not Supported |
| 2.8.0 | Februrary 06, 2024 | Security Support |
| 2.9.0 | March 07, 2024 | Stable |
| 2.10.0 | April 03, 2024 | Mainline |
| 2.11.0 | May 07, 2024 | Not Released |
| 2.12.0 | June 04, 2024 | Not Released |