Releases: JohnnyMorganz/luau-lsp
Releases ยท JohnnyMorganz/luau-lsp
1.32.0
[1.32.0] - 2024-07-14
Added
- Support tilde expansion (
~
) to home directory for definition and documentation file paths - Added a datamodel-aware
WaitForChild
function - We now apply a datamodel-aware
FindFirstChild
function to the top level datamodel and service types (#543) - Added autocompletion of children to
:FindFirstChild("")
and:WaitForChild("")
(#685) - Attached magic function to
Instance.fromExisting
to allow it to operate similar toinst:Clone
(#678) - Added separate configuration
luau-lsp.completion.imports.ignoreGlobs
to filter out files for auto-importing. We no longer checkluau-lsp.ignoreGlobs
. (#686) - Diagnostics will now refresh when the Studio plugin sends updated DataModel information (#637)
Changed
- Sync to upstream Luau 0.634
- Reverted "configuration in initializationOptions" and reintroduced messages postponing due to crashes in clients that do not send initial config
Fixed
- Fix static linking with MSVC Runtime for release binaries
- Fixed clients that do not support pull diagnostics erroring with "server not yet received configuration for diagnostics"
- Don't show children in autocomplete for
:GetPropertyChangedSignal("")
(#684) - Fixed autocomplete end not working for non-local functions (#554)
- Fixed extension failing to get types information on macOS with "'fetch' is not defined"
- Fixed crashes under new type solver due to internal removal of different type inference for autocomplete/non-autocomplete contexts (#692)
- Fixed crashes where internally we fail to normalise a "virtual path" from a sourcemap to a real path, causing it to mismatch with the filepath understood by VSCode, leading to desync in internal file state. (#645)
1.31.1
1.31.0
[1.31.0] - 2024-07-01
Changed
- Sync to upstream Luau 0.632
- Language clients are recommended to send configuration during intializationOptions (see https://github.com/JohnnyMorganz/luau-lsp/blob/main/editors/README.md for details)
- Removed need for postponing requests whilst waiting for platform configuration (relies on clients sending config in intializationOptions)
Fixed
- Fixed crashes occuring for users without the MSVC Redistributable installed due to introduced dependency on Windows headers (#657)
1.30.1
[1.30.1] - 2024-06-27
Fixed
- Fixed use-after-free when generating sourcemap types
1.30.0
[1.30.0] - 2024-06-23
Deprecated
- Deprecated
luau-lsp.types.roblox
setting in favour ofluau-lsp.platform.type
Added
- Added
luau-lsp.platform.type
to separate platform-specific functionality from the main LSP - Added option
--platform
to analyze CLI to make configuringluau-lsp.platform.type
more convenient - Added support for registering FFlags for the server via initializationOptions, rather than on the command line (#590)
- Added
luau-lsp.inlayHints.makeInsertable
(default:true
) to configure whether inlay hint type annotations can be inserted by clicking (#620) - Added inlay hints for varargs parameter type (#622)
- Added setting
luau-lsp.plugin.maximumRequestBodySize
(default:3mb
) to configure the maximum size of the payload accepted from the Studio Plugin - Added support for requiring
.toml
files - Added syntax highlighting for
luau
in markdown fenced codeblocks
Changed
- Sync to upstream Luau 0.631
- An indexed expression will no longer show an inlay hint if the index matches the parameter name (i.e.,
call(other.value)
won't addvalue:
inlay hint) (#618) - Studio Plugin will now perform Gzip compression on sent requests
Fixed
- Overloaded methods (typed as an intersection of function types with explicitly defined
self
) are now correctly marked withmethod
semantic token (#574) - Fixed semantic token highlighting overrides for global variables
- Improved robustness for non-ASCII filesystem paths in file lookup and directory traversal
1.29.1
1.29.0
[1.29.0] - 2024-05-11
Added
- Bytecode display will now show type info information. Added setting
luau-lsp.bytecode.typeInfoLevel
(default: 1) to configure the type info level shown. - Added "magic functions / refinements" support under the New Solver (i.e., special handling of :IsA, :FindFirstChildWhichIsA, :Clone, etc.)
Changed
- Sync to upstream Luau 0.625
- Improved memory usage of document and workspace diagnostics by no longer storing type graphs
- Rewritten the Luau grammar syntax: https://github.com/JohnnyMorganz/Luau.tmLanguage
Fixed
- Fixed autocompletion of strings with '/' characters causing the prefix to be duplicated rather than replaced (#607)
- Fixed bug with string requires where a required files types may not correctly update when the file contents changed
1.28.1
[1.28.1] - 2024-03-04
Fixed
- Fixed macos release build
1.28.0
[1.28.0] - 2024-03-03
Changed
- Sync to upstream Luau 0.615
- Non-function properties will now no longer be shown by default when autocompleting a method call (e.g.,
foo:bar
).
To revert back to the original behaviour, enableluau-lsp.completion.showPropertiesOnMethodCall
- Support Ubuntu 20.04
Fixed
- Autocompletion of variables that hold a class type will now correctly have a kind of "variable" rather than "class"
- Introduced a fix for orphaned
rojo
processes after VSCode has closed FindFirstAncestor
method now correctly finds the project root in non-DataModel projects- Fixed bad handling of unicode in filesystem paths causing crashes on server startup
- Gracefully handle filesystem errors when visiting directories for indexing / workspace diagnostics
1.27.1
[1.27.1] - 2024-01-20
Changed
- Sync to upstream Luau 0.609
Fixed
- Switched to memory-efficient implementation of workspace diagnostics (currently behind FFlag
LuauStacklessTypeClone3
) - Improved handling of configuration info received from non-VSCode clients
- Functions with explicitly defined
self
parameters are correctly marked with themethod
semantic token