Skip to content

Modernize target frameworks, dependencies, CI, and cross-framework tests - #78

Closed
bartes wants to merge 3 commits into
developfrom
modernize/frameworks-deps-ci
Closed

Modernize target frameworks, dependencies, CI, and cross-framework tests#78
bartes wants to merge 3 commits into
developfrom
modernize/frameworks-deps-ci

Conversation

@bartes

@bartes bartes commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Modernizes the build and test setup while broadening runtime coverage.

  • Set TargetFrameworks to net10.0;net8.0;netstandard2.0;net48 and remove the net461 and netcoreapp3.1 build configurations. The ASP.NET Core framework reference applies to net8.0 and net10.0, Microsoft.AspNetCore.Http backs netstandard2.0, and System.Web / System.Net.Http back net48. LangVersion is set to latest.
  • Remove the Sentry dependency; platform name and version are now resolved via System.Runtime.InteropServices.RuntimeInformation.
  • Bump Newtonsoft.Json to 13.0.3, and use Newtonsoft.Json.JsonException when parsing error responses.
  • Update the test stack (Microsoft.NET.Test.Sdk, xunit, NSubstitute, AutoFixture, coverlet) and move async assertions to the FluentAssertions 6 idiom (NotThrowAsync / ThrowAsync).
  • Multi-target the test project (net48;net8.0;net10.0). The ASP.NET Core context tests compile on the modern frameworks, the System.Web context tests compile on net48, and a new test exercises Context.FromHttpRequest(System.Web.HttpRequestBase).
  • Replace AppVeyor and CircleCI with GitHub Actions: a windows-latest job runs the full test matrix (including net48) and packs the NuGet package, a Linux job runs the modern-framework tests. Add an .editorconfig.
  • Refresh DEVELOPMENT.md, RELEASING.md, and the README; add a CHANGELOG.md entry; bump the package version to 2.4.0; and stop tracking stray build artifacts.

- Target net10.0, net8.0, netstandard2.0 and net48; drop net461 and netcoreapp3.1.
- Remove the Sentry dependency; resolve platform info via RuntimeInformation.
- Bump Newtonsoft.Json to 13.0.3 and modernize the test stack.
- Multi-target the test project (net48;net8.0;net10.0), guard Core vs System.Web
  test files by framework, and add a real net48 FromHttpRequest(HttpRequestBase) test.
- Replace AppVeyor and CircleCI with GitHub Actions (Windows test+pack, Linux test,
  dotnet format lint); add .editorconfig.
@bartes
bartes force-pushed the modernize/frameworks-deps-ci branch from 93e5bc8 to cc756de Compare June 10, 2026 09:40
bartes added 2 commits June 10, 2026 12:46
- Use cross-framework APIs in tests so the net48 build compiles: char Split,
  ToDictionary instead of the Dictionary(IEnumerable) ctor, and Cast<Match>()
  on MatchCollection.
- Remove the dotnet format CI job (keep .editorconfig); a repo-wide format pass
  is better handled separately.
…nupkg

- Add bin/fetch-nupkg.sh: download the nupkg artifact built by the Test
  workflow's Windows job, selecting the run by release tag, commit SHA, or
  branch; pass --push to publish it to NuGet (key via NUGET_API_KEY).
- Keep the top-level bin/ tracked in .gitignore while build-output bin/ dirs
  stay ignored.
- Document fetching and publishing the package in RELEASING.md.
@bartes
bartes marked this pull request as ready for review June 10, 2026 13:25
@bartes

bartes commented Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

Combined into #80, which carries both the framework/dependency/CI modernization and the full 3.0.0 API surface in a single 3.0.0 release PR.

@bartes bartes closed this Jun 10, 2026
@bartes
bartes deleted the modernize/frameworks-deps-ci branch June 10, 2026 15:49
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