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.
- Commit:
HEAD - Diff:
169faf25...HEAD
- Commit:
169faf25 - Diff:
e45fc979...169faf25
-
The
jetls-client.settingsandjetls-client.initializationOptionsschemas inpackage.jsonare now auto-generated from the Julia configuration types, ensuring they stay in sync with the server. CI checks have also been added to verify the schema remains up to date. (#413) -
Removed unused test dependencies (
mocha,@types/mocha,@vscode/test-electron), reducing the dependency footprint and eliminating associated security vulnerabilities.
- Commit:
e45fc979 - Diff:
8c5ee9cc...e45fc979
- Added
code_lens.referencesconfiguration option (default:false). When enabled, shows reference counts for top-level symbols such as functions, structs, constants, abstract types, primitive types, and modules. - Added
jetls.showReferencescommand that opens the references panel when clicking a reference count code lens. (#513)
- Updated server launch to use the
jetls servesubcommand explicitly. (#528, #533) - Updated dependency versions to fix audit issues.
- Commit:
8c5ee9cc - Diff:
6fb9403c...8c5ee9cc
- Added
all_filesconfiguration option (default:true). When enabled, JETLS reports diagnostics for all Julia files in the workspace. When disabled, diagnostics are only reported for files currently open in the editor.
- Commit:
6fb9403c - Diff:
739ee43c...6fb9403c
- Added file system watchers for
workspace/didChangeWatchedFiles. While JETLS registers file watchers on the server side, vscode-languageclient doesn't automatically set up the actual file system watchers in response. This change ensures file change notifications are properly sent to the server, enabling features like automatic config reloading and diagnostics refresh when files change outside the editor.
- Commit:
739ee43c - Diff:
76146d0...739ee43c
- Added
allow_unused_underscoreconfiguration option (default:true). When enabled, unused variable diagnostics (lowering/unused-argument,lowering/unused-local) are suppressed for names starting with_(underscore), following the common convention where_-prefixed names indicate intentionally unused variables.
- Commit:
76146d0 - Diff:
7917aad...76146d0
- Fixed Windows spawning when using default settings (without explicit
jetls-client.executableconfiguration). The previous fix in v0.2.6 only worked when users explicitly set the executable path tojetls.bat. Now the extension always uses shell spawning on Windows, allowingjetlsto resolve tojetls.batautomatically. Thanks to @visr. (#375)
- Commit:
7917aad - Diff:
87c4b3f...7917aad
- Fixed the release process.
- Commit:
87c4b3f - Diff:
e552f0f...87c4b3f
- Fixed Windows support by using
jetls.batinstead ofjetls.exeas the default executable, and enabling shell spawn mode for batch files. Fixes #339. Thanks to @visr. (#372)
- Commit:
e552f0f - Diff:
dd21f78...e552f0f
-
Jupyter notebook support: JETLS now provides language features for Julia code cells in Jupyter notebooks. As shown in the demo below, all code cells are analyzed together as a single source, as if the notebook were a single Julia script. JETLS is aware of all cells, so features like go-to-definition, completions, and diagnostics work across cells just as they would in a regular Julia script.
JETLS × notebook LSP demo
Screen.Recording.2025-12-08.at.08.32.55.mov
-
Published extension to Open VSX Registry for users of VSCode-compatible editors like Eclipse Theia or Cursor.
-
Added
jetls-client.initializationOptionssetting for static server options that require a restart to take effect. Currently supportsn_analysis_workersfor configuring concurrent analysis worker tasks. See https://aviatesk.github.io/JETLS.jl/release/launching/#init-options for details.
- Updated
vscode-languageclientto 10.0.0-next.18 to enable pull diagnostics support for Jupyter notebook cells.
- Commit:
dd21f78 - Diff:
b6d20b6...dd21f78
- Added
jetls-client.settings.full_analysis.auto_instantiateconfiguration option (default:true). When enabled, JETLS automatically runsPkg.instantiate()for packages that have not been instantiated yet (e.g., freshly cloned repositories). See https://aviatesk.github.io/JETLS.jl/release/configuration/#config/full_analysis-auto_instantiate for more details. (#337)
- Commit:
b6d20b6 - Diff:
250188fc...b6d20b6
- Improved error handling when the JETLS executable is not found (ENOENT error).
The extension now displays a user-friendly error notification with:
- The command that was attempted
- The current PATH environment variable
- A hint to restart VS Code if JETLS is already installed
- Buttons to install JETLS or view the installation guide (#335)
- Commit:
250188fc - Diff:
34278b3...250188fc
- (Really) fix installation command syntax in the migration commands invoked via
the extension installation/update notification to use correct
Pkg.Apps.addkeyword argument format
- Commit:
250188fc - Diff:
34278b3...250188fc
- Fixed installation command syntax in documentation and migration notification
to use correct
Pkg.Apps.addkeyword argument format
- Commit:
34278b3 - Diff:
b0a4a4c...34278b3
Warning
Breaking changes: JETLS installation method has changed significantly.
You must reinstall JETLS using the new jetls executable app.
See the installation steps below.
- Install the
jetlsexecutable app:julia -e 'using Pkg; Pkg.Apps.add(; url="https://github.com/aviatesk/JETLS.jl", rev="release")' - Make sure
~/.julia/binis in yourPATH - Restart VSCode
- Added update notification system that prompts users to update the JETLS server when the extension is updated.
- JETLS launch configuration has been significantly updated with the migration to the
jetlsexecutable app. See https://aviatesk.github.io/JETLS.jl/release/#Server-installation for the new installation and configuration guide. Most users can complete the migration by installing thejetlsexecutable app:julia -e 'using Pkg; Pkg.Apps.add(; url="https://github.com/aviatesk/JETLS.jl", rev="release")' - JETLS configuration
should now be set with
jetls-client.settingssection, not withjetls-client.jetlsSettings. - Added detailed markdown descriptions for all configuration options.
These descriptions are displayed in the VSCode settings UI and as hover
tooltips when editing
settings.json - New
jetls-client.executableconfiguration option that supports both standard installation (object form withpathandthreadsproperties) and local JETLS checkout (array form with full command) - Added support for applying diagnostic configuration to specific files only by
specifying glob patterns in the
pathfield ofjetls-client.settings.diagnostic.patterns. For more details, see https://aviatesk.github.io/JETLS.jl/release/configuration/#config/diagnostic-patterns. (#313)
- Thread setting for JETLS process should now be set via
jetls-client.executable.threadsoption, and the previousjetls-client.juliaThreadssetting has been removed. jetls-client.juliaExecutablePathandjetls-client.jetlsDirectoryconfiguration options have been removed in favor of the newjetls-client.executableconfigurationjetls-client.jetlsSettingshas been renamed tojetls-client.settings
- Commit:
b0a4a4c - Diff:
6ac86f9...b0a4a4c
- Added
jetls-client.jetlsSettings.diagnosticconfiguration to control diagnostic on/off state and severity levels (#298)
- Commit:
6ac86f9 - Diff:
f199854...6ac86f9
- Added
jetls-client.jetlsSettings.formatterconfiguration to switch formatter backend between Runic and JuliaFormatter. See https://aviatesk.github.io/JETLS.jl/release/formatting/ for more details. (#284) - Added support for configuring JETLS through VSCode's
settings.jsonfile (#296)
- Commit:
f199854 - Diff:
bc91e4e...f199854
-
Commit:
bc91e4e -
Initial release