Summary
.NET 8 Isolated Worker will reach End of Life on 10 November 2026. Azure Functions already supports .NET 10 in GA since February 2026. This issue tracks the full upgrade of XPoster from net8.0 to net10.0.
Motivation
Azure Portal is showing the following notification on the Function App resource:
"Upgrade your app to newer version as .NET 8 Isolated will reach EOL on 10/11/2026 and will no longer be supported."
.NET 10 is an LTS release supported until 14 November 2028.
Changes Required
src/XPoster.csproj
- Change
<TargetFramework>net8.0</TargetFramework> → <TargetFramework>net10.0</TargetFramework>
- Update NuGet packages to versions compatible with .NET 10 (e.g.
Microsoft.Azure.Functions.Worker, Microsoft.Azure.Functions.Worker.Sdk, and any other dependency with a newer compatible version)
global.json
- Update pinned SDK version from
8.0.x → 10.0.x
.github/workflows/ci.yml
- Update
actions/setup-dotnet dotnet-version from 8.x to 10.x
.github/workflows/persist-agent-graph.yml and .github/workflows/regenerate-agent-graph.yml
- Remove the
/tmp workaround currently used to escape the global.json SDK pin during graphify-dotnet installation.
- Both workflows already install .NET 10 SDK and run
graphify-dotnet from /tmp/dotnet-tool-install specifically because global.json pins the SDK to 8.0.x, which blocks the tool. Once global.json is updated to 10.0.x, the workaround is no longer needed and the install step can be simplified to a direct call:
- name: Install graphify-dotnet
run: dotnet tool install --global graphify-dotnet
Azure Portal
- Update the Function App runtime stack from
.NET 8 to .NET 10 in the Azure Portal configuration (or via IaC if the infra/ templates cover it).
Acceptance Criteria
Summary
.NET 8 Isolated Worker will reach End of Life on 10 November 2026. Azure Functions already supports .NET 10 in GA since February 2026. This issue tracks the full upgrade of XPoster from
net8.0tonet10.0.Motivation
Azure Portal is showing the following notification on the Function App resource:
.NET 10 is an LTS release supported until 14 November 2028.
Changes Required
src/XPoster.csproj<TargetFramework>net8.0</TargetFramework>→<TargetFramework>net10.0</TargetFramework>Microsoft.Azure.Functions.Worker,Microsoft.Azure.Functions.Worker.Sdk, and any other dependency with a newer compatible version)global.json8.0.x→10.0.x.github/workflows/ci.ymlactions/setup-dotnetdotnet-version from8.xto10.x.github/workflows/persist-agent-graph.ymland.github/workflows/regenerate-agent-graph.yml/tmpworkaround currently used to escape theglobal.jsonSDK pin duringgraphify-dotnetinstallation.graphify-dotnetfrom/tmp/dotnet-tool-installspecifically becauseglobal.jsonpins the SDK to8.0.x, which blocks the tool. Onceglobal.jsonis updated to10.0.x, the workaround is no longer needed and the install step can be simplified to a direct call:Azure Portal
.NET 8to.NET 10in the Azure Portal configuration (or via IaC if theinfra/templates cover it).Acceptance Criteria
XPoster.csprojtargetsnet10.0global.jsonpins .NET 10 SDKci.ymluses .NET 10 SDKpersist-agent-graph.ymlinstallsgraphify-dotnetwithout the/tmpworkaroundregenerate-agent-graph.ymlinstallsgraphify-dotnetwithout the/tmpworkaround