Releases: MagnusOpera/FScript
Releases · MagnusOpera/FScript
0.48.1
- Made unsigned macOS release-asset cleanup best-effort so transient GitHub API failures no longer fail the release workflow.
Full Changelog: 0.48.0...0.48.1
0.48.0
- Switched VS Code extension changelog to a symlink of root
CHANGELOG.mdso Marketplace/Open VSX release notes use a single shared source.
Full Changelog: 0.47.0...0.48.0
0.47.0
- Publishing to tap requires only sign artifacts.
Full Changelog: 0.46.0...0.47.0
0.46.0
- Fixed lexer indentation handling for compact list layouts with multiple multiline record items so Terrabuild-style operation lists parse without inconsistent-indentation errors.
- Enforced compact delimiter layout for non-empty
{...}and[...]forms so opening/closing braces or brackets cannot appear on their own lines.
Full Changelog: 0.45.0...0.46.0
0.45.0
- Fixed parser/LSP false "Block cannot end with a let binding" errors for block-scoped
letvalues that contain multiline expression continuations (for example list literals with multiline record items).
Full Changelog: 0.44.0...0.45.0
0.44.0
- Added
samples/quicksort.fsswith a recursive quicksort example over integer lists. - Added let-function return type annotations (
let f ... : Type = ...) with parser/type-inference support and updated annotation specifications.
Full Changelog: 0.43.0...0.44.0
0.43.0
- Switched LSP local go-to-definition to lexical AST binding resolution so local symbol usages (including record-field values and edge-of-token clicks) resolve to their exact nearest binder.
- Added
fscript.server.logLevel=debugsupport to surface detailed definition/references diagnostics and refined definition-follow-up references suppression so declaration clicks still show references while usage clicks navigate reliably. - Fixed local match-pattern declaration clicks (for example
Some batch) to stop jumping to first usage and preserve references-window behavior. - Updated debug logging output to emit LSP
window/logMessageentries whenfscript.server.logLevel=debug, so logs are visible in editor output. - Fixed LSP definition on member-access field names (for example
batch.ProjectPaths) to resolve via qualifier type inference (including match-pattern-bound locals). - Updated top-level function declaration clicks to preserve references-window behavior by keeping declaration entries in immediate follow-up reference results.
- Fixed LSP reference indexing to include
nameof <symbol>occurrences so top-level declaration clicks surfacenameofusages in the references window. - Added an independent VS Code/LSP toggle for hover hints so it can be enabled or disabled without disabling the language server.
Full Changelog: 0.42.0...0.43.0
0.42.0
- Added LSP go-to-definition support for local and pattern-bound variable bindings so usages navigate to the nearest in-scope declaration (including function parameters and tuple
letdestructuring names).
Full Changelog: 0.41.0...0.42.0
0.41.0
- Added
Int/Float/Boolconversion helpers in stdlib-style builtins (*.tryParseand*.toString) for safe scalar parsing and string formatting. - Added tuple let destructuring (
let (a, b) = ...) for top-level, block, and let-expression non-rec bindings.
Full Changelog: 0.40.0...0.41.0
0.40.0
- Fixed VS Code/LSP analysis to inject a default
Envbinding so scripts usingEnvno longer show unbound-variable diagnostics in the editor. - Fixed VS Code/LSP type navigation so
EnvandEnvironmentresolve to the stdlibEnvironmenttype definition. - Added CLI script argument forwarding with
--and injectedEnvmetadata (ScriptName,Arguments) for file, stdin, and REPL execution modes, withEnvironmentnow defined in stdlib for LSP/type visibility.
Full Changelog: 0.39.0...0.40.0