Repository navigation
v3.2.0 — Luau, the Rust client, and the fixes since 3.1.4
Added
- Luau (
.luau) is indexed (#138). It uses its own grammar, tree-sitter-luau 1.2.- Functions follow Lua's visibility rules.
export typeis an exported type alias.require(...)calls are read from the syntax tree, whether they take a string path or a Roblox instance path.- Measured on a 166-file Roblox codebase: every one of those files was outside the index before this release.
- The official Rust client ships behind the non-default
clientfeature (#57).
Fixed since 3.1.4
- #62 the visual ceiling is a context budget, not a transport limit
- #75, #76 the LSP server anchors on an absolute root
- #40 a file that cannot be read leaves the index rather than entering it empty
- #43 repo text is treated as untrusted at the point it becomes output
- #39 a dotfile is context, while a tool cache and a committed private key are not
- #34 a name that several things answer to makes no edge
- #31 every action is pinned to a commit, and releases publish from a clean tree
- #91 one version, four declarations, and a test that holds them in lockstep
- #71 a failed revwalk is an error, not a short list
- #86 the post-commit hook is installed where git will run it, or cxpak says it was not
- #77 a remove+recreate batch is decided by the disk
- #70 canonical output orders arrays, and every producer sorts totally
- #33 the watcher keys on the case the index stores
- #60, #61 container images are discovered rather than listed, a bind-mounted repo is not treated as a stranger, and recommended tools match what the server advertises
- #64 the plugin README no longer names a removed surface
Known limitations
- Lua and Luau
requirecalls are recorded as imports but do not become graph edges yet (#141). - The Luau grammar cannot parse
type function,keyof<typeof(X)>ortypeof(T)?annotations. The affected files degrade locally without crashing (#142). --no-default-featuresdoes not compile. This predates the release (#140).
What's Changed
- docs(#42): SECURITY.md advertised a sandbox for a loader that cannot run plugins by @lyubomir-bozhinov in #56
- feat(#57): ship the official Rust client with the server, behind a non-default feature by @lyubomir-bozhinov in #58
- fix(#39): a committed private key is not context by @lyubomir-bozhinov in #67
- fix(#61): recommend a tool the server actually advertises by @lyubomir-bozhinov in #65
- fix(#60): a bind-mounted repo is not a stranger by @lyubomir-bozhinov in #66
- fix(#33): the watcher keys on the case the index stores by @lyubomir-bozhinov in #74
- fix(#70): the canonical form orders arrays, and the producers sort totally by @lyubomir-bozhinov in #93
- fix(#91): one version, four declarations, and a test that says so by @lyubomir-bozhinov in #122
- fix(#77): let the disk decide a remove+recreate batch, not the removal by @lyubomir-bozhinov in #96
- fix(#86): put the hook where git will run it, or say it did not by @lyubomir-bozhinov in #100
- fix(#31): pin every action to a commit, and publish from a clean tree by @lyubomir-bozhinov in #123
- fix(#43): repo text is untrusted at the point it becomes output by @lyubomir-bozhinov in #128
- fix(#64): the installed plugin's README named a surface that no longer exists by @lyubomir-bozhinov in #130
- fix(#71): a revwalk that fails is an error, not a short list by @lyubomir-bozhinov in #121
- fix(#39): a dotfile is context, a tool cache is not by @lyubomir-bozhinov in #125
- fix(#34): an edge asserts a binding, so a name several things answer to makes none by @lyubomir-bozhinov in #124
- fix(#40): an unread file leaves the index rather than entering it empty by @lyubomir-bozhinov in #127
- fix(#75,#76): the LSP server anchors on an absolute root by @lyubomir-bozhinov in #133
- fix(test): stop scanning cxpak's own generated packs as user documentation by @lyubomir-bozhinov in #135
- fix(#62): the visual ceiling is a context budget, not a transport limit by @lyubomir-bozhinov in #129
- feat(#138): index Luau — Roblox source is no longer invisible by @lyubomir-bozhinov in #139
- chore(release): bump version to 3.2.0 by @lyubomir-bozhinov in #143
Full Changelog: v3.1.4...v3.2.0