Skip to content

V11.0.0/double digits - #42

Open
gimlichael wants to merge 13 commits into
mainfrom
v11.0.0/double-digits
Open

gimlichael wants to merge 13 commits into
mainfrom
v11.0.0/double-digits

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request moves the library, its tests and its tooling from the .NET 9 baseline to .NET 11 and .NET 10. It also converts the codebase to file-scoped namespaces, refreshes package versions and brings CI, DocFX and contributor guidance in line with the new targets.

Library source:

  • Production types use file-scoped namespaces, matching the enforced editorconfig rule.

Build and CI configuration:

  • Shared build props, the SDK pin and the solution file target .NET 11 and .NET 10.
  • Package versions are refreshed to the latest stable releases, and the Asp.Versioning 9 package group is dropped.
  • CI runs on Ubuntu 26.04 with preview SDKs so the .NET 11 targets are built and tested before the stable release.

Test suite:

  • Test assets and test cases use file-scoped namespaces.
  • The endpoint builder finalizer fixture is added with the tests that use it.
  • The YAML error response test expects the ASP.NET Core 11 middleware frame name on each target while keeping the full response assertion.

Release notes and changelog:

  • The 11.0.0 changelog entry and package release notes record the move from .NET 9 to .NET 11 for consumers.

Documentation:

  • README, agent guidance, contributing notes and DocFX availability includes state .NET 11 and .NET 10 as the supported targets.

Repository configuration:

  • Editor and line-ending rules are aligned with the repository's LF policy.
  • Dependabot, Codecov and gitignore settings are updated, and the .bot readme is tracked as the ignore rules allow.

The library and test projects now build for .NET 11 and .NET 10 because .NET 9 is leaving the supported baseline.
Cuemon, Coverlet and the hang dump extension move to their latest stable releases, and the Asp.Versioning 9 package group is dropped now that .NET 9 is no longer targeted.
ASP.NET Core 11 changed the compiler-generated endpoint middleware frame name, so the YAML error response test selects the expected frame per target while keeping the full response assertion.
CI moves to Ubuntu 26.04 runners and opts into preview SDKs so the .NET 11 targets are built and tested before the stable release ships.
Package release notes record the move from .NET 9 to .NET 11 so consumers see the new supported framework baseline in the NuGet listing.
The changelog records the major release that replaces the .NET 9 target with .NET 11 so consumers can plan their upgrade path.
README, agent guidance, contributing notes, DocFX availability includes and the service-update fallback now state .NET 11 and .NET 10 as the supported targets.
Aligns the shared build props, SDK pin, editor and line-ending rules, CI workflow and test environments with the net10.0 and net11.0 baseline, so tooling tracks the same target frameworks as the library.
File-scoped namespaces are now mandatory per AGENTS.md, so production types drop the block-scoped wrappers and match the enforced editorconfig rule.
Test assets and test cases follow the file-scoped namespace rule, and the endpoint builder finalizer fixture is committed alongside the tests that use it.
Records the 11.0.0 release notes and changelog wording so package consumers can see what changed for the net11.0 target.
Keeps contributor and agent guidance in sync with the net10.0 and net11.0 targets and the file-scoped namespace rule.
The .gitignore excludes .bot/* but un-ignores .bot/README.md, so this file belongs in the repository. Its line endings are normalized to LF to match the repository eol rule.
@gimlichael gimlichael self-assigned this Oct 29, 2026
@greptile-apps

greptile-apps Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The package's framework support changes for its consumers, while its runtime API stays the same.

The PR appears safe to merge, with a non-blocking fix recommended for caching missing docs assets.

Fix All in CodexFindings

  1. P2 Missing assets stay cached ▶
Fix with agent prompt
### Issue 1
.docfx/nginx.conf:14
Adding `always` sends the year-long `Cache-Control` header on 404 responses too. If a browser requests a new asset while an older docs container still serves traffic, `try_files` returns 404 and the browser can cache that failure for a year, even after deployment finishes. Remove `always` from this header so failed requests do not receive the permanent cache policy.

```suggestion
        add_header Cache-Control "public, max-age=31536000, immutable";
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

Moves the library and tests to .NET 11 and .NET 10, updates dependencies, and converts remaining namespaces to file-scoped declarations.

  • The library and its tests target .NET 11 and .NET 10.
  • C# files use file-scoped namespaces, and the editor flags other styles.
  • The YAML response test checks the middleware frame name for each target framework.
  • DocFX points its sitemap at the asp-versioning site host.
  • Repository settings and guidance follow updated conventions.

Reviews (1) · Last reviewed commit: "📝 track the .bot readme that .gitignore..." · Reviewed by Greptile

Comment thread .docfx/nginx.conf
location ~ "^/public/.+-[A-Z0-9]{8}(?:-[A-Z0-9]{8})?(?:\.min)?\.(?:(?:css|js)(?:\.map)?|woff2?)$" {
try_files $uri =404;
add_header Cache-Control "public, max-age=31536000, immutable";
add_header Cache-Control "public, max-age=31536000, immutable" always;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Missing assets stay cached

Adding always sends the year-long Cache-Control header on 404 responses too. If a browser requests a new asset while an older docs container still serves traffic, try_files returns 404 and the browser can cache that failure for a year, even after deployment finishes. Remove always from this header so failed requests do not receive the permanent cache policy.

Suggested change
add_header Cache-Control "public, max-age=31536000, immutable" always;
add_header Cache-Control "public, max-age=31536000, immutable";
Prompt To Fix With AI
This is a comment left during a code review.
Path: .docfx/nginx.conf
Line: 14

Comment:
**Missing assets stay cached**

Adding `always` sends the year-long `Cache-Control` header on 404 responses too. If a browser requests a new asset while an older docs container still serves traffic, `try_files` returns 404 and the browser can cache that failure for a year, even after deployment finishes. Remove `always` from this header so failed requests do not receive the permanent cache policy.

```suggestion
        add_header Cache-Control "public, max-age=31536000, immutable";
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Fix in Codex

@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants