Skip to content

0.34.0

Choose a tag to compare

@github-actions github-actions released this 14 Feb 21:06
· 28 commits to main since this release
  • Removed F# sources from src/FScript.LanguageServer* by moving LSP semantic modules into FScript.CSharpInterop and keeping FScript.LanguageServer as C# host.
  • Replaced FScript.LanguageServer.Tests project with a C# test project and C# LSP test harness to remove F# compile cost from LanguageServer test builds.
  • Deleted obsolete F# LanguageServer test sources after C# test project migration.
  • Renamed FScript.CSharpInterop/LanguageServerLegacy to FScript.CSharpInterop/LanguageServer to reflect the new primary architecture.
  • CI now runs branch update builds on PR synchronize events while keeping ci-main scoped to main pushes to avoid duplicate runs.
  • Enabled F# preview parallel compilation globally, disabled deterministic builds, and removed global RuntimeIdentifiers to reduce CI build latency.
  • Added FScript.CSharpInterop as a stable bridge for parse/infer/runtime-extern/stdlib-source services and wired LanguageServer through it.
  • Added FScript.LanguageServer host executable as the migration entrypoint for C#-owned LSP startup.
  • Added a first native C# LSP server core (JSON-RPC transport, initialize/shutdown, text sync, and stdlib-source request) with dedicated integration tests.
  • Extended the native C# LSP core with diagnostics publishing and viewAst/viewInferredAst command handling.
  • Switched C# LSP host to full-method dispatch parity via shared handlers, made it the default test target, and updated extension/tag packaging to use FScript.LanguageServer.dll.
  • Replaced the F# LSP server executable with FScript.LanguageServer (C#) and moved F# LSP logic into FScript.LanguageServer.Core.
  • Fixed imported qualified type annotations (for example common.ProjectInfo) in parser/type inference to prevent false type mismatches.
  • Fixed LSP inlay hints to ignore spans from other files so included symbols no longer leak labels into unrelated declarations.
  • Enforced string-only map keys across type inference, evaluation, samples, and LSP type rendering (removed int|string key-domain displays).
  • Fixed map-pattern inlay hints to infer key/value/tail bindings (string, int, int map) instead of unknown.

Full Changelog: 0.33.0...0.34.0