Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
be7d845
fix: persist workbench state on the remote
Daywin67 Jul 30, 2026
f3aca85
fix: add cooldown to dependabot config (#7910)
anupamme Jul 30, 2026
9edf867
Remove dash partially completed update step
code-asher Jul 23, 2026
b95360f
Continue update even if csp patch is missing
code-asher Jul 23, 2026
a3fc289
Update Code to 1.131.0 (#7912)
cdrci Jul 30, 2026
4cf9c11
Update changelog with 1.131.0
code-asher Jul 30, 2026
924bfac
Document opening a file at a line via the payload query parameter (#7…
Grynn Jul 30, 2026
eb4ba56
Update Helm chart and changelog with 4.131.0 (#7922)
cdrci Jul 30, 2026
4f73664
Require auth for mint key endpoint (#7923)
anupamme Aug 3, 2026
2a1c263
Bump js-yaml from 4.2.0 to 4.3.0 (#7900)
dependabot[bot] Aug 3, 2026
7ff3415
Bump body-parser from 2.2.2 to 2.3.0 (#7902)
dependabot[bot] Aug 3, 2026
52149a3
Merge branch 'main' into main
Daywin67 Aug 4, 2026
1a370bb
Update Node types to 24
code-asher Aug 6, 2026
f836314
Use const for unmutated let
code-asher Aug 6, 2026
208c81a
Fix mistakenly encoding cookies to proxy
code-asher Aug 6, 2026
41cbd28
Update Code to 1.132.0 (#7933)
cdrci Aug 6, 2026
313bf03
Bump ip-address from 10.2.0 to 10.4.0 (#7931)
dependabot[bot] Aug 6, 2026
881dfce
refactor: reuse Electron storage service
Daywin67 Aug 7, 2026
29785dd
Update Helm chart and changelog with 4.132.0 (#7937)
cdrci Aug 10, 2026
51f90a3
docs(helm): remove duplicated 'the' in persistence example (#7936)
zhaoxinyi02 Aug 10, 2026
596dbf3
Update files to reflect the new node.js v24 (#7949)
UnrealQuester Aug 17, 2026
d2f7a12
Update Code to 1.133.0 (#7942)
cdrci Aug 17, 2026
c22dc74
Update Helm chart and changelog with 4.133.0 (#7951)
cdrci Aug 17, 2026
876304f
Remove --unsafe-perm flag from install scripts (#7953)
aholten Aug 19, 2026
f69d40c
Bump js-yaml from 4.3.0 to 4.3.1 (#7935)
dependabot[bot] Aug 19, 2026
30852bb
chore: bump actions/setup-node from 6.4.0 to 7.0.0 (#7921)
dependabot[bot] Aug 19, 2026
b965344
chore: bump softprops/action-gh-release from 3.0.1 to 3.0.2 (#7920)
dependabot[bot] Aug 19, 2026
fb43d02
chore: bump docker/login-action from 4.2.0 to 4.6.0 (#7919)
dependabot[bot] Aug 19, 2026
02badb2
chore: bump github/codeql-action/init from 4.36.2 to 4.37.6 (#7918)
dependabot[bot] Aug 19, 2026
2edeb1c
chore: bump github/codeql-action/upload-sarif from 4.36.2 to 4.37.6 (…
dependabot[bot] Aug 19, 2026
04ce230
Add VSCODE_OPTIONS and --vscode-option for Code flags (#1528) (#7952)
softov Aug 19, 2026
fa44263
Run unit tests when npm deps change
code-asher Aug 19, 2026
0a7b4b1
Bump brace-expansion (#7958)
dependabot[bot] Aug 19, 2026
1735f6d
Bump brace-expansion from 1.1.11 to 1.1.18 in /test (#7957)
dependabot[bot] Aug 19, 2026
7833136
Bump js-yaml from 4.3.1 to 5.2.3 (#7916)
dependabot[bot] Aug 19, 2026
2d5dbf0
Update codeql actions to 4.37.6
code-asher Aug 19, 2026
4cb856c
Add --socket-fd CLI option (#7940)
runleveldev Aug 20, 2026
88c2b74
Update Code to 1.134.0 (#7954)
cdrci Aug 20, 2026
92f44d9
Fix changelog typo
code-asher Aug 24, 2026
e08e907
Update Helm chart and changelog with 4.134.0 (#7961)
cdrci Aug 24, 2026
de89acb
Update Code to 1.135.0 (#7963)
cdrci Aug 26, 2026
2b2f8b3
Update Helm chart and changelog with 4.135.0 (#7964)
cdrci Aug 27, 2026
11699e6
Guard FORCE_NODE_VERSION in the version error path (#7983)
denusklo Sep 4, 2026
62284ed
Run mklink through cmd so windows postinstall works (#7982)
denusklo Sep 4, 2026
290c43f
Merge remote-tracking branch 'upstream/main' into refactor/use-electr…
Daywin67 Sep 8, 2026
d3db407
fix: refresh remote storage channel patch
Daywin67 Sep 8, 2026
371897c
chore: keep cache key change out of storage refactor
Daywin67 Sep 8, 2026
ba62df8
ci: allow manual build workflow dispatch
Daywin67 Sep 8, 2026
3c0bf9d
feat: expose remote storage flag in code-server cli
Daywin67 Sep 8, 2026
8fdadea
test: cover remote storage cli flag
Daywin67 Sep 8, 2026
8c74f4d
ci: remove manual build trigger
Daywin67 Sep 8, 2026
e9d9917
Merge branch 'refactor/use-electron-storage-service'
Daywin67 Sep 8, 2026
ce5016a
fix: avoid loading electron in remote storage server
Daywin67 Sep 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ updates:
interval: "monthly"
time: "06:00"
timezone: "America/Chicago"
cooldown:
default-days: 7
labels: []
commit-message:
prefix: "chore"
Expand All @@ -16,6 +18,8 @@ updates:
interval: "monthly"
time: "06:00"
timezone: "America/Chicago"
cooldown:
default-days: 7
labels: []
ignore:
# Ignore patch updates for all dependencies
Expand Down
38 changes: 19 additions & 19 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ jobs:
outputs:
ci: ${{ steps.filter.outputs.ci }}
code: ${{ steps.filter.outputs.code }}
deps: ${{ steps.filter.outputs.deps }}
npm: ${{ steps.filter.outputs.npm }}
vscode: ${{ steps.filter.outputs.vscode }}
docs: ${{ steps.filter.outputs.docs }}
helm: ${{ steps.filter.outputs.helm }}
steps:
Expand All @@ -42,11 +43,12 @@ jobs:
code:
- "src/**"
- "test/**"
deps:
- "lib/**"
- "patches/**"
npm:
- "package-lock.json"
- "test/package-lock.json"
vscode:
- "lib/**"
- "patches/**"
- id: debug
run: |
echo "${{ toJSON(steps.filter )}}"
Expand All @@ -56,7 +58,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand All @@ -73,7 +75,7 @@ jobs:
if: needs.changes.outputs.docs == 'true'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand All @@ -90,12 +92,10 @@ jobs:
if: needs.changes.outputs.helm == 'true'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
- uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # v5.0.1
- uses: bmuschko/setup-kubeconform@e5d264ec1eafe2314e750c429a9da7639dd5a003 # v1.1.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: "v3.19.2"
- run: helm plugin install https://github.com/instrumenta/helm-kubeval
- run: helm kubeval ci/helm-chart
kubeconform-version: "0.8.0"
- run: kubeconform ci/helm-chart

lint-ts:
name: Lint TypeScript files
Expand All @@ -104,7 +104,7 @@ jobs:
if: needs.changes.outputs.code == 'true'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand Down Expand Up @@ -132,10 +132,10 @@ jobs:
name: Run unit tests
runs-on: ubuntu-22.04
needs: changes
if: needs.changes.outputs.code == 'true'
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.npm == 'true'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand Down Expand Up @@ -172,7 +172,7 @@ jobs:
with:
submodules: true
- run: quilt push -a
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand Down Expand Up @@ -216,11 +216,11 @@ jobs:
env:
LOG_LEVEL: debug
needs: [changes, build]
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.deps == 'true' || needs.changes.outputs.ci == 'true'
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.npm == 'true' || needs.changes.outputs.vscode == 'true' || needs.changes.outputs.ci == 'true'

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand Down Expand Up @@ -252,7 +252,7 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LOG_LEVEL: debug
needs: [changes, build]
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.deps == 'true' || needs.changes.outputs.ci == 'true'
if: needs.changes.outputs.code == 'true' || needs.changes.outputs.npm == 'true' || needs.changes.outputs.vscode == 'true' || needs.changes.outputs.ci == 'true'

steps:
- name: Cache Caddy
Expand All @@ -270,7 +270,7 @@ jobs:
tar -xzf caddy_2.5.2_linux_amd64.tar.gz --directory ~/.cache/caddy

- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
echo "VERSION=${TAG#v}" >> $GITHUB_ENV

- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v6
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version

Expand Down Expand Up @@ -112,11 +112,11 @@ jobs:
- uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
- uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0

- uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ jobs:
with:
submodules: true
- run: quilt push -a
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand Down Expand Up @@ -110,7 +110,7 @@ jobs:
- run: |
sed "/^## Unreleased/,/^## / ! d" CHANGELOG.md | head -n -2 | tail -n +3 > .cache/release-notes
if: ${{ matrix.vscode_arch == 'x64' }}
- uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
if: ${{ matrix.vscode_arch == 'x64' }}
with:
draft: true
Expand All @@ -123,7 +123,7 @@ jobs:
# Platform-specific release.
- run: KEEP_MODULES=1 npm run release
- run: npm run package
- uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
with:
draft: true
discussion_category_name: "📣 Announcements"
Expand Down Expand Up @@ -174,7 +174,7 @@ jobs:
with:
submodules: true
- run: quilt push -a
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version
cache: npm
Expand All @@ -189,7 +189,7 @@ jobs:
- run: npm run test:native

- run: npm run package
- uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
with:
draft: true
discussion_category_name: "📣 Announcements"
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/security.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
fetch-depth: 0

- name: Install Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6
with:
node-version-file: .node-version

Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
severity: "HIGH,CRITICAL"

- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4
with:
sarif_file: "trivy-repo-results.sarif"

Expand All @@ -80,13 +80,13 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
with:
config-file: ./.github/codeql-config.yml
languages: javascript

- name: Autobuild
uses: github/codeql-action/autobuild@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
uses: github/codeql-action/autobuild@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
2 changes: 1 addition & 1 deletion .github/workflows/trivy-docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,6 @@ jobs:
severity: "HIGH,CRITICAL"

- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v4
with:
sarif_file: "trivy-image-results.sarif"
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
24.18.0
24.18.1
61 changes: 61 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,67 @@ Code v99.99.999

## Unreleased

## [4.135.0](https://github.com/coder/code-server/releases/tag/v4.135.0) - 2026-08-27

Code v1.135.0

### Changed

- Update to Code 1.135.0

## [4.134.0](https://github.com/coder/code-server/releases/tag/v4.134.0) - 2026-08-24

Code v1.134.0

### Added

- New `--socket-fd` flag that can be used to listen on a file descriptor. In
particular, this allows using code-server with systemd's socket activation.
- New `--vscode-option` repeatable flag that can be used to pass through options
to VS Code. It requires `flag=value` or simply `flag` for booleans. For
example: `--vscode-option enable-sandbox --vscode-option agents=true`. The
`VSCODE_OPTIONS` environment variable may also be used. For example:
`VSCODE_OPTIONS="enable-sandbox agents=true"`. Note that code-server simply
splits this variable on spaces and is not aware of quoting.

### Changed

- Update to Code 1.134.0
- Remove `--unsafe-perm` from installation scripts. This flag results in an
error when used with npm since v12 and has been a no-op since v7. If you are
installing with a version of npm older than v7 as root, installation may not
work correctly.

## [4.133.0](https://github.com/coder/code-server/releases/tag/v4.133.0) - 2026-08-17

Code v1.133.0

### Changed

- Update to Code 1.133.0

## [4.132.0](https://github.com/coder/code-server/releases/tag/v4.132.0) - 2026-08-10

Code v1.132.0

### Changed

- Update to Code 1.132.0

### Fixed

- When proxying, cookies were being decoded and re-encoded, which could cause
issues for applications that encode differently. Cookies are now passed
through unchanged (aside from stripping out code-server's session token).

## [4.131.0](https://github.com/coder/code-server/releases/tag/v4.131.0) - 2026-07-30

Code v1.131.0

### Changed

- Update to Code 1.131.0

## [4.130.0](https://github.com/coder/code-server/releases/tag/v4.130.0) - 2026-07-24

Code v1.130.0
Expand Down
24 changes: 5 additions & 19 deletions ci/build/npm-postinstall.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ symlink() {
dest="$2"
rm -rf "$dest"
case $OS in
windows) mklink /J "$dest" "$source" ;;
windows) cmd //c mklink //J "$dest" "$source" ;;
*) ln -s "$source" "$dest" ;;
esac
}
Expand Down Expand Up @@ -65,9 +65,9 @@ main() {
echo "USE AT YOUR OWN RISK!"
fi

if [ "$major_node_version" -ne "${FORCE_NODE_VERSION:-22}" ]; then
echo "ERROR: code-server currently requires node v22."
if [ -n "$FORCE_NODE_VERSION" ]; then
if [ "$major_node_version" -ne "${FORCE_NODE_VERSION:-24}" ]; then
echo "ERROR: code-server currently requires node v24."
if [ -n "${FORCE_NODE_VERSION:-}" ]; then
echo "However, you have overrided the version check to use v$FORCE_NODE_VERSION."
fi
echo "We have detected that you are on node v$major_node_version"
Expand All @@ -76,20 +76,6 @@ main() {
exit 1
fi

# Under npm, if we are running as root, we need --unsafe-perm otherwise
# post-install scripts will not have sufficient permissions to do their thing.
if is_root; then
case "${npm_config_user_agent-}" in npm*)
if [ "${npm_config_unsafe_perm-}" != "true" ]; then
echo "Please pass --unsafe-perm to npm to install code-server"
echo "Otherwise post-install scripts will not have permissions to run"
echo "See https://docs.npmjs.com/misc/config#unsafe-perm"
echo "See https://stackoverflow.com/questions/49084929/npm-sudo-global-installation-unsafe-perm"
exit 1
fi
;;
esac
fi

if ! vscode_install; then
echo "You may not have the required dependencies to build the native modules."
Expand All @@ -110,7 +96,7 @@ install_with_yarn_or_npm() {
# end-user we want to keep using whatever package manager is in use.
case "${npm_config_user_agent-}" in
npm*)
if ! npm install --unsafe-perm --omit=dev; then
if ! npm install --omit=dev; then
return 1
fi
;;
Expand Down
2 changes: 1 addition & 1 deletion ci/build/update-vscode.sh
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ function get-webview-script-hash() {
}

function delete_csp() {
quilt delete csp-hashes.diff
quilt delete csp-hashes.diff || true
}

function update_csp() {
Expand Down
4 changes: 2 additions & 2 deletions ci/helm-chart/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 3.45.0
version: 3.50.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
appVersion: 4.130.0
appVersion: 4.135.0
Loading