Skip to content

Commit c5a2d06

Browse files
committed
Release v4.99.3
1 parent 5d5b7b1 commit c5a2d06

File tree

4 files changed

+59
-31
lines changed

4 files changed

+59
-31
lines changed

CHANGELOG.md

+13
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,19 @@ Code v99.99.999
2222

2323
## Unreleased
2424

25+
## [4.99.3](https://github.com/coder/code-server/releases/tag/v4.99.3) - 2025-04-17
26+
27+
Code v1.99.3
28+
29+
### Added
30+
31+
- Added `--skip-auth-preflight` flag to let preflight requests through the
32+
proxy.
33+
34+
### Changed
35+
36+
- Update to Code 1.99.3.
37+
2538
## [4.99.2](https://github.com/coder/code-server/releases/tag/v4.99.2) - 2025-04-10
2639

2740
Code v1.99.2

ci/helm-chart/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ type: application
1515
# This is the chart version. This version number should be incremented each time you make changes
1616
# to the chart and its templates, including the app version.
1717
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18-
version: 3.26.2
18+
version: 3.26.3
1919

2020
# This is the version number of the application being deployed. This version number should be
2121
# incremented each time you make changes to the application. Versions are not expected to
2222
# follow Semantic Versioning. They should reflect the version the application is using.
23-
appVersion: 4.99.2
23+
appVersion: 4.99.3

ci/helm-chart/values.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ replicaCount: 1
66

77
image:
88
repository: codercom/code-server
9-
tag: '4.99.2'
9+
tag: '4.99.3'
1010
pullPolicy: Always
1111

1212
# Specifies one or more secrets to be used when pulling images from a

docs/guide.md

