From aa3251bd9a9168736bdbf64c00cf145540360eaf Mon Sep 17 00:00:00 2001 From: Tom Brewer Date: Thu, 10 Sep 2026 22:28:46 -0600 Subject: [PATCH] Revert "Merge pull request #64 from Mythetech/chore/net11-rc1" Apollo cannot run on .NET 11: its analysis worker never initialises, so diagnostics, error highlights and completions are gone ("J.suggestions is not iterable" in the editor is the downstream symptom). Compilation and execution still work because that path never constructs a Roslyn workspace. On single-threaded browser-wasm, .NET 11 makes SemaphoreSlim.Wait throw PlatformNotSupportedException even when the semaphore is uncontended (RuntimeFeature.ThrowIfMultithreadingIsNotSupported in SemaphoreSlim.WaitCore). Roslyn's ProjectDependencyGraph takes exactly such a wait on AdhocWorkspace.AddProject, so no Roslyn workspace can be created in the browser at all. Upstream status: - dotnet/runtime#131859: the runtime team calls the throw by design and closed it; the guard is unchanged on release/11.0, so GA will not fix it. - dotnet/roslyn#84615: open, no milestone; Roslyn considers removing its blocking waits infeasible. Reproduces on Roslyn 5.3 and 5.6, so a Roslyn bump does not help. - Multithreaded WASM would avoid the guard, but WasmEnableThreads does not start on .NET 11 (dotnet/runtime#131311, milestone Future) and GitHub Pages cannot set the COOP/COEP headers it needs. This reverts the whole upgrade so Apollo returns to the exact net10.0 tree that was verified before it: Framework 0.18.1, the previous package set, and the references the net10 base framework does not provide. Apollo stays on .NET 10 until Roslyn or the runtime changes course. Verified: 142 tests pass on the reverted tree, the client publishes, and the analysis worker initialises without error in headless Chrome. --- .github/workflows/pr.yml | 2 +- .github/workflows/static.yml | 6 +++--- .../Apollo.Analysis.Worker.csproj | 10 +-------- Apollo.Analysis/Apollo.Analysis.csproj | 2 +- Apollo.Client/Apollo.Client.csproj | 12 +---------- .../Apollo.Compilation.Worker.csproj | 10 +-------- Apollo.Compilation/Apollo.Compilation.csproj | 4 +++- Apollo.Components/Apollo.Components.csproj | 2 +- Apollo.Contracts/Apollo.Contracts.csproj | 2 +- .../Apollo.Hosting.Worker.csproj | 10 +-------- Apollo.Hosting/Apollo.Hosting.csproj | 4 +++- .../Apollo.Infrastructure.csproj | 2 +- Apollo.Test/Apollo.Test.csproj | 2 +- Directory.Packages.props | 21 +++++++++++-------- global.json | 6 +++--- 15 files changed, 34 insertions(+), 61 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d6a8401..b03ca7c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -16,7 +16,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v4 with: - global-json-file: global.json + dotnet-version: 10.0.x - name: Install .NET WASM workload run: dotnet workload install wasm-tools diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index 764bd12..e3dcd67 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -1,7 +1,7 @@ # Simple workflow for deploying static content to GitHub Pages name: Deploy Apollo env: - PUBLISH_DIR: Apollo.Client/bin/Release/net11.0/publish/wwwroot + PUBLISH_DIR: Apollo.Client/bin/Release/net10.0/publish/wwwroot on: # Runs on pushes targeting the default branch and PRs @@ -40,7 +40,7 @@ jobs: - name: Get latest .NET SDK uses: actions/setup-dotnet@v4 with: - global-json-file: global.json + dotnet-version: "10.0.x" - name: Install .Net WASM workload run: dotnet workload install wasm-tools @@ -70,7 +70,7 @@ jobs: - name: Get latest .NET SDK uses: actions/setup-dotnet@v4 with: - global-json-file: global.json + dotnet-version: "10.0.x" - name: Install .Net WASM workload run: dotnet workload install wasm-tools diff --git a/Apollo.Analysis.Worker/Apollo.Analysis.Worker.csproj b/Apollo.Analysis.Worker/Apollo.Analysis.Worker.csproj index a977fd6..a22f681 100644 --- a/Apollo.Analysis.Worker/Apollo.Analysis.Worker.csproj +++ b/Apollo.Analysis.Worker/Apollo.Analysis.Worker.csproj @@ -1,17 +1,9 @@ - net11.0 + net10.0 browser-wasm Exe true - - - true - true enable enable diff --git a/Apollo.Analysis/Apollo.Analysis.csproj b/Apollo.Analysis/Apollo.Analysis.csproj index 31ae09b..d2745ae 100644 --- a/Apollo.Analysis/Apollo.Analysis.csproj +++ b/Apollo.Analysis/Apollo.Analysis.csproj @@ -1,7 +1,7 @@  - net11.0 + net10.0 enable enable diff --git a/Apollo.Client/Apollo.Client.csproj b/Apollo.Client/Apollo.Client.csproj index fcb897c..f9b066b 100644 --- a/Apollo.Client/Apollo.Client.csproj +++ b/Apollo.Client/Apollo.Client.csproj @@ -1,7 +1,7 @@ - net11.0 + net10.0 enable enable service-worker-assets.js @@ -11,16 +11,6 @@ false - - - false - - - diff --git a/Apollo.Compilation.Worker/Apollo.Compilation.Worker.csproj b/Apollo.Compilation.Worker/Apollo.Compilation.Worker.csproj index fafa837..3db86b9 100644 --- a/Apollo.Compilation.Worker/Apollo.Compilation.Worker.csproj +++ b/Apollo.Compilation.Worker/Apollo.Compilation.Worker.csproj @@ -1,20 +1,12 @@  - net11.0 + net10.0 Exe browser-wasm enable enable true - - - true - true diff --git a/Apollo.Compilation/Apollo.Compilation.csproj b/Apollo.Compilation/Apollo.Compilation.csproj index 63beef2..81d3222 100644 --- a/Apollo.Compilation/Apollo.Compilation.csproj +++ b/Apollo.Compilation/Apollo.Compilation.csproj @@ -1,7 +1,7 @@ - net11.0 + net10.0 enable enable Apollo.Compliation @@ -16,6 +16,8 @@ + + diff --git a/Apollo.Components/Apollo.Components.csproj b/Apollo.Components/Apollo.Components.csproj index 8adbb5f..0e1dbc1 100644 --- a/Apollo.Components/Apollo.Components.csproj +++ b/Apollo.Components/Apollo.Components.csproj @@ -1,7 +1,7 @@ - net11.0 + net10.0 enable enable Mythetech diff --git a/Apollo.Contracts/Apollo.Contracts.csproj b/Apollo.Contracts/Apollo.Contracts.csproj index 3e617d4..d7b2a6c 100644 --- a/Apollo.Contracts/Apollo.Contracts.csproj +++ b/Apollo.Contracts/Apollo.Contracts.csproj @@ -1,7 +1,7 @@  - net11.0 + net10.0 enable enable diff --git a/Apollo.Hosting.Worker/Apollo.Hosting.Worker.csproj b/Apollo.Hosting.Worker/Apollo.Hosting.Worker.csproj index 643040e..4d720b6 100644 --- a/Apollo.Hosting.Worker/Apollo.Hosting.Worker.csproj +++ b/Apollo.Hosting.Worker/Apollo.Hosting.Worker.csproj @@ -1,17 +1,9 @@  - net11.0 + net10.0 browser-wasm Exe true - - - true - true enable enable diff --git a/Apollo.Hosting/Apollo.Hosting.csproj b/Apollo.Hosting/Apollo.Hosting.csproj index 24cb501..e667805 100644 --- a/Apollo.Hosting/Apollo.Hosting.csproj +++ b/Apollo.Hosting/Apollo.Hosting.csproj @@ -1,12 +1,14 @@  - net11.0 + net10.0 enable enable + + diff --git a/Apollo.Infrastructure/Apollo.Infrastructure.csproj b/Apollo.Infrastructure/Apollo.Infrastructure.csproj index 5aacff8..891fdcc 100644 --- a/Apollo.Infrastructure/Apollo.Infrastructure.csproj +++ b/Apollo.Infrastructure/Apollo.Infrastructure.csproj @@ -1,7 +1,7 @@  - net11.0 + net10.0 enable enable diff --git a/Apollo.Test/Apollo.Test.csproj b/Apollo.Test/Apollo.Test.csproj index 830cfcc..435dd0f 100644 --- a/Apollo.Test/Apollo.Test.csproj +++ b/Apollo.Test/Apollo.Test.csproj @@ -1,7 +1,7 @@  - net11.0 + net10.0 enable enable diff --git a/Directory.Packages.props b/Directory.Packages.props index 508798d..2896bd6 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -7,11 +7,11 @@ - - + + - - + + @@ -34,12 +34,15 @@ - - - + + + + + - - + + + diff --git a/global.json b/global.json index 9e46b8b..69e101b 100644 --- a/global.json +++ b/global.json @@ -1,7 +1,7 @@ { "sdk": { - "version": "11.0.100-rc.1.26425.128", + "version": "10.0.100", "rollForward": "latestMinor", - "allowPrerelease": true + "allowPrerelease": false } -} +} \ No newline at end of file