The Wire · Showcase
MAUI Overhauls NuGet Publishing as FSharp Preps for VS 18.11
By RepoJournal · Filed · About .NET
MAUI is replacing its custom NuGet publishing with Microsoft's 1ES.PublishNuget, and FSharp is rolling Microsoft.Build deps forward to VS 18.11, two moves that reshape release engineering across the .NET ecosystem.
The biggest shift: MAUI's release pipeline is swapping its hand-rolled NuGet.org publishing for 1ES.PublishNuget [1], a Microsoft-owned task that eliminates custom authentication, retries, and quota rotation [2]. This lands alongside added release-readiness health checks for local net11 previews [3] and a cleanup of the Publish-Build-Assets variable group [4], plus a move to workload-identity federation for OneLocBuild feed access [5]. Over in FSharp, the compiler is unpinning MSBuild dependencies and flowing to VS 18.11 (18.11.0-1.26417.9) [6], which fixes prebuilt issues in the VMR source-only build. On the language front, FSharp.Core gains generic print and println functions [7], and a new StartTaskImmediate async feature directly addresses a longstanding fslang suggestion [8]. To keep the inline-metadata regression from sneaking back, Chiron is being added to the compiler regression-test matrix [9]. Meanwhile, the dotnet/dotnet monorepo is pulling in a steady stream of codeflow updates from MSBuild, Roslyn, SDK, Arcade, NuGet [refs:11-15], ensuring all the moving parts stay in sync. The quote from the Chiron PR captures the stakes: "a compiler that misreads Aether's legacy pickled inline flag drops the inline body and emits a call to the dynamic-invocation stub" [9].
One email a day. Unsubscribe in one click.
Keep up with .NET in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review MAUI's switch to 1ES.PublishNuget and update any custom publishing scripts dotnet/maui [plan]
- → Monitor FSharp's MSBuild unpin to VS 18.11 - it may affect your build environment dotnet/fsharp [monitor]
- → Test generic print/println in FSharp.Core if you rely on printing dotnet/fsharp [plan]
- → Check dotnet/dotnet codeflow updates for any breaking changes in your dependencies dotnet/dotnet [monitor]
References
- [1] [ci] Replace custom NuGet.org publishing with 1ES.PublishNuget ↗ dotnet/maui
- [2] [ci] Replace custom NuGet.org publishing with 1ES.PublishNuget (#36568) dotnet/maui
- [3] Add local net11 official build readiness checks ↗ dotnet/maui
- [4] Remove Publish-Build-Assets variable group from main (#37589) dotnet/maui
- [5] Use WIF for OneLocBuild feed access (#37607) dotnet/maui
- [6] Unpin MSBuild deps and flow to VS 18.11 (18.11.0-1.26417.9) (#20278) dotnet/fsharp
- [7] Add generic print and println functions to FSharp.Core ↗ dotnet/fsharp
- [8] feat(Async): StartTaskImmediate ↗ dotnet/fsharp
- [9] Add Chiron to the compiler regression-test matrix (#20281) dotnet/fsharp
- [10] [main] Source code updates from dotnet/msbuild ↗ dotnet/dotnet
- [11] [main] Source code updates from dotnet/roslyn ↗ dotnet/dotnet
- [12] [main] Source code updates from dotnet/sdk ↗ dotnet/dotnet
- [13] [main] Source code updates from dotnet/arcade ↗ dotnet/dotnet
- [14] [main] Source code updates from nuget/nuget.client ↗ dotnet/dotnet