v1.0.1 — diagnostics at scale
The urgent diagnostics-correctness release. A post-v1.0.0 full-project sweep (didOpen every .gd, tally publishDiagnostics) found error-level false positives in ~45–55% of files on real layered projects — all violations of the "never lie" rule, all reproducing on vanilla Godot 4.6.3. v1.0.1 fixes the four families behind that and the long tail the new sweep gate exposed, closes both v1.0.0 follow-ups (#13, #14), and removes the last manual setup step.
Outcome: the Pixelorama sweep reports 0 files with errors (from 133/243 with 1,223 errors); a 2,338-script production project went from 1,051 error-files to 43 — every remaining one independently rejected by Godot itself or using engine-fork-only syntax. Conformance ratchets hold at parser 186/186 and analyzer 300/300. Measured NTFS startup on that project: cold ~10.8 s → 3.5 s, warm ~11.2 s → 2.3 s.
Highlights
- Cross-file inheritance typing (#15):
extends ClassNameacross files now carries native lineage ($/@onreadywork) and inherited members (signals, vars, consts, funcs) through a shared, memoized script-chain resolver;selfpasses compatibility against base classes and native roots. - Cross-file member navigation (#13): references find
obj.signal.emit(…)sites across files; definition on a member access jumps to the declaration; hover rendersvar/constmember shapes. - Zero-config native types (#20): gdls auto-dumps
extension_api.json(with project context — GDExtension classes included) into.gdls/via your Godot binary (godotBinaryPath→GDLS_GODOT→ PATH), regenerating only when the binary or.gdextensionset changes.autoDumpExtensionApi: falseopts out. - Windows/NTFS startup (#14): the dominant cost was the file watcher's full-tree, handle-per-file arming scan — eliminated (
NoCache), with walk-metadata reuse and a discovery-only startup backstop. uid://autoload script targets resolve (#19);Packed*Arrayiteration (#17); builtin-constant arithmetic (Vector3.UP * 3.0, #16); cross-file const chains (#18); and a long tail of sweep-found fixes (relativepreloadpaths, autoloads as type annotations, builtin instance members, transform operators, native signals, parameter defaults,X.new()member inference, and more — see the CHANGELOG).
Upgrade note
The on-disk index cache format moved to v2 (interfaces now carry enum values and unnamed-enum hoists) — old caches are ignored automatically; expect one cold start after upgrading.
Full details: CHANGELOG.md.
Install
Download the binary for your platform below, place it on PATH. Native types now configure themselves — see the README quickstart.
Known issues — fixed in v1.0.2: on a machine where no extension_api.json source resolves (fresh install, no Godot on PATH, or the auto-dump fails/times out), v1.0.1 runs with an empty native DB and reports false-positive Could not find type "X" in the current scope. errors for every native class; the synchronous auto-dump can also stall the first request for up to 60 s, and hover on declarations renders an opaque <Script #N> placeholder. Upgrade to v1.0.2.