Releases: JohnnyMorganz/luau-lsp
Releases · JohnnyMorganz/luau-lsp
1.44.0
[1.44.0] - 2025-04-24
Removed
- The deprecated
luau-lsp.require.fileAliases
andluau-lsp.require.directoryAliases
no longer show up in autocomplete for string requires. Use aliases as part of.luaurc
instead
Added
- Auto-importing now supports string requires. In standard platform, string requires is the default when
luau-lsp.completion.imports.enabled
andluau-lsp.completion.imports.suggestRequires
are 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.communicationChannel
with optionsstdio
(default) orpipe
to support communicating
using a UNIX socket file connection instead of stdin/stdout. On the server, this is configured by passing
--pipe=FILE
to the command line. This is useful for attaching a debugger to the server on macOS.pipe
is not
supported on Windows. (#998)
Changed
- Sync to upstream Luau 0.670
- Linux runners for GitHub actions are bumped from the deprecated
ubuntu-20.04
toubuntu-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
/DFInt
if 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.useVSCodeWatcher
is 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.generatorCommand
to 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--watch
flag. - 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.disabledGlobals
to 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
FuzzyEq
epsilon
parameter 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-lsp
binaries. (#897) - Auto-import require path information is added in
CompletionItem.labelDetails.description
as 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.ignoreGlobs
andluau-lsp.types.definitionFiles
configuration from a settings JSON file will now be
applied when runningluau-lsp analyze --settings file.json
on the command
line (#892)
Changed
- Sync to upstream Luau 0.660
Fixed
- Fixed erroneous
unknown notificated method: $/plugin/full
message 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
1.38.1
[1.38.1] - 2025-01-12
Changed
- Sync to upstream Luau 0.656