0.34.0
- Removed F# sources from
src/FScript.LanguageServer*by moving LSP semantic modules intoFScript.CSharpInteropand keepingFScript.LanguageServeras C# host. - Replaced
FScript.LanguageServer.Testsproject 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/LanguageServerLegacytoFScript.CSharpInterop/LanguageServerto reflect the new primary architecture. - CI now runs branch update builds on PR
synchronizeevents while keepingci-mainscoped tomainpushes to avoid duplicate runs. - Enabled F# preview parallel compilation globally, disabled deterministic builds, and removed global RuntimeIdentifiers to reduce CI build latency.
- Added
FScript.CSharpInteropas a stable bridge for parse/infer/runtime-extern/stdlib-source services and wired LanguageServer through it. - Added
FScript.LanguageServerhost 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/viewInferredAstcommand 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 intoFScript.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|stringkey-domain displays). - Fixed map-pattern inlay hints to infer key/value/tail bindings (
string,int,int map) instead ofunknown.
Full Changelog: 0.33.0...0.34.0