+43-28
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
- [Proxying to an Angular app](#proxying-to-an-angular-app)
2222
- [Proxying to a Svelte app](#proxying-to-a-svelte-app)
2323
- [Prefixing `/absproxy/<port>` with a path](#prefixing-absproxyport-with-a-path)
24+
- [Preflight requests](#preflight-requests)
2425

2526
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
2627
<!-- prettier-ignore-end -->
@@ -119,22 +120,22 @@ access code-server on an iPad or do not want to use SSH port forwarding.
119120

120121
1. This option requires that the remote machine be exposed to the internet. Make sure that your instance allows HTTP/HTTPS traffic.
121122

122-
1. You'll need a domain name (if you don't have one, you can purchase one from
123+
2. You'll need a domain name (if you don't have one, you can purchase one from
123124
[Google Domains](https://domains.google.com) or the domain service of your
124125
choice). Once you have a domain name, add an A record to your domain that contains your
125126
instance's IP address.
126127

127-
1. Install [Caddy](https://caddyserver.com/docs/download#debian-ubuntu-raspbian):
128+
3. Install [Caddy](https://caddyserver.com/docs/download#debian-ubuntu-raspbian):
128129

129-
```console
130-
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
131-
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
132-
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
133-
sudo apt update
134-
sudo apt install caddy
135-
```
130+
```console
131+
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
132+
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
133+
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
134+
sudo apt update
135+
sudo apt install caddy
136+
```
136137

137-
1. Replace `/etc/caddy/Caddyfile` using `sudo` so that the file looks like this:
138+
4. Replace `/etc/caddy/Caddyfile` using `sudo` so that the file looks like this:
138139

139140
```text
140141
mydomain.com {
@@ -153,7 +154,7 @@ sudo apt install caddy
153154

154155
Remember to replace `mydomain.com` with your domain name!
155156

156-
1. Reload Caddy:
157+
5. Reload Caddy:
157158

158159
```console
159160
sudo systemctl reload caddy
@@ -164,21 +165,22 @@ At this point, you should be able to access code-server via
164165

165166
### Using Let's Encrypt with NGINX
166167

167-
1. This option requires that the remote machine be exposed to the internet. Make sure that your instance allows HTTP/HTTPS traffic.
168+
1. This option requires that the remote machine be exposed to the internet. Make
169+
sure that your instance allows HTTP/HTTPS traffic.
168170

169-
1. You'll need a domain name (if you don't have one, you can purchase one from
171+
2. You'll need a domain name (if you don't have one, you can purchase one from
170172
[Google Domains](https://domains.google.com) or the domain service of your
171173
choice). Once you have a domain name, add an A record to your domain that contains your
172174
instance's IP address.
173175

174-
1. Install NGINX:
176+
3. Install NGINX:
175177

176178
```bash
177179
sudo apt update
178180
sudo apt install -y nginx certbot python3-certbot-nginx
179181
```
180182

181-
1. Update `/etc/nginx/sites-available/code-server` using sudo with the following
183+
4. Update `/etc/nginx/sites-available/code-server` using sudo with the following
182184
configuration:
183185

184186
```text
@@ -196,16 +198,13 @@ At this point, you should be able to access code-server via
196198
}
197199
}
198200
```
199-
200201
Be sure to replace `mydomain.com` with your domain name!
201202

202-
1. Enable the config:
203-
203+
5. Enable the config:
204204
```console
205205
sudo ln -s ../sites-available/code-server /etc/nginx/sites-enabled/code-server
206206
sudo certbot --non-interactive --redirect --agree-tos --nginx -d mydomain.com -m me@example.com
207207
```
208-
209208
Be sure to replace `me@example.com` with your actual email.
210209

211210
At this point, you should be able to access code-server via
@@ -292,7 +291,9 @@ redirect all HTTP requests to HTTPS.
292291
> You can use [Let's Encrypt](https://letsencrypt.org/) to get a TLS certificate
293292
> for free.
294293
295-
Note: if you set `proxy_set_header Host $host;` in your reverse proxy config, it will change the address displayed in the green section of code-server in the bottom left to show the correct address.
294+
Note: if you set `proxy_set_header Host $host;` in your reverse proxy config, it
295+
will change the address displayed in the green section of code-server in the
296+
bottom left to show the correct address.
296297

297298
## Accessing web services
298299

@@ -378,14 +379,16 @@ PUBLIC_URL=/absproxy/3000 \
378379
BROWSER=none yarn start
379380
```
380381

381-
You should then be able to visit `https://my-code-server-address.io/absproxy/3000` to see your app exposed through
382-
code-server!
382+
You should then be able to visit
383+
`https://my-code-server-address.io/absproxy/3000` to see your app exposed
384+
through code-server.
383385

384386
> We highly recommend using the subdomain approach instead to avoid this class of issue.
385387
386388
### Proxying to a Vue app
387389

388-
Similar to the situation with React apps, you have to make a few modifications to proxy a Vue app.
390+
Similar to the situation with React apps, you have to make a few modifications
391+
to proxy a Vue app.
389392

390393
1. add `vue.config.js`
391394
2. update the values to match this (you can use any free port):
@@ -406,7 +409,8 @@ Read more about `publicPath` in the [Vue.js docs](https://cli.vuejs.org/config/#
406409

407410
### Proxying to an Angular app
408411

409-
In order to use code-server's built-in proxy with Angular, you need to make the following changes in your app:
412+
In order to use code-server's built-in proxy with Angular, you need to make the
413+
following changes in your app:
410414

411415
1. use `<base href="./.">` in `src/index.html`
412416
2. add `--serve-path /absproxy/4200` to `ng serve` in your `package.json`
@@ -415,7 +419,8 @@ For additional context, see [this GitHub Discussion](https://github.com/coder/co
415419

416420
### Proxying to a Svelte app
417421

418-
In order to use code-server's built-in proxy with Svelte, you need to make the following changes in your app:
422+
In order to use code-server's built-in proxy with Svelte, you need to make the
423+
following changes in your app:
419424

420425
1. Add `svelte.config.js` if you don't already have one
421426
2. Update the values to match this (you can use any free port):
@@ -436,9 +441,19 @@ For additional context, see [this Github Issue](https://github.com/sveltejs/kit/
436441

437442
### Prefixing `/absproxy/<port>` with a path
438443

439-
This is a case where you need to serve an application via `absproxy` as explained above while serving `codeserver` itself from a path other than the root in your domain.
444+
This is a case where you need to serve an application via `absproxy` as
445+
explained above while serving code-server itself from a path other than the root
446+
in your domain.
440447

441-
For example: `http://my-code-server.com/user/123/workspace/my-app`. To achieve this result:
448+
For example: `http://my-code-server.com/user/123/workspace/my-app`. To achieve
449+
this result:
442450

443-
1. Start code server with the switch `--abs-proxy-base-path=/user/123/workspace`
451+
1. Start code-server with the switch `--abs-proxy-base-path=/user/123/workspace`
444452
2. Follow one of the instructions above for your framework.
453+
454+
### Preflight requests
455+
456+
By default, if you have auth enabled, code-server will authenticate all proxied
457+
requests including preflight requests. This can cause issues because preflight
458+
requests do not typically include credentials. To allow all preflight requests
459+
through the proxy without authentication, use `--skip-auth-preflight`.

0 commit comments

Comments
 (0)