From 9df4a5a2a11b5d61b68bfdaab64314bc471c84ba Mon Sep 17 00:00:00 2001 From: John Smith Date: Thu, 12 Nov 2026 11:15:26 +0000 Subject: [PATCH 1/3] feat!: target net10.0 and net11.0, drop net8.0 and net9.0 Follow supported .NET versions only. .NET 8 and .NET 9 left support on 10 November 2026. - Set TargetFrameworks to net10.0;net11.0 and keep RollForward Major. - CI installs the 10.0.x and 11.0.x SDKs only and runs the integration tests once per target framework. - Integration scripts take the target framework as an argument (default net10.0) instead of hardcoding net8.0. - Update AGENTS.md, copilot instructions, README, launch.json and the package description and release notes. - Bump version to 1.7.0. BREAKING CHANGE: a machine with only the .NET 8 or .NET 9 runtime can no longer install new releases. Install .NET 10 or later, or stay on 1.6.2. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_014Mjr3bTLWVmY8sc2j5bcqH --- .github/copilot-instructions.md | 2 +- .github/workflows/ci.yml | 10 +++++--- .vscode/launch.json | 2 +- AGENTS.md | 5 ++-- README.md | 10 +++++--- src/solrevdev.seedfolder.csproj | 10 ++++---- tests/integration-test.ps1 | 43 ++++++++++++++++--------------- tests/integration-test.sh | 45 ++++++++++++++++++--------------- 8 files changed, 69 insertions(+), 58 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 31cf291..8c2dd99 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -19,7 +19,7 @@ Template files in `src/Data/` are embedded as resources, not file system copies: Access via `Assembly.GetManifestResourceStream("solrevdev.seedfolder.Data.{filename}")` in `WriteFileAsync()` ### Multi-Framework Targeting -Targets `net8.0;net9.0` for modern .NET compatibility. .NET 8 is LTS (supported until November 2026) and .NET 9 is STS (18-month support). Version bumps in `.csproj` trigger NuGet deployment. +Targets `net10.0;net11.0`, the supported .NET versions. .NET 8 and .NET 9 left support on 10 November 2026 and are no longer targeted. `RollForward` is `Major`, so the tool also runs on newer runtimes. Version bumps in `.csproj` trigger NuGet deployment on push to `master`. ## Key Development Workflows diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc75b91..41bde80 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,15 +53,17 @@ jobs: uses: actions/setup-dotnet@v5 with: dotnet-version: | - 8.0.x - 9.0.x 10.0.x + 11.0.x - name: dotnet build run: dotnet build solrevdev.seedfolder.sln --configuration Release - - name: run integration tests - run: ./tests/integration-test.sh + - name: run integration tests (net10.0) + run: ./tests/integration-test.sh net10.0 + + - name: run integration tests (net11.0) + run: ./tests/integration-test.sh net11.0 - name: dotnet pack run: dotnet pack solrevdev.seedfolder.sln -c Release --no-build --include-source --include-symbols diff --git a/.vscode/launch.json b/.vscode/launch.json index a18bd59..cf7dc41 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/src/bin/Debug/net8.0/solrevdev.seedfolder.dll", + "program": "${workspaceFolder}/src/bin/Debug/net10.0/solrevdev.seedfolder.dll", "args": [], "cwd": "${workspaceFolder}", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console diff --git a/AGENTS.md b/AGENTS.md index 28f0e98..3f7d10f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -4,7 +4,7 @@ This file documents the project-specific guidance for coding agents working in t ## Project overview -`seedfolder` is a .NET Global Tool that creates project directories from embedded templates. The application is a single-file console program in `src/Program.cs` and targets `net8.0`, `net9.0`, and `net10.0`. +`seedfolder` is a .NET Global Tool that creates project directories from embedded templates. The application is a single-file console program in `src/Program.cs` and targets `net10.0` and `net11.0`. Only supported .NET versions are targeted; .NET 8 and .NET 9 left support on 10 November 2026. ## Required validation @@ -12,7 +12,8 @@ Run the same Release-mode sequence used by CI: ```bash dotnet build solrevdev.seedfolder.sln --configuration Release -./tests/integration-test.sh +./tests/integration-test.sh net10.0 +./tests/integration-test.sh net11.0 dotnet pack solrevdev.seedfolder.sln -c Release --no-build --include-source --include-symbols ``` diff --git a/README.md b/README.md index d70ebb9..cb64dae 100644 --- a/README.md +++ b/README.md @@ -436,10 +436,11 @@ git commit -m "Initial commit" ## Requirements -This tool requires **.NET 8.0, .NET 9.0, or .NET 10.0 SDK** to be installed on your system. +This tool requires the **.NET 10.0 or .NET 11.0 SDK** to be installed on your system. - **Supported Platforms**: Windows, macOS, Linux -- **Runtime**: .NET 8.0 or later +- **Runtime**: .NET 10.0 or later +- **Older runtimes**: From 1.7.0 the tool no longer targets .NET 8 or .NET 9, which left support on 10 November 2026. A machine with only .NET 8 or .NET 9 cannot install new releases. Install .NET 10 or later, or pin version 1.6.2. - **Installation**: Via .NET Global Tools ## Installation @@ -494,8 +495,9 @@ dotnet run --project src/solrevdev.seedfolder.csproj --framework net10.0 -- --te # Build the project dotnet build -# Run tests -dotnet test +# Run the integration tests for each target framework +./tests/integration-test.sh net10.0 +./tests/integration-test.sh net11.0 # Create package dotnet pack -c release diff --git a/src/solrevdev.seedfolder.csproj b/src/solrevdev.seedfolder.csproj index 24a5829..3a0561d 100644 --- a/src/solrevdev.seedfolder.csproj +++ b/src/solrevdev.seedfolder.csproj @@ -2,7 +2,7 @@ Exe - net8.0;net9.0;net10.0 + net10.0;net11.0 latest + net10.0 + net10.0;net11.0 latest