Skip to content

Releases: JohnnyMorganz/luau-lsp

1.32.3

10 Aug 14:40
Compare
Choose a tag to compare

[1.32.3] - 2024-08-10

Fixed

  • Fixed a regression in 1.32.2 breaking resolution of virtual paths from real paths, particularly around script and relative usages of it. (#734, #735)

1.32.2

10 Aug 11:59
Compare
Choose a tag to compare

[1.32.2] - 2024-08-10

Changed

  • Sync to upstream Luau 0.638

Fixed

  • Fixed a regression in 1.32.0 causing luau-lsp.ignoreGlobs and luau-lsp.completion.imports.ignoreGlobs to not work (#719)
  • Fixed auto-imports injecting a require in the middle of a multi-line require when introducing a require with lower lexicographical ordering (#725)
  • Fixed documentation not showing for properties of an intersected type table in Hover and Autocomplete (#715)

1.32.1

23 Jul 11:17
Compare
Choose a tag to compare

[1.32.1] - 2024-07-23

Changed

  • Sync to upstream Luau 0.635

Fixed

  • Fixed :FindFirstChild() returning Instance instead of Instance? when applied to DataModel types
  • Fixed :FindFirstChild() not supporting a boolean "recursive" 2nd parameter on DataModel types (#704)
  • Fixed :WaitForChild() not supporting a number "timeout" 2nd parameter on DataModel types (#704)
  • Fixed inlay hint off-by-one on a function definition with an explicit self (i.e., function Class.foo(self, param)) (#702)
  • Fixed :GetPropertyChangedSignal() still showing children in autocomplete for DataModel types (#699)
  • Fixed grandparent's children showing up in autocomplete of FindFirstChild
  • Fixed tilde expansion (~) for paths to home directory not working in VSCode (#707)

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