diff --git a/docs/changelogs/images/support-bundle.png b/docs/changelogs/images/support-bundle.png new file mode 100644 index 0000000000..c4046edcd6 Binary files /dev/null and b/docs/changelogs/images/support-bundle.png differ diff --git a/docs/changelogs/v2.10.0.md b/docs/changelogs/v2.10.0.md new file mode 100644 index 0000000000..9d7b76a88f --- /dev/null +++ b/docs/changelogs/v2.10.0.md @@ -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 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 diff --git a/docs/install/releases.md b/docs/install/releases.md new file mode 100644 index 0000000000..701c9793e4 --- /dev/null +++ b/docs/install/releases.md @@ -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 |