Skip to content

feat!: Release next major version of SDK relying on OpenAPI spec#229

Open
gjtorikian wants to merge 4 commits intomainfrom
next-major
Open

feat!: Release next major version of SDK relying on OpenAPI spec#229
gjtorikian wants to merge 4 commits intomainfrom
next-major

Conversation

@gjtorikian
Copy link
Copy Markdown
Contributor

Description

This is a megabranch for the next major release of this SDK, which will be generated from the OpenAPI specs.

@gjtorikian gjtorikian requested review from a team as code owners April 8, 2026 15:41
@gjtorikian gjtorikian requested a review from rwtombaugh April 8, 2026 15:41
@greptile-apps
Copy link
Copy Markdown

greptile-apps bot commented Apr 8, 2026

Greptile Summary

This PR is a major version bump for the WorkOS .NET SDK that drops support for .NET versions prior to 8 (including .NET Standard 2.0, .NET Framework 4.6.1, and .NET Core 3.1) and updates the CI/CD pipelines to target .NET 8, 9, and 10. The changes also fix a long-standing async correctness issue in the test suite by converting async void test methods to async Task, and update several test dependencies to current versions.

Key changes:

  • WorkOS.net.csproj now targets net8.0 only
  • CI workflow updated: tests the same net8.0 binary across .NET 8, 9, and 10 runtimes using DOTNET_ROLL_FORWARD: Major
  • New lint.yml workflow added to enforce formatting and static analysis on every PR
  • All async void test methods corrected to async Task — critical for proper exception propagation in xUnit
  • Test packages updated: xunit 2.4.1 → 2.9.3, xunit.runner.visualstudio 2.4.1 → 3.1.5, Moq 4.13.1 → 4.20.72, coverlet.msbuild 2.8.0 → 8.0.1, and Microsoft.NET.Test.Sdk added

Confidence Score: 5/5

Safe to merge — this is a clean breaking-change major version prep with no correctness regressions.

All findings are P2 or informational. The async void → async Task fix is a correctness improvement. The xunit.runner.visualstudio 3.x / xunit 2.9.3 pairing is intentional and supported. CI approach of building for net8.0 and using DOTNET_ROLL_FORWARD=Major to exercise the binary on .NET 9 and 10 runtimes is valid. No security issues or data-integrity concerns identified.

No files require special attention.

Vulnerabilities

No security concerns identified. The PR does not touch authentication logic, HTTP client TLS settings, secret handling, or sensitive data paths. The removal of the libssl1.1 installation workaround in CI is a net improvement.

Important Files Changed

Filename Overview
.github/workflows/ci.yml Updated to test against .NET 8, 9, and 10 using DOTNET_ROLL_FORWARD; build/restore steps are correctly ordered and consistent with net8.0 target.
.github/workflows/lint.yml New lint workflow that verifies formatting and static analysis; correctly relies on transitive project reference restoration for the src project.
.github/workflows/release.yml Cleaned up legacy libssl/NET Core 3.1 steps; now uses .NET 8.0.x for packaging, with dotnet pack performing implicit restore.
src/WorkOS.net/WorkOS.net.csproj Now targets net8.0 exclusively; dependencies (Newtonsoft.Json 13.0.4, StyleCop) unchanged and compatible.
test/WorkOSTests/WorkOSTests.csproj Targets net8.0, updates all test packages; xunit 2.9.3 with xunit.runner.visualstudio 3.1.5 is a valid pairing as the 3.x runner supports both xunit v2 and v3.
test/WorkOSTests/Services/SSO/SSOServiceTest.cs All async void test methods correctly converted to async Task; using statement for System.Threading.Tasks added.
test/WorkOSTests/Services/Portal/PortalServiceTest.cs All async void → async Task conversions applied; no issues found.
README.md Updated supported framework description from .NET Standard 2.0+ and .NET Framework 4.6.1+ to .NET 8+.

Reviews (1): Last reviewed commit: "Update workflows" | Re-trigger Greptile

@gjtorikian gjtorikian changed the title feat!: Support .NET 8+ going forward feat!: Release next major version of SDK relying on OpenAPI spec Apr 14, 2026
gjtorikian and others added 2 commits April 18, 2026 17:04
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant