0.27.0
[0.27.0]
- Added structural update syntax support with
withinside structural literals:{| base with Field = value |}. - Structural updates can add new fields and work with multiline layout.
- Added parser/type/eval regression coverage for structural record update semantics.
[0.26.0]
- Split record literals:
{ ... }is nominal (must match one declared record type), while{| ... |}is structural. - Improved type identity and LSP navigation for records (definition/type-definition from annotations, record literal fields, and parameter usages).
- Added sample and regression coverage for annotation/literal semantics and record navigation (
samples/annotations-and-matching.fss, language + LSP tests).
[0.25.0]
Extension
- Fix nullness warnings.
- Implemented analysis state.
[0.24.0]
Tooling
- Added first-party VS Code extension (
vscode-fscript) with:- FScript syntax highlighting.
- Language Server features: diagnostics, completion, hover, symbols, go-to-definition, type-definition, references, rename, inlay hints, semantic tokens, quick fixes, and include-path navigation.
- Extension status bar + output channel integration.
- Added automatic .NET runtime acquisition support for the extension via
.NET Install Toolintegration (with PATH fallback). - Added tag-only publish workflow to distribute the extension to VS Code Marketplace and Open VSX.
Documentation
- Added dedicated map matching reference:
docs/map-matching-reference.md. - Added include-resolution details (path normalization, root confinement, include deduplication, file-aware errors) in
docs/syntax-and-indentation.md. - Added embedding cookbook section to
docs/embedding-fscript-language.md. - Added and expanded onboarding tutorial and README navigation polish.
Full Changelog: 0.26.0...0.27.0