Skip to content

Latest commit

 

History

History
289 lines (201 loc) · 11.4 KB

File metadata and controls

289 lines (201 loc) · 11.4 KB

CHANGELOG

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.

Unreleased

v0.3.5

Changed

  • The jetls-client.settings and jetls-client.initializationOptions schemas in package.json are 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.

v0.3.4

Added

  • Added code_lens.references configuration 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.showReferences command that opens the references panel when clicking a reference count code lens. (#513)

Changed

  • Updated server launch to use the jetls serve subcommand explicitly. (#528, #533)
  • Updated dependency versions to fix audit issues.

v0.3.3

Added

  • Added all_files configuration 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.

v0.3.2

Added

  • 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.

v0.3.1

Added

  • Added allow_unused_underscore configuration 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.

v0.3.0

Fixed

  • Fixed Windows spawning when using default settings (without explicit jetls-client.executable configuration). The previous fix in v0.2.6 only worked when users explicitly set the executable path to jetls.bat. Now the extension always uses shell spawning on Windows, allowing jetls to resolve to jetls.bat automatically. Thanks to @visr. (#375)

v0.2.7

Fixed

  • Fixed the release process.

v0.2.6

Fixed

  • Fixed Windows support by using jetls.bat instead of jetls.exe as the default executable, and enabling shell spawn mode for batch files. Fixes #339. Thanks to @visr. (#372)

v0.2.5

Added

  • 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.initializationOptions setting for static server options that require a restart to take effect. Currently supports n_analysis_workers for configuring concurrent analysis worker tasks. See https://aviatesk.github.io/JETLS.jl/release/launching/#init-options for details.

Changed

  • Updated vscode-languageclient to 10.0.0-next.18 to enable pull diagnostics support for Jupyter notebook cells.

v0.2.4

Added

v0.2.3

Improved

  • 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)

v0.2.2

Fixed

  • (Really) fix installation command syntax in the migration commands invoked via the extension installation/update notification to use correct Pkg.Apps.add keyword argument format

v0.2.1

Fixed

  • Fixed installation command syntax in documentation and migration notification to use correct Pkg.Apps.add keyword argument format

v0.2.0

Warning

Breaking changes: JETLS installation method has changed significantly. You must reinstall JETLS using the new jetls executable app. See the installation steps below.

Installation steps

  1. Install the jetls executable app:
    julia -e 'using Pkg; Pkg.Apps.add(; url="https://github.com/aviatesk/JETLS.jl", rev="release")'
  2. Make sure ~/.julia/bin is in your PATH
  3. Restart VSCode

Added

  • Added update notification system that prompts users to update the JETLS server when the extension is updated.

Changed

  • JETLS launch configuration has been significantly updated with the migration to the jetls executable 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 the jetls executable 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.settings section, not with jetls-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.executable configuration option that supports both standard installation (object form with path and threads properties) 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 path field of jetls-client.settings.diagnostic.patterns. For more details, see https://aviatesk.github.io/JETLS.jl/release/configuration/#config/diagnostic-patterns. (#313)

Breaking

  • Thread setting for JETLS process should now be set via jetls-client.executable.threads option, and the previous jetls-client.juliaThreads setting has been removed.
  • jetls-client.juliaExecutablePath and jetls-client.jetlsDirectory configuration options have been removed in favor of the new jetls-client.executable configuration
  • jetls-client.jetlsSettings has been renamed to jetls-client.settings

v0.1.3

Added

  • Added jetls-client.jetlsSettings.diagnostic configuration to control diagnostic on/off state and severity levels (#298)

v0.1.2

Added

v0.1.1

v0.1.0