[1.38.0] - 2024-12-28
Added
- Auto-import requires will now show the require path in the details section rather than just "Auto-import". This will
help to disambiguate between multiple modules with the same name but at different
paths. (#593) - Added configuration
luau-lsp.inlayHints.hideHintsForErrorTypes
(default:false
) to configure whether inlay hints
should be shown for types that resolve to an error type (#711) - Added configuration
luau-lsp.inlayHints.hideHintsForMatchingParameterNames
(default:true
) to configure whether
inlay hints are shown where a variable name matches the
parameter (#779) - Find all references of a returned function / table in a module will now return all cross-module
references (#879) - Go To Definition inside of a require call will now lead to the required file, similar to Document Link. This is useful
for editors that do not support Document Link (#612) - The recursive parameter in
game:FindFirstChild("ClassName", true)
is now supported for DataModel awareness. We
recursively find the closest descendant based on BFS (#689) - We now attach a semantic token modifier to usages of
self
in non-colon function definitions (i.e.
function T.foo(self, ...)
) ifself
is the first
argument (#456)
Changed
- The server no longer computes
relatedDocuments
in atextDocument/diagnostic
request unnecessarily if the client
does not support related documents - Go To Definition on a cross-module function reference will now only resolve to the function definition, rather than
also including the require statement
local func = require(path.to.function)
(#878). - Overhauled the globbing mechanism leading to significant performance improvements in indexing, workspace diagnostics,
and auto suggest requires, removing globbing as a bottleneck. Some results in example codebases ranging from 190 to
1900 KLoC:- Initial indexing: ~3.32x to ~7.1x speedup (43.60s -> 13.12s and 9.42s ->
1.33s) (#829) - Workspace diagnostics: ~2.39x to ~4.75x speedup (164.93s -> 69.07s and 8.49s ->
1.79s) - Auto-suggest requires: ~4.77x speedup (1.15s ->
0.24s) (#749) - These improvements heavily depend on the amount of code you have matching ignore globs. Workspace diagnostics
improvements depends on the performance of Luau typechecking.
- Initial indexing: ~3.32x to ~7.1x speedup (43.60s -> 13.12s and 9.42s ->
Fixed
- Fixed isIgnoredFile check failing due to mismatching case of drive letter on Windows (#752)
- Fixed
luau-lsp analyze --ignore GLOB
not ignoring files matching the glob if the files are within one of the
provided directories (#788) - Fixed production VSCode extension failing to find server binary when debugging another VSCode extension (#644)
- The Studio Plugin settings configuration is now stored in TestService instead of AnalyticsService to allow it to persist across sessions (#738)
- The Studio Plugin now correctly sends updates to the language server when an instance changes name or ancestry hierarchy (#636)
- Fixed Studio Plugin leaking Instance connections after disconnecting from server
New Contributors
- @kineticwallet made their first contribution in #872
Full Changelog: 1.37.0...1.38.0