Skip to content

Releases: JohnnyMorganz/luau-lsp

1.32.0

14 Jul 11:40
Compare
Choose a tag to compare

[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 to inst:Clone (#678)
  • Added separate configuration luau-lsp.completion.imports.ignoreGlobs to filter out files for auto-importing. We no longer check luau-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

14 Jul 11:33
Compare
Choose a tag to compare

[1.31.1] - 2024-07-07

Fixed

  • The binary on Windows now statically links to the MSVC Runtime to make it more portable (#657)
  • Fixed Roblox types still showing when setting luau-lsp.platform.type to something other than roblox. (#668)

1.31.0

01 Jul 17:40
Compare
Choose a tag to compare

[1.31.0] - 2024-07-01

Changed

Fixed

  • Fixed crashes occuring for users without the MSVC Redistributable installed due to introduced dependency on Windows headers (#657)

1.30.1

27 Jun 18:59
Compare
Choose a tag to compare

[1.30.1] - 2024-06-27

Fixed

  • Fixed use-after-free when generating sourcemap types

1.30.0

23 Jun 15:20
Compare
Choose a tag to compare

[1.30.0] - 2024-06-23

Deprecated

  • Deprecated luau-lsp.types.roblox setting in favour of luau-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 configuring luau-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 add value: 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 with method 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

19 May 09:47
Compare
Choose a tag to compare

[1.29.1] - 2024-05-19

Changed

  • Sync to upstream Luau 0.626

Fixed

  • Type aliases now show generics in the type hover (#591)
  • Fixed 'find all references' not working for a global function declared in a file
  • Likewise, rename now supports global functions defined in a file (#568)

1.29.0

11 May 17:55
Compare
Choose a tag to compare

[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

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

04 Mar 09:08
bd0cd0a
Compare
Choose a tag to compare

[1.28.1] - 2024-03-04

Fixed

  • Fixed macos release build

1.28.0

03 Mar 14:26
Compare
Choose a tag to compare

[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, enable luau-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

20 Jan 12:38
Compare
Choose a tag to compare

[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 the method semantic token