Releases: JohnnyMorganz/luau-lsp
1.56.1
1.56.0
[1.56.0] - 2025-11-02
Added
- The server now accepts DataModel information from the Studio Plugin even when there is no sourcemap present (#1216)
- Added
luau-lsp.completion.imports.includedServicesandluau-lsp.completion.imports.excludedServicesto configure what services show up during auto-importing. If non-empty, only the services listed inincludedServiceswill show up. None of the services listed inexcludedServiceswill ever show up. - Added support for inline documentation comments in global type definition files (relies on name being provided in settings, see below) (#271)
- Support processing
.config.luaufile as per Luau-syntax configuration files RFC
Changed
- Sync to upstream Luau 0.698
- Auto-imports are now enabled by default. Configure
luau-lsp.completion.imports.enabledif you wish to disable it (#619) - Definitions files must now provide a name for the file in settings and command line: i.e.
--definitions:@roblox=path/to/globalTypes.d.luau. This is to support mapping global types back to their original
definitions file for documentation features. Please update your LSP settings (luau-lsp.types.definitionFiles) and command line arguments.
Backwards compatibility has been temporarily preserved, with random names generated. - Table properties are now prioritised above other autocomplete entries (again, fixing a dormant bug)
- Contextual keywords (
else/elseif/end) are prioritised over other autocomplete entries when inside of the relevant statement
Fixed
- Fixed auto-indentation in VSCode when entering a block if there is a comment after the introduction token (e.g.,
if true then -- comment) (#1222) - Fixed auto-imports not showing up when autocompleting in array-like tables (i.e., before the
=sign has been written for a property) (#1062)
External Contributions
- Fix typo in CMakeLists by @checkraisefold in #1234
- Add missing C++ exception header by @theoparis in #1236
- Feature: Support DM info from companion plugin even if no sourcemap.json exists by @zovits in #1216
New Contributors
- @theoparis made their first contribution in #1236
- @zovits made their first contribution in #1216
Full Changelog: 1.55.0...1.56.0
1.55.0
[1.55.0] - 2025-10-19
Added
- Require graph functionality is now available on the command line, with
luau-lsp require-graph [--sourcemap PATH] <files>. There are two
output modes:--output-mode=json(default) and--output-mode=dot. The JSON output is currently experimental and is
subject to change. - The VSCode extension now provides a Getting Started walkthrough to guide you through common configuration to change (
platform, sourcemap, global types). You can access this walkthrough at any time by running
Luau: Open Walkthrough(#973)
Fixed
- Fixed broken visualization of require graph due to missing libraries
- Hidden variadic parameters no longer show in autocomplete of functions when new type solver is
enabled (#1129)
Changed
- Sync to upstream Luau 696
External Contributions
- feat: add JB to the list of supported IDEs by @AleksandrSl in #1224
- Fix clang-cl compilation, better compilation instructions by @checkraisefold in #1232
Full Changelog: 1.54.0...1.55.0
1.54.0
[1.54.0] - 2025-09-27
Added
-
Introduced commands
Luau: View Require GraphandLuau: View Require Graph for current fileto visualise the
current graph of require dependencies within a whole project, or from a specific file. The graph is visualised with
dot. Custom Editor Integrations may use theluau-lsp/requireGraphrequest to get the dot
data. (#1209) -
Documentation is now shown when autocompleting a property name inside of a table
literal (#1180)type Tbl = { --- Some documentation Property: number } local x: Tbl = { Prop| -- will show 'Property' with documentation 'Some documentation' }
-
Documentation is now shown when autocompleting a type reference
name (#1180)--- Some documentation type SomeType = number local x: Some| -- will show 'SomeType' with documentation 'Some documentation'
-
Find all references now works when starting from a property defined in a table type (including across files):
type SomeTable = { Property: number, -- find all references will show the usage below } local x: SomeTable local y = x.Property
-
Rename symbols now works on properties of table types (including across files)
-
Similarly, find all references on a property will now include the original table type definition if it exists. Rename
will also modify this table type property name. (#1166)
Changed
- Sync to upstream Luau 0.693
Fixed
- Fixed incorrect shutdown sequence leading to errors on reload (e.g., "Pending response rejected since connection got
disposed", or "Stopping the server timed out") (#1210)
Full Changelog: 1.53.5...1.54.0
1.53.5
Same as v1.53.4, but with a fix for the macOS release
[1.53.5] - 2025-09-20
Fixed
- Upgrade sentry-native version to fix macOS build
1.53.4
(MacOS release failed for this version. This is resolved in v1.53.5)
[1.53.4] - 2025-09-20
Changed
- Sync to upstream Luau 0.692
Full Changelog: 1.53.3...1.53.4
1.53.3
[1.53.3] - 2025-09-06
Changed
- Sync to upstream Luau 0.690
- TextMate grammar syntax highlighting extended to support
read/writemodifiers in tables, type functions, and highlightingbuffer/threadetc. as types (Luau.tmLanguage #18, Luau.tmLanguage #19)
Full Changelog: 1.53.2...1.53.3
1.53.2
[1.53.2] - 2025-08-30
Changed
- Sync to upstream Luau 0.689
Fixed
- Fixed crash due to an internal data race when managing cancellation tokens
- Fixed server failing to start up due to incorrectly handling string-based RPC message
IDs (#1175)
New Contributors
Full Changelog: 1.53.1...1.53.2
1.53.1
[1.53.1] - 2025-07-31
Fixed
- Fixed crash on server shutdown due to deadlock
- Fixed crashes on macOS due to small thread stack sizes causing stack overflows in Luau typechecking
Full Changelog: 1.53.0...1.53.1
1.53.0
[1.53.0] - 2025-07-26
Added
- The language server now supports cancellation notifications from the client. This should help in cases where the
server is stuck waiting for typechecking to complete. - Emit error cause when fetching fails to download API types
Changed
- Sync to upstream Luau 0.684
- The release artifact for Linux x86_64 is renamed from
luau-lsp-linux.ziptoluau-lsp-linux-x86_64.zip
Fixed
- Autocomplete now properly respects Luau's ParenthesesRecommendation and puts the cursor inside of the parentheses when
autocompleting a function call where the arguments are all optional / any (e.g.,require()or
wait()) (#317) - Fixed autocomplete of function calls in new solver not inserting parameter names if the parameters do not have a type
annotation
Full Changelog: 1.52.1...1.53.0