From 1111489a3f5ea6d5d82b9e6e6f819785a83a1a06 Mon Sep 17 00:00:00 2001 From: Katie Horne Date: Wed, 27 Apr 2022 14:11:08 -0500 Subject: [PATCH 1/6] Release 1.30.0 (#952) (cherry picked from commit 553e282c030be345eaf6e39665a223134fe81eec) --- admin/access-control/manage.md | 18 +++- admin/git.md | 27 ++++-- admin/workspace-management/cvms/management.md | 18 +++- admin/workspace-management/limits.md | 16 ++++ .../self-contained-builds.md | 32 ++++--- assets/guides/admin/file-download.png | Bin 0 -> 115901 bytes changelog/1.30.0.md | 87 ++++++++++++++++++ changelog/{ => archive}/1.26.0.md | 0 changelog/{ => archive}/1.26.1.md | 0 changelog/{ => archive}/1.26.2.md | 0 changelog/{ => archive}/1.26.3.md | 0 changelog/{ => archive}/1.26.4.md | 0 guides/admin/disable-downloads.md | 22 +++++ guides/tls-certificates/azureDNS.md | 2 +- guides/tls-certificates/cloudDNS.md | 2 +- guides/tls-certificates/cloudflare.md | 2 +- guides/tls-certificates/route53.md | 2 +- manifest.json | 43 ++++++--- setup/coder-for-docker/local.md | 6 +- setup/coder-for-docker/upgrade.md | 4 +- setup/kubernetes/index.md | 1 + workspaces/preferences.md | 15 ++- 22 files changed, 245 insertions(+), 52 deletions(-) create mode 100644 admin/workspace-management/limits.md create mode 100644 assets/guides/admin/file-download.png create mode 100644 changelog/1.30.0.md rename changelog/{ => archive}/1.26.0.md (100%) rename changelog/{ => archive}/1.26.1.md (100%) rename changelog/{ => archive}/1.26.2.md (100%) rename changelog/{ => archive}/1.26.3.md (100%) rename changelog/{ => archive}/1.26.4.md (100%) create mode 100644 guides/admin/disable-downloads.md diff --git a/admin/access-control/manage.md b/admin/access-control/manage.md index a54198144..ee9cd585d 100644 --- a/admin/access-control/manage.md +++ b/admin/access-control/manage.md @@ -16,7 +16,8 @@ article. ## Coder's OIDC claims -Coder expects the following [OIDC claims](https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#whats-a-claim) +Coder expects the following +[OIDC claims](https://developer.okta.com/blog/2017/07/25/oidc-primer-part-1#whats-a-claim) from your OIDC provider: - `email` (required) @@ -65,6 +66,21 @@ you: to log in with an email/password option when you've enabled OIDC authentication +### Logging + +If you're having issues with your OIDC configuration, you can enable additional +logging of OIDC tokens to aid in troubleshooting. + +To do so, [update your Helm chart](../../guides/admin/helm-charts.md) and set +the `OIDC_DEBUG` environment variable to `true`: + +```yaml +coderd: + extraEnvs: + - name: "OIDC_DEBUG" + value: "true" +``` + ### Disable built-in authentication You can disable built-in authentication as an option for accessing Coder if you diff --git a/admin/git.md b/admin/git.md index 11c363a83..75753c281 100644 --- a/admin/git.md +++ b/admin/git.md @@ -26,8 +26,8 @@ Coder integrates with the following service providers for authentication and Linking your Coder account with a git service provider is _not_ required. Instead, you can use Visual Studio Code with git, the command-line tool, and we -expect that this combination will work with most hosting software or services. -However, Coder doesn't test these and cannot provide recommendations or support. +expect this combination to work with most hosting software or services. However, +Coder doesn't test these and cannot provide recommendations or support. > Ensure that your Git provider supports the keygen algorithm that Coder uses; > you can choose the algorithm in **Manage** > **Admin** > **Security** > @@ -38,8 +38,16 @@ However, Coder doesn't test these and cannot provide recommendations or support. ## Configuring OAuth Before developers can link their accounts, you (or another site manager) must -create an OAuth application with the appropriate providers. When registering, -you'll be asked for the following details related to your Coder deployment. +create an OAuth application with the appropriate providers. You can create as +many OAuth applications as necessary. + +1. Log into Coder as a site manager, and go to **Manage** > **Admin** > **Git + OAuth**. +1. Click **Add provider**. +1. Select your **Provider** (e.g., GitHub, GitLab, or Bitbucket Server). +1. Create an OAuth application with your Git provider and provide Coder with the + requested details (the parameters required vary based on your Git provider). + See the following sections for additional guidance. ### GitHub @@ -54,7 +62,9 @@ ask you for the following Coder parameters: `[your-coder-domain]/oauth/callback` (e.g. `https://coder.domain.com/oauth/callback`) -Then, provide your **Client ID** and **Client Secret** to Coder. +Then, in Coder, provide a **Name** for your app, your **URL**, **Client ID**, +and **Client Secret** to Coder. You can also provide an optional +**Description**. When done, click **Save**. @@ -73,7 +83,9 @@ enabled the following: - **Confidential**: Check this option - **API** (scope): Check this option -Then, provide your **Client ID** and **Client Secret** to Coder. +Then, in Coder, provide a **Name** for your app, your **URL**, **Application +ID**, and **Client Secret** to Coder. You can also provide an optional +**Description**. When done, click **Save**. @@ -93,4 +105,7 @@ For your newly created Application Link, provide the following values as your - **Public Key**: Your public key (available from the Coder Admin Configuration page) +Then, in Coder, provide a **Name** for your app, your **URL**, and, optionally, +a **Description**. + When done, click **Save**. diff --git a/admin/workspace-management/cvms/management.md b/admin/workspace-management/cvms/management.md index 5aab64d23..4c6bcdcaf 100644 --- a/admin/workspace-management/cvms/management.md +++ b/admin/workspace-management/cvms/management.md @@ -9,13 +9,27 @@ a site manager must enable CVMs. To do so: 1. Go to **Manage > Admin > Infrastructure**. 1. Toggle the **Enable Container-Based Virtual Machines** option to **Enable**. -This section also describes the customization features that Coder offers for -CVMs: +## Customization + +Once you've enabled CVMs, you can customize the behavior of your deployment and +workspaces. ![CVM Settings](../../../assets/admin/cvm-settings.png) These settings will apply to workspaces **after** they have been rebuilt. +## Default workspaces to CVMs + +Once you've enabled CVMs, you can control whether all new workspaces should be +built as a CVM or not. + +If you would like all newly created workspaces to be CVMs, toggle **Default to +container-based virtual machines** to **On**. + +> While this toggle changes the default workspace creation setting, users can still +> override this setting. For example, if you enable CVMS and set them as the +> default, a user can still create non-CVM workspaces (and vice versa). + ## Caching > Cached CVMs are currently an **alpha** feature. diff --git a/admin/workspace-management/limits.md b/admin/workspace-management/limits.md new file mode 100644 index 000000000..246b164e4 --- /dev/null +++ b/admin/workspace-management/limits.md @@ -0,0 +1,16 @@ +--- +title: "Workspace limits" +description: Learn how to limit the number of workspaces users can create. +--- + +You can set the maximum number of workspaces that each user can create. To do +so, [update your Helm chart](../../guides/admin/helm-charts.md) and set the +`CODER_MAX_WORKSPACES_PER_USER` parameter to the maximum allowable number: + +```yaml +# Allow each user to create no more than 100 workspaces +coderd: + extraEnvs: + - name: CODER_MAX_WORKSPACES_PER_USER + value: 100 +``` diff --git a/admin/workspace-management/self-contained-builds.md b/admin/workspace-management/self-contained-builds.md index ab9d8d1f1..80cd29855 100644 --- a/admin/workspace-management/self-contained-builds.md +++ b/admin/workspace-management/self-contained-builds.md @@ -1,27 +1,35 @@ --- title: "Self-contained workspace builds" -description: Learn how to enable self-contained workspace builds. -state: alpha +description: Learn how to toggle self-contained workspace builds. --- -By default the Coder workspace boot sequence occurs remotely -- Coder uploads -assets (including the Coder agent, code-server, and JetBrains Projector) from -`coderd` to a workspace. +Currently, there are two ways in which the workspace boot sequence can occur: -However, Coder offers the option of using **self-contained workspace builds**. -Enabling this option changes the Coder deployment so that workspaces control the -boot sequence internally, with the workspace downloading assets from `coderd`. +1. Remotely: Coder uploads assets (including the Coder agent, code-server, and + JetBrains Projector) from `coderd` to a workspace. +1. Self-contained: workspaces control the boot sequence internally; the + workspace downloads assets from `coderd`. This requires `curl` to be + available in the image. -> At this time, Coder does not support certificate injection with -> self-contained workspace builds. +Beginning with v1.30.0, the default is **self-contained workspace builds**, +though site managers can toggle this feature off and opt for remote builds +instead. -To enable self-contained workspace builds: +> Coder plans to deprecate remote workspace builds in the future. + +To toggle self-contained workspace builds: 1. Log into Coder. 1. Go to Manage > Admin. 1. On the Infrastructure page, scroll down to **Workspace container runtime**. -1. Under **Enable self-contained workspace builds**, flip the toggle to **On**. +1. Under **Enable self-contained workspace builds**, flip the toggle to **On** + or **Off** as required. 1. Click **Save workspaces**. > Build errors are typically more verbose for remote builds than with > self-contained builds. + +## Known issues + +At this time, Coder does not support certificate injection with self-contained +workspace builds. diff --git a/assets/guides/admin/file-download.png b/assets/guides/admin/file-download.png new file mode 100644 index 0000000000000000000000000000000000000000..143b9caff93f1e0e7b228792764f2eb8424359e3 GIT binary patch literal 115901 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 z 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 literal 0 HcmV?d00001 diff --git a/changelog/1.30.0.md b/changelog/1.30.0.md new file mode 100644 index 000000000..20a4c3ae7 --- /dev/null +++ b/changelog/1.30.0.md @@ -0,0 +1,87 @@ +--- +title: "1.30.0" +description: "Released on 04/27/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.30.0. + +### Features ✨ + +- web: added + [admin toggle that sets whether new workspaces are CVMs or not](../admin/workspace-management/cvms/management.md#default-workspaces-to-cvms) + (if CVMs are enabled for the deployment). +- web: added support for the use of + [multiple Git OAuth providers](../admin/git.md). +- web: added ability to + [choose webRTC mode](../workspaces/preferences.md#networking). +- infra: upgraded code-server to v4.3.0 (featuring VS Code v1.65.2). +- infra: added ability for an admin to + [disable the download files function](../guides/admin/disable-downloads.md) + from the web IDE's tree view. +- infra: added ability to toggle + [logging of OIDC tokens](../admin/access-control/manage.md#logging). +- infra: mounted additional NVIDIA GPU libraries (specifically the GL/GLX + libraries) from the host into CVMs if users request GPUs. +- infra: added `CODER_MAX_WORKSPACES_PER_USER` environment variable to `coderd` + that + [controls the maximum number of workspaces allowed to each user](../admin/workspace-management/limits.md). +- infra: improved Bitbucket server account linking error messages to help debug + integration issues. +- infra: updated Coder so that + [self-contained builds](../admin/workspace-management/self-contained-builds.md) + are now the default. +- infra: updated Sysbox to version 0.5.0. + +### Bug fixes πŸ› + +- web: fixed issue where dev URLs created via configure scripts do not show in + the UI without a manual refresh. +- web: fixed issue with Projector navbar occasionally displaying. +- web: fixed issue where JetBrains 2022.1 IDE versions would not open in + Projector. +- web: fixed issue with EC2 provider workspaces hanging on build if a filesystem + issue prevented mounting user volumes. +- web: fixed issue where creating/editing an audit log results in two audit log + entries. +- web: fixed issue where changes to the Git URL in dotfiles aren’t included in + the audit log. +- web: fixed issue where air-gapped deployments wouldn’t render β€œOpen in Coder” + buttons. +- web: fixed issue where users could create new workspaces even when there were + no workspace providers configured for the organization. +- web: fixed metrics to track connections via SSH. +- infra: fixed scan error on metrics table caused by float being scanned as int. +- infra: fixed issue where the built-in provider respawns when `coderd` + restarts. +- infra: fixed issue where the Coder front-end attempts to reconnect to a + workspace even when it is offline. +- infra: updated Coder to return a 404 error instead of a 5xx error if `coderd` + cannot reach a workspace. +- infra: fixed issue where air-gapped deployments were unable to update admin + configuration settings. + +### Security updates πŸ” + +- infra: fixed issue with authorization controls that allowed unauthorized + editing of shells and dotfiles. +- infra: fixed issue where site managers could change a user’s login type to + built-in, even when built-in authentication is disabled in favor of OIDC + login. +- infra: added validation to URIs used in dotfiles. + +### Known issues πŸ”§ + +- web: the service banner (if enabled) reappears for all users, even if they've + previously dismissed it. +- web: using the web terminal in Coder can occasionally result in the connection + being reset and needing to be restarted. +- web: the **Switch workspace** drop-down menu shows a workspace's status as + **Building** even though the build process is completed. +- web: users installing v1.24 (or later) into an air-gapped environment cannot + upload their license when prompted. +- infra: workspaces using images without `curl` available (e.g., + `ubuntu:latest`) will fail to build on new Coder deployments with + self-contained workspace builds enabled. The workaround is to use a base image + with `curl` available (e.g., `codercom/enterprise-base:ubuntu`). diff --git a/changelog/1.26.0.md b/changelog/archive/1.26.0.md similarity index 100% rename from changelog/1.26.0.md rename to changelog/archive/1.26.0.md diff --git a/changelog/1.26.1.md b/changelog/archive/1.26.1.md similarity index 100% rename from changelog/1.26.1.md rename to changelog/archive/1.26.1.md diff --git a/changelog/1.26.2.md b/changelog/archive/1.26.2.md similarity index 100% rename from changelog/1.26.2.md rename to changelog/archive/1.26.2.md diff --git a/changelog/1.26.3.md b/changelog/archive/1.26.3.md similarity index 100% rename from changelog/1.26.3.md rename to changelog/archive/1.26.3.md diff --git a/changelog/1.26.4.md b/changelog/archive/1.26.4.md similarity index 100% rename from changelog/1.26.4.md rename to changelog/archive/1.26.4.md diff --git a/guides/admin/disable-downloads.md b/guides/admin/disable-downloads.md new file mode 100644 index 000000000..56306e0c4 --- /dev/null +++ b/guides/admin/disable-downloads.md @@ -0,0 +1,22 @@ +--- +title: File download disabling +description: Learn how to disable file downloading in Coder. +--- + +For security and compliance purposes, Coder site managers may choose to disable +the downloading of files from Coder's built-in IDEs: + +![File actions download option](../../assets/guides/admin/file-download.png) + +To do so, +[update your deployment's workspace template policy](../../admin/templates.md) +to include the following definition: + +```yaml +kubernetes: + env: + policy: append + value: + - key: "CS_DISABLE_FILE_DOWNLOADS" + value: "1" +``` diff --git a/guides/tls-certificates/azureDNS.md b/guides/tls-certificates/azureDNS.md index e83c348ee..202f39e4a 100644 --- a/guides/tls-certificates/azureDNS.md +++ b/guides/tls-certificates/azureDNS.md @@ -84,7 +84,7 @@ the domain you're using for your Coder deployment. cert-manager: ```console - kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml ``` 1. Check that cert-manager installs correctly by running diff --git a/guides/tls-certificates/cloudDNS.md b/guides/tls-certificates/cloudDNS.md index b8d32d41a..4575d9644 100644 --- a/guides/tls-certificates/cloudDNS.md +++ b/guides/tls-certificates/cloudDNS.md @@ -45,7 +45,7 @@ Add cert-manager to your cluster running: ```console -kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml +kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml ``` ## Option 2: Helm diff --git a/guides/tls-certificates/cloudflare.md b/guides/tls-certificates/cloudflare.md index a163b9914..7832f85e1 100644 --- a/guides/tls-certificates/cloudflare.md +++ b/guides/tls-certificates/cloudflare.md @@ -34,7 +34,7 @@ You must have: ## Step 1: Add cert-manager to your Kubernetes cluster ```console -kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml +kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml ``` More specifics can be found in the diff --git a/guides/tls-certificates/route53.md b/guides/tls-certificates/route53.md index d17200549..7ace78985 100644 --- a/guides/tls-certificates/route53.md +++ b/guides/tls-certificates/route53.md @@ -42,7 +42,7 @@ You should also: cert-manager: ```console - kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml ``` 1. Check that cert-manager installs correctly by running diff --git a/manifest.json b/manifest.json index 6b0a5eafd..c905ec7dd 100644 --- a/manifest.json +++ b/manifest.json @@ -1,5 +1,6 @@ { "versions": [ + "v1.30", "v1.29", "v1.28", "v1.27", @@ -328,6 +329,9 @@ { "path": "./admin/workspace-management/ssh-access.md" }, + { + "path": "./admin/workspace-management/limits.md" + }, { "path": "./admin/workspace-management/process-logging.md" } @@ -409,6 +413,9 @@ { "path": "./guides/admin/timescale-migration.md" }, + { + "path": "./guides/admin/disable-downloads.md" + }, { "path": "./guides/admin/helm-charts.md" }, @@ -562,6 +569,9 @@ { "path": "./changelog/index.md", "children": [ + { + "path": "./changelog/1.30.0.md" + }, { "path": "./changelog/1.29.0.md", "children": [ @@ -605,31 +615,36 @@ ] }, { - "path": "./changelog/1.26.0.md", + "path": "./changelog/archive/index.md", + "navigable": false, "children": [ { - "path": "./changelog/1.26.4.md" + "path": "./changelog/archive/1.26.4.md", + "navigable": false }, { - "path": "./changelog/1.26.3.md" + "path": "./changelog/archive/1.26.3.md", + "navigable": false }, { - "path": "./changelog/1.26.2.md" + "path": "./changelog/archive/1.26.2.md", + "navigable": false }, { - "path": "./changelog/1.26.1.md" - } - ] - }, - { - "path": "./changelog/archive/index.md", - "navigable": false, - "children": [ + "path": "./changelog/archive/1.26.1.md", + "navigable": false + }, + { + "path": "./changelog/archive/1.26.0.md", + "navigable": false + }, { - "path": "./changelog/archive/1.25.0.md" + "path": "./changelog/archive/1.25.0.md", + "navigable": false }, { - "path": "./changelog/archive/1.24.0.md" + "path": "./changelog/archive/1.24.0.md", + "navigable": false }, { "path": "./changelog/archive/1.23.1.md", diff --git a/setup/coder-for-docker/local.md b/setup/coder-for-docker/local.md index 55e350728..0d1302950 100644 --- a/setup/coder-for-docker/local.md +++ b/setup/coder-for-docker/local.md @@ -52,7 +52,7 @@ Coder for Docker works with the following platforms: -p 7080:7080 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v ~/.coder:/var/run/coder \ - codercom/coder:1.29.0 + codercom/coder:1.30.0 ``` When this process is complete, Coder will print the URL you can use to access @@ -103,7 +103,7 @@ DEVURL_HOST="*.mycompany.com" For example: ```console -docker run --rm -it -p 7080:7080 -v /var/run/docker.sock:/var/run/docker.sock -v ~/.coder:/var/run/coder -e DEVURL_HOST="*.mycompany.com" codercom/coder:1.29.0 +docker run --rm -it -p 7080:7080 -v /var/run/docker.sock:/var/run/docker.sock -v ~/.coder:/var/run/coder -e DEVURL_HOST="*.mycompany.com" codercom/coder:1.30.0 ``` ## Use an external PostgreSQL database @@ -140,7 +140,7 @@ To do so: version: "3.5" services: coder: - image: docker.io/codercom/coder:1.29.0 + image: docker.io/codercom/coder:1.30.0 container_name: coderd restart: unless-stopped ports: diff --git a/setup/coder-for-docker/upgrade.md b/setup/coder-for-docker/upgrade.md index 353085834..9dba85e2b 100644 --- a/setup/coder-for-docker/upgrade.md +++ b/setup/coder-for-docker/upgrade.md @@ -7,7 +7,7 @@ This guide will show you how to upgrade your Coder for Docker deployment. To upgrade, run the following command to download the resources you need, including the latest images (ensure that you're providing the correct version -number in the command, e.g., `1.29.0`): +number in the command, e.g., `1.30.0`): ```console docker run --rm -it \ @@ -27,7 +27,7 @@ If you use Docker Compose to run Coder, here's how to upgrade your deployment: # ... services: coder: - image: docker.io/codercom/coder:1.29.0 + image: docker.io/codercom/coder:1.30.0 # ... ``` diff --git a/setup/kubernetes/index.md b/setup/kubernetes/index.md index 85bb4bdfc..d013030a8 100644 --- a/setup/kubernetes/index.md +++ b/setup/kubernetes/index.md @@ -31,6 +31,7 @@ deprecated features before they are removed from new versions of Kubernetes. | | Kubernetes `1.23` | Kubernetes `1.22` | Kubernetes `1.21` | Kubernetes `1.20` | Kubernetes `1.19` | Kubernetes `1.18` | | ------------ | ----------------- | ----------------- | ----------------- | ----------------- | ----------------- | ----------------- | +| Coder `1.30` | βœ… | βœ… | βœ… | | | | | Coder `1.29` | βœ… | βœ… | βœ… | | | | | Coder `1.28` | βœ… | βœ… | βœ… | | | | | Coder `1.27` | βœ… | βœ… | βœ… | | | | diff --git a/workspaces/preferences.md b/workspaces/preferences.md index 5fde9d4e7..8c4d564cc 100644 --- a/workspaces/preferences.md +++ b/workspaces/preferences.md @@ -62,16 +62,15 @@ changes). Your administrator must configure OAuth for this feature to work. > onboarding. Future Git actions within Coder will operate within the Coder > deployment's network, _not_ the local machine. -## Notifications +## Networking -Coder issues desktop notifications when you create a new workspace or rebuild an -workspace. +You can choose the WebRTC protocol used when connecting to your workspace from +the Coder CLI: -Please note that: - -- You may not receive native notifications when using your browser's private - browsing mode -- You must enable native notifications for each browser on which you run Coder +- **Auto** (default): uses STUN and falls back to TURN if it's unable to + establish a peer-to-peer connection +- **TURN**: establishes a peer-to-peer connection +- **STUN**: establishes a connection using an intermediary relay server ## Auto-start From 3e32eb1a6672922183ffe04ee5859e4ffa9bbef2 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Thu, 28 Apr 2022 14:16:46 +0100 Subject: [PATCH 2/6] chore: add changelog for 1.29.3 (#961) (cherry picked from commit 2222dada2a63700ce7f3638bf73c3e19df5523b5) --- changelog/1.29.3.md | 21 +++++++++++++++++++++ manifest.json | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 changelog/1.29.3.md diff --git a/changelog/1.29.3.md b/changelog/1.29.3.md new file mode 100644 index 000000000..df7135a08 --- /dev/null +++ b/changelog/1.29.3.md @@ -0,0 +1,21 @@ +--- +title: "1.29.3" +description: "Released on 4/28/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.29.3. + +### Features ✨ + +There are no new features in 1.29.3. + +### Bug fixes πŸ› + +- infra: fixed issue where the Coder front-end attempts to reconnect to a + workspace even when it is offline. + +### Security updates πŸ” + +There are no security updates in 1.29.3. diff --git a/manifest.json b/manifest.json index c905ec7dd..967ce3c59 100644 --- a/manifest.json +++ b/manifest.json @@ -575,6 +575,9 @@ { "path": "./changelog/1.29.0.md", "children": [ + { + "path": "./changelog/1.29.3.md" + }, { "path": "./changelog/1.29.2.md" }, From f0a3f83c73db77bd8a83895f088cfe47854ee5f8 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 29 Apr 2022 20:28:29 +0100 Subject: [PATCH 3/6] chore: add changelog for v1.30.1 (#967) * chore: add changelog for v1.30.1 * chore: edit text Co-authored-by: Katie Horne (cherry picked from commit 0fe525877b76f3e746926bd01430eea705ef0919) --- changelog/1.30.1.md | 22 ++++++++++++++++++++++ manifest.json | 7 ++++++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 changelog/1.30.1.md diff --git a/changelog/1.30.1.md b/changelog/1.30.1.md new file mode 100644 index 000000000..8233bce9a --- /dev/null +++ b/changelog/1.30.1.md @@ -0,0 +1,22 @@ +--- +title: "1.30.1" +description: "Released on 04/29/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.30.1. + +### Features ✨ + +- infra: Coder tunnel no longer exits after a single connection. + +### Bug fixes πŸ› + +- infra: fixed issue where a lower MTU caused connections to break. +- infra: fixed issue where the default Helm `networkingress` policy did not + allow inbound UDP connections. + +### Security updates πŸ” + +There are no security updates in 1.30.1. diff --git a/manifest.json b/manifest.json index 967ce3c59..b1e8b3e9d 100644 --- a/manifest.json +++ b/manifest.json @@ -570,7 +570,12 @@ "path": "./changelog/index.md", "children": [ { - "path": "./changelog/1.30.0.md" + "path": "./changelog/1.30.0.md", + "children": [ + { + "path": "./changelog/1.30.1.md" + } + ] }, { "path": "./changelog/1.29.0.md", From cfecd4c2b67f3ce5c0d8c2315d63cbb0f5caab90 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Thu, 28 Apr 2022 14:31:43 +0100 Subject: [PATCH 4/6] chore: add changelog for 1.28.5 (#960) (#963) * chore: add changelog for 1.28.5 * fixup! chore: add changelog for 1.28.5 * Update changelog/1.28.5.md Co-authored-by: Katie Horne (cherry picked from commit fb556656efe837cba0dd1241d6b74f1c3fc1142a) --- changelog/1.28.5.md | 23 +++++++++++++++++++++++ manifest.json | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 changelog/1.28.5.md diff --git a/changelog/1.28.5.md b/changelog/1.28.5.md new file mode 100644 index 000000000..15e7930c5 --- /dev/null +++ b/changelog/1.28.5.md @@ -0,0 +1,23 @@ +--- +title: "1.28.5" +description: "Released on 4/28/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.28.5. + +### Features ✨ + +There are no new features in 1.28.5. + +### Bug fixes πŸ› + +- infra: fixed issue where the Coder front-end attempts to reconnect to a + workspace even when it is offline. +- web: fixed issue where the error message does not show when a user exceeds + their resource quota when attempting to create a workspace. + +### Security updates πŸ” + +There are no security updates in 1.28.5. diff --git a/manifest.json b/manifest.json index b1e8b3e9d..c157017a8 100644 --- a/manifest.json +++ b/manifest.json @@ -594,6 +594,9 @@ { "path": "./changelog/1.28.0.md", "children": [ + { + "path": "./changelog/1.28.5.md" + }, { "path": "./changelog/1.28.4.md" }, From 733b304a48086d7bbdbc94e2994ef74aa06338ae Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 29 Apr 2022 20:28:39 +0100 Subject: [PATCH 5/6] chore: add changelog for 1.28.6 (#968) * chore: add changelog for 1.28.6 * chore: edit text Co-authored-by: Katie Horne --- changelog/1.28.6.md | 22 ++++++++++++++++++++++ manifest.json | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 changelog/1.28.6.md diff --git a/changelog/1.28.6.md b/changelog/1.28.6.md new file mode 100644 index 000000000..e543f9587 --- /dev/null +++ b/changelog/1.28.6.md @@ -0,0 +1,22 @@ +--- +title: "1.28.6" +description: "Released on 04/29/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.28.6. + +### Features ✨ + +- infra: Coder tunnel no longer exits after a single connection. + +### Bug fixes πŸ› + +- infra: fixed issue where a lower MTU caused connections to break. +- infra: fixed issue where the default Helm `networkingress` policy did not + allow inbound UDP connections. + +### Security updates πŸ” + +There are no security updates in 1.28.6. diff --git a/manifest.json b/manifest.json index c157017a8..0518f2765 100644 --- a/manifest.json +++ b/manifest.json @@ -594,6 +594,9 @@ { "path": "./changelog/1.28.0.md", "children": [ + { + "path": "./changelog/1.28.6.md" + }, { "path": "./changelog/1.28.5.md" }, From 65d7ed2a742e67e6f29f6a5cb3c2dcff95e22e98 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 29 Apr 2022 20:28:34 +0100 Subject: [PATCH 6/6] chore: add changelog for v1.29.4 (#969) * chore: add changelog for v1.29.4 * chore: edit text Co-authored-by: Katie Horne (cherry picked from commit 1ebd5479535331e737c325ba488e931b7d529228) --- changelog/1.29.4.md | 22 ++++++++++++++++++++++ manifest.json | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 changelog/1.29.4.md diff --git a/changelog/1.29.4.md b/changelog/1.29.4.md new file mode 100644 index 000000000..0575690ed --- /dev/null +++ b/changelog/1.29.4.md @@ -0,0 +1,22 @@ +--- +title: "1.29.4" +description: "Released on 04/29/2022" +--- + +### Breaking changes ❗ + +There are no breaking changes in 1.29.4. + +### Features ✨ + +- infra: Coder tunnel no longer exits after a single connection. + +### Bug fixes πŸ› + +- infra: fixed issue where a lower MTU caused connections to break. +- infra: fixed issue where the default Helm `networkingress` policy did not + allow inbound UDP connections. + +### Security updates πŸ” + +There are no security updates in 1.29.4. diff --git a/manifest.json b/manifest.json index 0518f2765..1087b6929 100644 --- a/manifest.json +++ b/manifest.json @@ -580,6 +580,9 @@ { "path": "./changelog/1.29.0.md", "children": [ + { + "path": "./changelog/1.29.4.md" + }, { "path": "./changelog/1.29.3.md" },