All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
Code v1.108.0
Code v1.107.1
Code v1.107.0
- New --cookie-suffix flag that can be used to add a suffix to the cookie when
using the built-in password authentication. You can use this to avoid
collisions with other instances of code-server.
- Support a new property authorizationHeaderToken on the extension gallery
configuration. This will be added to marketplace requests as a bearer token
using the Authorization header.
Code v1.106.3
Code v1.106.2
Code v1.106.0
Code v1.105.1
Code v1.105.0
Code v1.104.3
Code v1.104.2
Code v1.104.1
Code v1.104.0
- Fix "extension not found" errors from Open VSX when trying to install the
latest version of an extension.
Code v1.103.2
Code v1.103.1
Code v1.103.0
Code v1.102.2
Code v1.102.1
Code v1.102.0
- Custom strings can be configured using the --i18n flag set to a JSON
file. This can be used for either translation (and can be used alongside
--locale) or for customizing the strings. See
./src/node/i18n/locales/en.json for the
available keys.
Code v1.101.2
- Fix web views not loading due to 401 when requesting the service worker.
Code v1.101.1
Code v1.101.0
Code v1.100.3
Code v1.100.2
Code v1.100.1
Code v1.100.0
- Trusted domains for links can now be set at run-time by configuring
linkProtectionTrustedDomains in the lib/vscode/product.json file or via
the --link-protection-trusted-domains flag.
- Update to Code 1.100.0.
- Disable extension signature verification, which previously was skipped by
default (the package used for verification is not available to OSS builds of
VS Code) but now reportedly throws hard errors making it impossible to install
extensions.
- Flags with repeatable options now work via the config file.
Code v1.99.3
- Validate that ports in the path proxy are numbers, to prevent proxying to
arbitrary domains.
Code v1.99.3
- Added --skip-auth-preflight flag to let preflight requests through the
proxy.
Code v1.99.2
Code v1.99.1
Code v1.99.0
Code v1.98.0
Code v1.97.2
- Added back macOS amd64 builds.
- Update to Code 1.97.2.
- Softened dark mode login page colors.
Code v1.96.4
Code v1.96.2
Code v1.96.1
- Dark color scheme for login and error pages.
Code v1.95.3
Code v1.95.2
Code v1.95.1
Code v1.93.1
- Added --abs-proxy-base-path flag for when code-server is not at the root.
Code v1.92.2
- Dropped a patch that changed the compile target from es2022 to es2020 because
it no longer works with the way VS Code uses static properties. This may break
older browsers, so those browsers will either have to be updated or use an
older version of code-server.
Code v1.91.0
Code v1.90.2
- When the log gets rotated it will no longer incorrectly be moved to a new
directory created in the current working directory named with a date.
Instead, the file itself is prepended with the date and kept in the same
directory, as originally intended.
Code v1.90.1
Code v1.90.0
- Cache a call to get CPU information used in telemetry that could result in a
lack responsiveness if it was particularly slow.
Code v1.90.0
- Updated to Code 1.90.0.
- Updated Node to 20.11.1.
Code v1.89.1
Code v1.89.0
Code v1.88.1
Code v1.88.0
- Updated to Code 1.88.0.
- Updated Node to 18.18.2.
- Fix masking the exit code when failing to install extensions on the command
line outside the integrated terminal. Installing extensions inside the
integrated terminal still masks the exit code and is an upstream bug.
Code v1.87.2
- Updated to Code 1.87.2.
- Enable keep-alive for proxy agent.
Code v1.87.0
Code v1.86.2
Code v1.86.1
- Updated to Code 1.86.1.
- Updated to Node 18.17.1.
- Docker images for Fedora and openSUSE.
Code v1.86.0
Code v1.85.2
- Query variables are no longer double-encoded when going over the path proxy.
Code v1.85.1
- New flag --disable-file-uploads to disable uploading files to the remote by
drag and drop and to disable opening local files via the "show local" button
in the file open prompt. Note that you can still open local files by drag and
dropping the file onto the editor pane.
- Added wget to the release image.
- Updated to Code 1.85.1.
- The --disable-file-downloads flag will now disable the "show local" button
in the file save prompt as well.
- Debian release image updated to use Bookworm.
Code v1.84.2
- Fixed an issue where parts of the editor would not load (like the file
explorer, source control, etc) when using a workspace file.
Code v1.84.2
Code v1.83.1
Code v1.82.2
- Make secret storage persistent. For example, logging in with GitHub should
persist between browser refreshes and code-server restarts.
- Issues with argon2 on arm builds should be fixed now.
Code v1.82.2
- Japanese locale.
- CODE_SERVER_HOST environment variable.
- Update to Code 1.82.2. This includes an update to Node 18, which also means
that the minimum glibc is now 2.28. If you need to maintain a lower glibc then
you can take a version of Node 18 that is compiled with a lower glibc and use
that to build code-server (or at a minimum rebuild the native modules).
- Display paths to config files in full rather than abbreviated. If you have
trouble with the password not working please update and make sure the
displayed config paths are what you expect.
- Fix some dependency issues for the standalone arm64 and armv7l releases. If
you had issues with missing or failing modules please try these new builds.
Code v1.80.2
Code v1.80.1
- --disable-proxy flag. This disables the domain and path proxies but it does
not disable the ports panel in Code. That can be disabled by using
remote.autoForwardPorts=false in your settings.
Code v1.80.1
- --trusted-origin flag for specifying origins that you trust but do not
control (for example a reverse proxy).
Code v1.79.2
Code v1.79.2
- Remove extra write permissions on the Node binary bundled with the linux-amd64
tarball. If you extract the tar without a umask this could mean the Node
binary would be unexpectedly writable.
- Inability to launch multiple instances of code-server for different users.
- --session-socket CLI flag to configure the location of the session socket.
By default it will be placed in <user data dir>/code-server-ipc.sock.
Code v1.79.2
- --domain-proxy now supports {{port}} and {{host}} template variables.
- Updated to Code 1.79.2
- Files opened from an external terminal will now open in the most closely
related window rather than in the last opened window.
Code v1.78.2
- Proxying files that contain non-ASCII characters.
- Origin check when X-Forwarded-Host contains comma-separated hosts.
Code v1.77.3
- Updated to Code 1.77.3
- Ports panel will use domain-based proxy (instead of the default path-based
proxy) when set via --proxy-domain.
- Apply --app-name to the PWA title.
- Thai translation for login page.
- Debug logs around the origin security check. If you are getting forbidden
errors on web sockets please run code-server with --log debug to see why the
requests are being blocked.
Code v1.76.1
Code v1.75.1
Added an origin check to web sockets to prevent cross-site hijacking attacks on
users using older or niche browser that do not support SameSite cookies and
attacks across sub-domains that share the same root domain.
The check requires the host header to be set so if you use a reverse proxy
ensure it forwards that information otherwise web sockets will be blocked.
Code v1.75.1
- Removed --link (was deprecated over thirteen months ago in 4.0.1).
Code v1.73.1
- Updated a couple steps in the build and release process to ensure we're using
npm and yarn consistently depending on the step.
- Fixed an issue with code-server version not displaying in the Help > About window.
- Fixed terminal not loading on macOS clients.
Code v1.73.1
- /security.txt added as a route with info on our security policy information thanks to @ghuntley
- Installing on majaro images should now work thanks to @MrPeacockNLB for
adding the --noconfirm flag in install.sh
- --cert on Ubuntu 22.04: OpenSSL v3 is used which breaks pem meaning the
--cert feature will not work. Reference
Code v1.72.1
- install script now supports arch-like (i.e. manjaro, endeavourous, etc.)
architectures
- Updated text in the Getting Started page.
Code v1.72.1
- New text in the Getting Started page with info about
coder/coder. This is enabled by default but can be disabled by passing the CLI
flag --disable-getting-started-override or setting
CS_DISABLE_GETTING_STARTED_OVERRIDE=1 or
CS_DISABLE_GETTING_STARTED_OVERRIDE=true.
Code v1.72.1
- Fixed CSP error introduced in 4.8.0 that caused issues with webviews and most
extensions.
Code v1.72.1
- Support for the Ports panel which leverages code-server's built-in proxy. It
also uses VSCODE_PROXY_URI where {{port}} is replace when forwarding a port.
Example: VSCODE_PROXY_URI=https://{{port}}.kyle.dev would forward an
application running on localhost:3000 to https://3000.kyle.dev
- Support for --disable-workspace-trust CLI flag
- Support for --goto flag to open file @ line:column
- Added Ubuntu-based images for Docker releases. If you run into issues with
PATH being overwritten in Docker please try the Ubuntu image as this is a
problem in the Debian base image.
- Enabled BROWSER environment variable
- Patched asExternalUri to work so now extensions run inside code-server can use it
Code v1.71.2
- Fixed install script not upgrading code-server when already installed on RPM-based machines
- Fixed install script failing to gain root permissions on FreeBSD
Code v1.71.0
- Dropped heartbeat patch because it was implemented upstream
- Add flags --unsafe-perm --legacy-peer-deps in npm-postinstall.sh which ensures installing with npm works correctly
Code v1.70.2
- Updated Code to 1.70.2
- Updated argon2 to 0.29.0 which should fix issues on FreeBSD
- Updated docs to suggest using npm instead of yarn
- Dropped database migration patch affected to 4.0.2 versions and earlier.
- Fixed preservation of process.execArgv which means you can pass --prof to profile code-server
Code v1.70.1
- Added a heartbeat to sockets. This should prevent them from getting closed by
reverse proxy timeouts when idle like NGINX's default 60-second timeout.
- Fixed logout option appearing even when authentication is disabled.
Code v1.68.1
-
Fixed the proxy route not performing authentication. For example if you were
to run a development HTTP server using python -m http.server 8000 then it
would be accessible at my.domain/proxy/8000/ without any authentication.
If all of the following apply to you please update as soon as possible:
- You run code-server with the built-in password authentication.
- You run unprotected HTTP services on ports accessible by code-server.
- Invoking code-server in the integrated terminal will now use the script that
comes with upstream Code. This means flags like --wait will be
automatically supported now. However the upstream script only has the ability
to interact with the running code-server and cannot spawn new instances. If
you need to spawn a new code-server from the integrated terminal please
specify the full path to code-server's usual script (for example
/usr/bin/code-server).
- Invoking code-server in the integrated terminal will now work instead of
erroring about not finding Node.
Code v1.68.1
- We now use release/v<0.0.0> for the release branch name so it doesn't
conflict with the tag name
- Added .prettierignore to ignore formatting files in lib/vscode
- Allow more comprehensive affinity config in Helm chart
- Added custom message in Homebrew PR to make sure code-server maintainers are
tagged
- Allow setting priorityClassName via Helm chart
- Added troubleshooting docs to CONTRIBUTING.md
- Removed default memory limit which was set via NODE_OPTIONS
- Changed output in pipe to make it easier to debug code-server when doing live
edits
- Fixed display-language patch to use correct path which broke in 4.5.0
- Fixed multiple code-server windows opening when using the code-server CLI in
the Integrated Terminal
- Fixed Integrated Terminal not working when web base was not the root path
- Updated glob-parent version in dependencies
Code v1.68.1
- Updated codecov to use codecov uploader
- Moved integration tests to Jest
- Fixed docker release to only download .deb
- Upgraded to Code 1.68.1
- Install nfpm from GitHub
- Upgraded to TypeScript 4.6
- Added tests for open, isWsl, handlePasswordValidation
- Provided alternate image registry to dockerhub
- Allowed users to have scripts run on container with ENTRYPOINTD environment
variable
- Fixed open CLI command to work on macOS
Code v1.66.2
- Refactored methods in Heart class and made Heart.beat() async to make
testing easier.
- Upgraded to Code 1.66.2.
- Added back telemetry patch which was removed in the Code reachitecture.
- Added support to use true for CS_DISABLE_FILE_DOWNLOADS environment
variable. This means you can disable file downloads by setting
CS_DISABLE_FILE_DOWNLOADS to true or 1.
- Added tests for Heart class.
- Fixed installation issue in AUR after LICENSE rename.
- Fixed issue with listening on IPv6 addresses.
- Fixed issue with Docker publish action not being able to find artifacts. Now
it downloads the release assets from the release.
Code v1.65.2
- Excluded .deb files from release Docker image which drops the compressed and
uncompressed size by 58% and 34%.
- Upgraded to Code 1.65.2.
- Added a new CLI flag called --disable-file-downloads which allows you to
disable the "Download..." option that shows in the UI when right-clicking on a
file. This can also set by running CS_DISABLE_FILE_DOWNLOADS=1.
- Aligned the dependencies for binary and npm release artifacts.
- Fixed the code-server version from not displaying in the Help > About dialog.
- Fixed issues with the TypeScript and JavaScript Language Features Extension
failing to activate.
- Fixed missing files in ipynb extension.
- Fixed the homebrew release workflow.
- Fixed the Docker release workflow from not always publishing version tags.
Code v1.64.2
- Added tests for handleArgsSocketCatchError, setDefaults and
optionDescriptions.
- We switched from using the fork coder/vscode to a submodule of
microsoft/vscode + patches managed by quilt for how Code sits inside the
code-server codebase.
- Upgraded to Code 1.64.2.
- Update popup notification through --disable-update-check is now fixed.
- Fixed PWA icons not loading on iPad
- Fixed the homebrew release process. Our cdrci bot should now automatically
update the version as part of the release pipeline.
- Fixed titleBar color setting being ignored in PWA.
- Updated to minimist-list.
- Updated cloud-agent to v0.2.4 which uses nhooyr.io/webscoket v1.8.7.
Code v1.63.0
- Support for injecting GitHub token into Code so extensions can make use of it.
This can be done with the GITHUB_TOKEN environment variable or github-auth
in the config file.
- New flag --socket-mode allows setting the mode (file permissions) of the
socket created when using --socket.
- The version of Code bundled with code-server now appears when using the
--version flag. For example: 4.0.2 5cdfe74686aa73e023f8354a9a6014eb30caa7dd with Code 1.63.0.
If you have been parsing this flag for the version you might want to use
--version --json instead as doing that will be more stable.
- The workspace or folder passed on the CLI will now use the same redirect
method that the last opened workspace or folder uses. This means if you use
something like code-server /path/to/dir you will now get a query parameter
added (like so: my-domain.tld?folder=/path/to/dir), making it easier to edit
by hand and making it consistent with the last opened and menu open behaviors.
- The folder/workspace query parameter no longer has encoded slashes, making
them more readable and editable by hand. This was only affecting the last
opened behavior, not opens from the menu.
- Fix web sockets not connecting when using --cert.
- Prevent workspace state collisions when opening a workspace that shares the
same file path with another workspace on a different machine that shares the
same domain. This was causing files opened in one workspace to be "re-"opened
in the other workspace when the other workspace is opened.
- Pin the Express version which should make installing from npm work again.
- Propagate signals to code-server in the Docker image which means it should
stop more quickly and gracefully.
- Fix missing argon binaries in the standalone releases on arm machines.
Code v1.63.0
- Unset the BROWSER environment variable. This fixes applications that hard
exit when trying to spawn the helper script BROWSER points to because the
file is missing. While we do include the script now we are leaving the
variable omitted because the script does not work yet.
Code v1.63.0
code-server has been rebased on upstream's newly open-sourced server
implementation (#4414).
- Web socket compression has been made the default (when supported). This means
the --enable flag will no longer take permessage-deflate as an option.
- The static endpoint can no longer reach outside code-server. However the
vscode-remote-resource endpoint still can.
- OpenVSX has been made the default marketplace.
- The last opened folder/workspace is no longer stored separately in the
settings file (we rely on the already-existing query object instead).
- The marketplace override environment variables SERVICE_URL and ITEM_URL
have been replaced with a single EXTENSIONS_GALLERY variable that
corresponds to extensionsGallery in Code's product.json.
- VSCODE_PROXY_URI env var for use in the terminal and extensions.
- Extra extension directories have been removed. The --extra-extensions-dir
and --extra-builtin-extensions-dir flags will no longer be accepted.
- The --install-source flag has been removed.
- --link is now deprecated (#4562).
- We fixed a XSS vulnerability by escaping HTML from messages in the error page (#4430).
Code v1.60.0
- Fix logout when using a base path (#3608).
Undocumented (see releases page).
Undocumented (see releases page).
Code v1.56.1
- Support extraInitContainers in helm chart values (#3393).
- Change extraContainers to support templating in helm chart (#3393).
- Fix "Open Folder" on welcome page (#3437).
Code v1.56.1
- Check the logged user instead of $USER (#3330).
- Fix broken node_modules.asar symlink in npm package (#3355).
- Update cloud agent to fix version issue (#3342).
- Use xdgBasedir.runtime instead of tmp (#3304).
Code v1.56.0
- Update to Code 1.56.0 (#3269).
- Minor connections refactor (#3178). Improves connection stability.
- Use ptyHostService (#3308). This brings us closer to upstream Code.
- Add flag for toggling permessage-deflate (#3286). The default is off so
compression will no longer be used by default. Use the --enable flag to
toggle it back on.
- Make rate limiter not count against successful logins (#3141).
- Refactor logout (#3277). This fixes logging out in some scenarios.
- Make sure directories exist (#3309). This fixes some errors on startup.
- Update dependencies with CVEs (#3223).
This was added with 3.10.0, which means any previous versions are not
documented in the changelog.
To see those, please visit the Releases page.