Skip to content

Commit dded82b

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

File tree

4 files changed

+59
-30
lines changed

4 files changed

+59
-30
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-27
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
@@ -199,13 +201,11 @@ At this point, you should be able to access code-server via
199201

200202
Be sure to replace `mydomain.com` with your domain name!
201203

202-
1. Enable the config:
203-
204+
5. Enable the config:
204205
```console
205206
sudo ln -s ../sites-available/code-server /etc/nginx/sites-enabled/code-server
206207
sudo certbot --non-interactive --redirect --agree-tos --nginx -d mydomain.com -m me@example.com
207208
```
208-
209209
Be sure to replace `me@example.com` with your actual email.
210210

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

297299
## Accessing web services
298300

@@ -378,14 +380,16 @@ PUBLIC_URL=/absproxy/3000 \
378380
BROWSER=none yarn start
379381
```
380382

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!
383+
You should then be able to visit
384+
`https://my-code-server-address.io/absproxy/3000` to see your app exposed
385+
through code-server.
383386

384387
> We highly recommend using the subdomain approach instead to avoid this class of issue.
385388
386389
### Proxying to a Vue app
387390

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

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

407411
### Proxying to an Angular app
408412

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

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

416421
### Proxying to a Svelte app
417422

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

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

437443
### Prefixing `/absproxy/<port>` with a path
438444

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.
445+
This is a case where you need to serve an application via `absproxy` as
446+
explained above while serving code-server itself from a path other than the root
447+
in your domain.
440448

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

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

0 commit comments

Comments
 (0)