Releases: JohnnyMorganz/luau-lsp
Releases · JohnnyMorganz/luau-lsp
1.44.1
[1.44.1] - 2025-04-24
Fixed
- Fixed incorrect serialization of maps that are keyed by a Uri, causing commands that apply edits such as Rename to fail
1.44.0
[1.44.0] - 2025-04-24
Removed
- The deprecated
luau-lsp.require.fileAliasesandluau-lsp.require.directoryAliasesno longer show up in autocomplete for string requires. Use aliases as part of.luaurcinstead
Added
- Auto-importing now supports string requires. In standard platform, string requires is the default when
luau-lsp.completion.imports.enabledandluau-lsp.completion.imports.suggestRequiresare enabled. For the Roblox platform, string require auto imports must be switched on usingluau-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
1.43.0
[1.43.0] - 2025-04-19
Added
- Added setting
luau-lsp.server.communicationChannelwith optionsstdio(default) orpipeto support communicating
using a UNIX socket file connection instead of stdin/stdout. On the server, this is configured by passing
--pipe=FILEto the command line. This is useful for attaching a debugger to the server on macOS.pipeis not
supported on Windows. (#998)
Changed
- Sync to upstream Luau 0.670
- Linux runners for GitHub actions are bumped from the deprecated
ubuntu-20.04toubuntu-22.04. This may mean that release artifacts no longer work onubuntu-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/DFIntif 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
[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
[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.useVSCodeWatcheris 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
[1.41.0] - 2025-03-16
Added
- Documentation comments now attach to type alias definitions (#956)
- VSCode: Introduced
luau-lsp.sourcemap.generatorCommandto run a custom generator for updating the sourcemap. Accepts a shell command.
If undefined (default), then falls back to usingrojo. (#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 usingrojo, this option controls the--watchflag. - 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
[1.40.0] - 2025-03-01
Added
- Added configuration
luau-lsp.types.disabledGlobalsto 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
- Fix Vector2:Angle return type by @Barocena in #940
- Fix
FuzzyEqepsilonparameter by @Errorbot1122 in #950
New Contributors
- @Errorbot1122 made their first contribution in #950
Full Changelog: 1.39.2...1.40.0
1.39.2
[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
[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
[1.39.0] - 2025-02-08
Added
- Added configuration
luau-lsp.server.path(default:"") which allows the use of locally installedluau-lspbinaries. (#897) - Auto-import require path information is added in
CompletionItem.labelDetails.descriptionas 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.ignoreGlobsandluau-lsp.types.definitionFilesconfiguration from a settings JSON file will now be
applied when runningluau-lsp analyze --settings file.jsonon the command
line (#892)
Changed
- Sync to upstream Luau 0.660
Fixed
- Fixed erroneous
unknown notificated method: $/plugin/fullmessage 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
- @cswimr made their first contribution in #897
- @Stefanuk12 made their first contribution in #894
Full Changelog: 1.38.1...1.39.0