Skip to content

deps: staleness sweep — every pin to latest published - #217

Merged
ANcpLua merged 1 commit into
mainfrom
chore/deps-latest-2026-09-04
Sep 4, 2026
Merged

ANcpLua merged 1 commit into
mainfrom
chore/deps-latest-2026-09-04

Conversation

@ANcpLua

@ANcpLua ANcpLua commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Version.props is SDK truth: it ships inside the packages and flows into every consumer, so a stale pin there is a stale pin everywhere. The trigger was ANcpLua.AnalyzersGlobalPackages.props injects it as a GlobalPackageReference, so a consumer on this SDK physically cannot reach 2.1.2 until this file moves. Swept everything else in the same pass.

Every version verified against the flat-container index and cross-checked against the search API, so an unlisted version cannot masquerade as latest. No package moved to a prerelease unless its current pin was already a prerelease of the same package (the four Microsoft.Agents.AI preview-track packages have no stable release at all).

Package Old New
DotNetSdkVersion (→ Microsoft.CodeAnalysis.NetAnalyzers, templates' global.json) 10.0.301 10.0.400
Basic.Reference.Assemblies.Net100 1.8.9 1.8.11
Meziantou.Framework 6.0.1 6.0.4
Meziantou.Framework.FullPath 3.0.1 3.0.4
Meziantou.Framework.ProcessWrapper 2.0.1 2.0.4
Meziantou.Framework.TemporaryDirectory 3.0.1 3.0.4
xunit.v3.mtp-v2 3.2.2 4.0.0
AwesomeAssertions 9.4.0 9.6.0
Microsoft.Testing.Platform + the five MTP extensions 2.3.2 2.4.0
Microsoft.Testing.Extensions.CodeCoverage 18.9.0 18.11.0
GitHubActionsTestLogger 3.0.4 3.0.5
ANcpLua.Analyzers 2.1.1 2.1.2
MicrosoftExtensionsVersion (dotnet/extensions family) 10.8.0 10.9.0
AspNetCoreVersion 10.0.10 10.0.11
Microsoft.Bcl.AsyncInterfaces 10.0.10 10.0.11
NuGet.Protocol / NuGet.Packaging 7.6.0 7.9.0
MSBuild.StructuredLogger 2.3.213 2.3.246
Microsoft.Agents.AI stable track (core, Abstractions, Workflows, OpenAI, Workflows.Declarative) 1.13.0 1.20.0
Microsoft.Agents.AI preview track (Hosting, Hosting.AGUI.AspNetCore, Anthropic, DevUI) 1.13.0-preview.260703.1 1.20.0-preview.260831.1
global.json ANcpLua.NET.Sdk.Test self-pin (last published) 3.4.44 3.4.46

Already latest, left alone: Roslyn 5.9.0, Microsoft.CodeAnalysis.Analyzers 5.9.0, Microsoft.CodeAnalysis.BannedApiAnalyzers 5.6.0, AwesomeAssertions.Analyzers 9.0.8, Microsoft.Sbom.Targets 4.1.5, Microsoft.Deployment.DotNet.Releases 1.0.2 (2.0.0 is prerelease only).

Fallout, fixed rather than capped

  • NuGet.* 7.9.0 annotates GetResourceAsync<T>() and DownloadResourceResult.PackageReader as nullable → six CS8602 in ConfigFilesGenerator under TreatWarningsAsErrors. Each site now throws naming the source or package it could not resolve, instead of dereferencing blind.
  • Meziantou.Framework.FullPath 3.0.4 ships MFFP0015, which caught Build_WhenEditorConfigFileExists_IncludedInBinlog comparing a FullPath by its ordinal string form. The macOS /private realpath variant is now built as a FullPath and compared with the platform's comparer.

Nothing was pinned back, and no shim was added.

Why 2.1.2 matters beyond the version number

ANcpLua.Analyzers 2.1.2 is the release that makes <AlAnalysisMode> work at all — the three profiles shipped as sectioned analyzer configs, whose globs Roslyn resolves relative to the package folder under ~/.nuget/packages/, so every profile was inert. They are now emitted with is_global = true. The stale 2.1.0 comment in Version.props is rewritten to say this.

Generated files

src/Config/Analyzer.xunit.analyzers.editorconfig regenerated by ConfigFilesGenerator for xunit.v3 4.0.0 — 21 new rules (xUnit1054-1069, xUnit2033, xUnit3004-3007). No drift in the NetAnalyzers, ANcpLua.Analyzers or BannedApiAnalyzers configs.

Gates

Local macOS: dotnet build -c Release clean (0 warnings), and all 245 SDK behaviour tests pass — the suite packs the SDK and builds throwaway consumer projects against it across all three import styles, so the bumped pins are exercised through the real import chain, not just compiled.

🤖 Generated with Claude Code

Version.props is SDK truth and flows into every consumer, so a stale pin
there is a stale pin everywhere. Sweep of all published packages the SDK
names (flat-container index cross-checked against the search API, so an
unlisted version cannot masquerade as latest):

  DotNetSdkVersion                    10.0.301               -> 10.0.400
    (also NetAnalyzersVersion, i.e. Microsoft.CodeAnalysis.NetAnalyzers,
     and the .NET SDK stamped into the dotnet-new templates' global.json)
  Basic.Reference.Assemblies.Net100   1.8.9                  -> 1.8.11
  Meziantou.Framework                 6.0.1                  -> 6.0.4
  Meziantou.Framework.FullPath        3.0.1                  -> 3.0.4
  Meziantou.Framework.ProcessWrapper  2.0.1                  -> 2.0.4
  Meziantou.Framework.TemporaryDirectory 3.0.1               -> 3.0.4
  xunit.v3.mtp-v2                     3.2.2                  -> 4.0.0
  AwesomeAssertions                   9.4.0                  -> 9.6.0
  Microsoft.Testing.Platform (+ the five MTP extensions) 2.3.2 -> 2.4.0
  Microsoft.Testing.Extensions.CodeCoverage 18.9.0           -> 18.11.0
  GitHubActionsTestLogger             3.0.4                  -> 3.0.5
  ANcpLua.Analyzers                   2.1.1                  -> 2.1.2
  Microsoft.Extensions (dotnet/extensions family) 10.8.0     -> 10.9.0
  AspNetCoreVersion                   10.0.10                -> 10.0.11
  Microsoft.Bcl.AsyncInterfaces       10.0.10                -> 10.0.11
  NuGet.Protocol / NuGet.Packaging    7.6.0                  -> 7.9.0
  MSBuild.StructuredLogger            2.3.213                -> 2.3.246
  Microsoft.Agents.AI (stable track)  1.13.0                 -> 1.20.0
  Microsoft.Agents.AI (preview track) 1.13.0-preview.260703.1
                                                 -> 1.20.0-preview.260831.1
  global.json ANcpLua.NET.Sdk.Test    3.4.44                 -> 3.4.46
    (self-pin points at last PUBLISHED, per the bootstrap rule)

Already latest, unchanged: Roslyn 5.9.0, Microsoft.CodeAnalysis.Analyzers
5.9.0, Microsoft.CodeAnalysis.BannedApiAnalyzers 5.6.0,
AwesomeAssertions.Analyzers 9.0.8, Microsoft.Sbom.Targets 4.1.5,
Microsoft.Deployment.DotNet.Releases 1.0.2.

Fallout the bumps exposed, fixed rather than capped:

- NuGet 7.9.0 annotates GetResourceAsync<T>() and
  DownloadResourceResult.PackageReader as nullable, so ConfigFilesGenerator
  hit six CS8602 under TreatWarningsAsErrors. Each site now throws with the
  source/package it could not resolve instead of dereferencing blind.
- Meziantou.Framework.FullPath 3.0.4 ships MFFP0015, which caught
  Build_WhenEditorConfigFileExists_IncludedInBinlog comparing a FullPath by
  its ordinal string form. The macOS /private realpath variant is now built
  as a FullPath and compared with the platform's comparer.

ANcpLua.Analyzers 2.1.2 is the release that makes <AlAnalysisMode> work at
all: its three profiles shipped as sectioned analyzer configs, whose globs
Roslyn resolves relative to the package folder, so every profile was inert.
The Version.props comment is rewritten to say so.

src/Config/Analyzer.xunit.analyzers.editorconfig regenerated by
ConfigFilesGenerator for xunit.v3 4.0.0: 21 new rules (xUnit1054-1069,
xUnit2033, xUnit3004-3007).

Gates: dotnet build -c Release clean; all 245 SDK behaviour tests pass
(they pack the SDK and build throwaway consumers against it).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 4, 2026 07:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@claude

claude Bot commented Sep 4, 2026

Copy link
Copy Markdown

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@ANcpLua
ANcpLua merged commit dabbb67 into main Sep 4, 2026
11 checks passed
@ANcpLua
ANcpLua deleted the chore/deps-latest-2026-09-04 branch September 4, 2026 08:09
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