Repository navigation
feat: upgrade plugin to .NET 10 and support net9.0 / net10.0 generated code - #462
Merged
Merged
Conversation
…d code Plugin - All plugin, test, docs and benchmark projects now target net10.0; global.json pins the .NET 10 SDK. - The WASM plugin is still built as a wasip1 core module: the .NET 10 WASI SDK hardcodes wasip2 and links a component-model world, which sqlc (wazero) rejects with "invalid version header". WasmRunner.csproj overrides the compile/link steps, and roots PluginOptions so the trimmer keeps RawOptions' constructor (System.Text.Json). - WASI SDK bumped 22 -> 25 in the build workflow. Generated code - targetFramework accepts net9.0 and net10.0 (default stays net8.0, so existing projects do not change). - Unsupported values now fail with a message listing the supported ones. - The core examples in sqlc.ci.yaml are spread over net8.0 / net9.0 / net10.0 so every framework is built and tested end-to-end. CI / docs - Workflows take the SDK from global.json (unit-tests job gained a setup-dotnet step); the Windows .NET Framework job stays on the .NET 8 SDK. - Docs and AGENTS.md updated: stale driver/Dapper default versions, make targets, prerequisites, a target-framework section, and why the WASM plugin targets wasip1. README regenerated. - Ignore sqlc's plugin cache (/plugins/). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
Release Assistant - PassedAll requirements satisfied. Release Information:
This PR is ready to merge. |
# Conflicts: # .github/workflows/legacy-tests.yml # .github/workflows/tests.yml
README.md is regenerated from docs/ on release, so only the docs sources carry the changes. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…mentException Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… tests Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
net10.0;global.jsonpins the .NET 10 SDK. Fixes Support generation for dotnet 9.0 #169.targetFrameworknow acceptsnet9.0andnet10.0(default staysnet8.0, so existing projects don't change). Unsupported values fail with a message listing the valid ones.invalid version header.WasmRunner.csprojoverrides the compile/link steps, and rootsPluginOptionsso the trimmer keepsRawOptions' constructor.build.yml; workflows take the SDK fromglobal.json(the unit-tests job gained asetup-dotnetstep).sqlc.ci.yamlare spread over net8.0 / net9.0 / net10.0 so every framework is built and tested end-to-end.maketargets that no longer exist. README regenerated.Test plan
Verified locally with the .NET 10 SDK:
sqlc -f sqlc.ci.yaml diffpassesdotnet build sqlc-gen-csharp.sln(0 errors),dotnet format --verify-no-changescleansqlc diffin sync; generated end2end tests in syncNot verified locally (please watch CI):
global.jsonremoved, since VS 2022 MSBuild may not support SDK 10build.ymlWASM job on Linux with wasi-sdk 25 (only built on macOS so far)Notes
sqlc diffstep is the tripwire after SDK upgrades.🤖 Generated with Claude Code