Skip to content

Releases: JohnnyMorganz/luau-lsp

1.44.0

24 Apr 16:53
Compare
Choose a tag to compare

[1.44.0] - 2025-04-24

Removed

  • The deprecated luau-lsp.require.fileAliases and luau-lsp.require.directoryAliases no longer show up in autocomplete for string requires. Use aliases as part of .luaurc instead

Added

  • Auto-importing now supports string requires. In standard platform, string requires is the default when luau-lsp.completion.imports.enabled and luau-lsp.completion.imports.suggestRequires are enabled. For the Roblox platform, string require auto imports must be switched on using luau-lsp.completion.imports.stringRequires.enabled (default: false) (#494).

Changed

  • Reimplementation of string require autocomplete based off upstream Luau require work
  • Updated implementation of Uris internally to handle case-insensitive file systems correctly

Fixed

  • Fixed diagnostics not updating on windows for Neovim or Zed due to mismatched URI cases (#988)
  • Fixed "isIgnoredFile failed: relative path is default-constructed" for Neovim Windows users (#752)

1.43.0

19 Apr 17:22
Compare
Choose a tag to compare

[1.43.0] - 2025-04-19

Added

  • Added setting luau-lsp.server.communicationChannel with options stdio (default) or pipe to support communicating
    using a UNIX socket file connection instead of stdin/stdout. On the server, this is configured by passing
    --pipe=FILE to the command line. This is useful for attaching a debugger to the server on macOS. pipe is not
    supported on Windows. (#998)

Changed

  • Sync to upstream Luau 0.670
  • Linux runners for GitHub actions are bumped from the deprecated ubuntu-20.04 to ubuntu-22.04. This may mean that release artifacts no longer work on ubuntu-20.04.
  • Improved Studio plugin error message when attempting to connect to a server but it is not online (#982)
  • VSCode extension will now strip the prefix FFlag / DFFlag / FInt / DFInt if they were included in the overrides name (#981)

Fixed

  • Fixed a bug when the New Type Solver is enabled where diagnostics would not update in dependent files when a file was
    changed until the dependent file is modified

Full Changelog: 1.42.1...1.43.0

1.42.1

06 Apr 13:48
Compare
Choose a tag to compare

[1.42.1] - 2025-04-06

Changed

  • Sync to upstream Luau 0.668

Fixed

  • Don't show function types with function kind or label details when autocompleting in a type
    context (#987)
  • Fixed crash when registering a non-Roblox definitions file that contains classes named Object / Instance /
    ServiceProvider / EnumItem (#986)

Full Changelog: 1.42.0...1.42.1

1.42.0

27 Mar 19:43
Compare
Choose a tag to compare

[1.42.0] - 2025-03-27

Changed

  • Sync to upstream Luau 0.666
  • Optimized re-indexing on changed files when large number of changes processed at once
  • Watched files re-indexing now respects ignore globs specification

Fixed

  • Added a debounce of 1s on file changes triggering sourcemap generation when luau-lsp.sourcemap.useVSCodeWatcher is enabled
  • Fixed crashing due to bad memory access when hovering over an imported type reference due to documentation computation
  • Fixed sources of crashing and flakiness when hovering + go to definition on imported type references in the new solver
  • Reduced the need to run 2 type checks unnecessarily on files when the new type solver is enabled

Full Changelog: 1.41.0...1.42.0

1.41.0

16 Mar 16:45
Compare
Choose a tag to compare

[1.41.0] - 2025-03-16

Added

  • Documentation comments now attach to type alias definitions (#956)
  • VSCode: Introduced luau-lsp.sourcemap.generatorCommand to run a custom generator for updating the sourcemap. Accepts a shell command.
    If undefined (default), then falls back to using rojo. (#968)
  • VSCode: Introduced luau-lsp.sourcemap.useVSCodeWatcher (default: false). When enabled, the extension will connect to
    VSCode file added / removed events for retriggering the generator. When disabled (default), the extension delegates to
    the generator process for watching. When using rojo, this option controls the --watch flag.
  • VSCode: Documentation now supports HTML syntax (#964)

Changed

  • Sync to upstream Luau 0.665
  • VSCode: Improved error reporting when the Studio Plugin sends a result that is too large. The error now includes the
    size limit, the received size, and steps to resolve the issue (#969)
  • The language server will no longer attempt to remove HTML tags from
    documentation (#964)

External Contributions

  • Attach documentation comments to type alias definitions by @m4fh in #956
  • Enable HTML rendering in language client options by @m4fh in #964

Full Changelog: 1.40.0...1.41.0

1.40.0

02 Mar 10:45
Compare
Choose a tag to compare

[1.40.0] - 2025-03-01

Added

  • Added configuration luau-lsp.types.disabledGlobals to support removing globals from the main scope for analysis.
    Accepts a list of libraries or library methods (e.g., table, string.split,
    etc.) (#888)

Changed

  • Sync to upstream Luau 0.663
  • Improved error reporting when the studio plugin server in VSCode fails to start up (typically due to port already in use) (#936)

Fixed

  • Fixed an issue where lint warnings would suddenly disappear when typing characters / saving a file, and only reappear
    after further edits
  • Autocompleting a table property that matches a keyword will now autocomplete correctly with braces (i.e., t.then ->
    t["then"]) (#937)

External Contributions

New Contributors

Full Changelog: 1.39.2...1.40.0

1.39.2

15 Feb 11:26
Compare
Choose a tag to compare

[1.39.2] - 2025-02-15

Changed

  • Sync to upstream Luau 0.661

Fixed

  • Fixed unintended bump of minimum supported macOS version in 1.39.0 to macOS 14. The language server binary supports a minimum version of macOS 10.15
  • Single-line documentation comments (---) now correctly preserve newlines (#917).
  • Fixed stack-use-after-free crash in sourcemap definition magic functions when the new solver is
    enabled (#928)

1.39.1

15 Feb 10:46
Compare
Choose a tag to compare

[1.39.1] - 2025-02-08

Fixed

  • Fixed server failing to start up due to attempting to run an invalid path as the server binary

1.39.0

08 Feb 20:04
Compare
Choose a tag to compare

[1.39.0] - 2025-02-08

Added

  • Added configuration luau-lsp.server.path (default: "") which allows the use of locally installed luau-lsp binaries. (#897)
  • Auto-import require path information is added in CompletionItem.labelDetails.description as well as just in
    CompletionItem.detail
  • In VSCode, the opening brace { character will be automatically closed with a } character when completed within an interpolated string. This occurs when the { character is typed just before whitespace or a ` character (#916).
  • Added support for Luau's fragment autocomplete system. This can be enabled by configuring luau-lsp.completion.enableFragmentAutocomplete (default: false). This incremental system can lead to performance improvements when autocompleting.
  • The luau-lsp.ignoreGlobs and luau-lsp.types.definitionFiles configuration from a settings JSON file will now be
    applied when running luau-lsp analyze --settings file.json on the command
    line (#892)

Changed

  • Sync to upstream Luau 0.660

Fixed

  • Fixed erroneous unknown notificated method: $/plugin/full message in logs even though plugin message was handled
  • Linux ARM releases are now built on arm-based GitHub runners, and hence should support Linux ARM properly

External Contributions

  • Fix Types for Faces and Axes datatypes by @Barocena in #912
  • fix: return value in Roblox platform notification handler by @lopi-py in #910
  • Add server path configuration option to the VSCode extension by @cswimr in #897
  • feat: add require path in labelDetails.description by @lopi-py in #915
  • Load ignore globs and definition files from settings file by @Stefanuk12 in #894

New Contributors

Full Changelog: 1.38.1...1.39.0

1.38.1

12 Jan 13:35
Compare
Choose a tag to compare

[1.38.1] - 2025-01-12

Changed

  • Sync to upstream Luau 0.656