Releases: JohnnyMorganz/luau-lsp
Releases · JohnnyMorganz/luau-lsp
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
1.27.0
[1.27.0] - 2023-12-25
Important Note
Heads up! In VSCode, this release changes the registered language ID from lua
to luau
. If you have any configuration based on the old language ID (e.g. themes / file icons / semantic highlighting overrides / language-specific settings overrides), you may need to update them.
Added
- Marking an item as
@deprecated
via documentation comments will now reflect its deprecated status in autocomplete (currently no diagnostics support)
- Show string literal byte length and utf8 characters on hover
- Added support for viewing textual bytecode and compiler remarks using commands
Luau: Compute Bytecode for file
andLuau: Compute Compiler Remarks for file
.
This opens up a new view with bytecode/remarks inlined as comments in the source file- Added configuration
luau-lsp.bytecode.vectorLib
,luau-lsp.bytecode.vectorCtor
andluau-lsp.bytecode.vectorType
to configure compiler options when generating bytecode - Custom editors should handle the
luau-lsp/bytecode
andluau-lsp/compilerRemarks
LSP message to integrate compiler remarks info in their editor
- Added configuration
Code_kAxxymJYpX.mp4
- Added
luau-lsp.types.robloxSecurityLevel
to select what security level to use for the API types, out of:None
,LocalUserSecurity
,PluginSecurity
andRobloxScriptSecurity
- Support passing
--settings
toluau-lsp lsp
configuring the default global settings to use
Changed
- Sync to upstream Luau 0.607
- Made rename operation fully backed by find all references, to ensure both return results that are consistent with each other
- Hide return type hints for no-op functions
- Changed the VSCode registered language and grammar ID from
lua
toluau
. NOTE: this may affect existing custom themes! - Renamed
script/globalTypes.d.lua
toscript/globalTypes.d.luau
(the old file will be kept temporarily for compatibility)- Please update your references to the file in custom scripts
- Default security level of API types changed from
RobloxScriptSecurity
toPluginSecurity
- setluau-lsp.types.robloxSecurityLevel
toRobloxScriptSecurity
to see original behaviour - Improved warning message when Rojo not found when attempting to generate sourcemap, with option to configure settings to disable autogeneration
Fixed
- Fixed Find All References / Rename not working on a table property defined inline, such as
name
in:
local T = {
name = "string"
}
- Fixed methods and events showing up in "GetPropertyChangedSignal" autocomplete
- Fixed requiring a directory containing "init.lua" not working
- Fixed go to definition on a property of a table that stores a cross-module type value (e.g. the result of a function defined in another module)
Full Changelog: 1.26.0...1.27.0
1.26.0
[1.26.0] - 2023-11-19
Added
- Added support for documentation comments on table type properties:
type Foo = {
--- A documentation comment
map: () -> ()
}
- We now show the file path in the completion description when auto-requiring files
Changed
- Sync to upstream Luau 0.604
- Overhauled command line argument parsing system to be more consistent and flexible
- Deprioritized
loadstring
in autocomplete luau-lsp.diagnostics.strictDatamodelTypes
now defaults tofalse
on the language server side (note, it was already defaultfalse
in VSCode).
Defaulting totrue
was unintentional. This will affect external language client users (e.g. neovim)- Analyze CLI tool now respects
luau-lsp.diagnostics.strictDatamodelTypes
if set in the provided configuration.
The flag--no-strict-dm-types
still remains for backwards compatibility reasons, but is now deprecated.
Fixed
- Attempting to rename a generic type parameter now correctly renames it in all locations
- Fixed renaming a local variable not appropriately renaming any imported types
- Auto-import requires will now show the full codeblock that will be inserted, rather than just the first line if also inserting a service
1.25.0
[1.25.0] - 2023-10-14
Changed
- Sync to upstream Luau 0.599
- Prioritise
game:GetService()
as the first autocompletion entry when typinggame:
- Code blocks in hover and documentation now use
luau
as the syntax highlighting
Fixed
- Do not add line separator in hover when there is no text documentation
- Fixed init files not working with directory aliases (e.g.
require("@dir")
orrequire("@dir/subdir")
)
1.24.1
[1.24.1] - 2023-09-09
Changed
- Sync to upstream Luau 0.594
- Support autocomplete end on
do
blocks
Fixed
- Fixed crash when attempting to Go To Definition of an imported type
1.24.0
[1.24.0] - 2023-08-26
Changed
- Sync to upstream Luau 0.592
- Simplified Instance.new and game:GetService calls internally and in the definitions file to reduce complexity issues in the typechecker.
Fixed
- Fixed cleanup of rojo sourcemap generation process when VSCode exits
- Fixed color presentations values being unclamped causing errors in other editors
- Fixed newline not added to separate services and requires when the suggestion imports both at the same time