Skip to content

deps: Bump the build-tools group with 3 updates#418

Merged
eiriktsarpalis merged 37 commits intomainfrom
dependabot/nuget/build-tools-5df6e42119
Apr 21, 2026
Merged

deps: Bump the build-tools group with 3 updates#418
eiriktsarpalis merged 37 commits intomainfrom
dependabot/nuget/build-tools-5df6e42119

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 20, 2026

Updated Microsoft.CodeAnalysis.Analyzers from 3.11.0 to 5.3.0.

Release notes

Sourced from Microsoft.CodeAnalysis.Analyzers's releases.

5.0.4

Release

5.0.2

Release Notes
Install Instructions

Repos

5.0.1

Release Notes
Install Instructions

Repo

4.2.0-4.22266.5

Release

4.2.0-3.22151.16

Release

4.2.0-1.22108.11

Release

4.0.0-2.21354.7

Release

4.0.0-2.21254.26

Release

4.0.0-1.21277.15

Release

Commits viewable in compare view.

Updated Microsoft.CodeAnalysis.CSharp from 4.8.0 to 5.3.0.

Release notes

Sourced from Microsoft.CodeAnalysis.CSharp's releases.

5.0.4

Release

5.0.2

Release Notes
Install Instructions

Repos

5.0.1

Release Notes
Install Instructions

Repo

Commits viewable in compare view.

Updated Microsoft.CodeAnalysis.CSharp.CodeFix.Testing from 1.1.2 to 1.1.3.

Release notes

Sourced from Microsoft.CodeAnalysis.CSharp.CodeFix.Testing's releases.

No release notes found for this version range.

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps Microsoft.CodeAnalysis.Analyzers from 3.11.0 to 5.3.0
Bumps Microsoft.CodeAnalysis.CSharp from 4.8.0 to 5.3.0
Bumps Microsoft.CodeAnalysis.CSharp.CodeFix.Testing from 1.1.2 to 1.1.3

---
updated-dependencies:
- dependency-name: Microsoft.CodeAnalysis.Analyzers
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: build-tools
- dependency-name: Microsoft.CodeAnalysis.CSharp
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: build-tools
- dependency-name: Microsoft.CodeAnalysis.CSharp.CodeFix.Testing
  dependency-version: 1.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: build-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Apr 20, 2026
eiriktsarpalis and others added 6 commits April 20, 2026 16:43
…01/CS1702 binding-redirect warnings on .NET Framework

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts:
#	Directory.Packages.props
The underlying cause (mismatched BCL transitive package versions pulled in by Microsoft.CodeAnalysis.CSharp 5.3.0) is fully addressed by the central package bumps; the suppressions are no longer needed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replaces the format-error filter with the proper fix: prepend a draft 2020-12 $schema declaration so JsonSchema.Net 9.x treats the ormat keyword as an annotation rather than an assertion.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Generated root schemas now declare the JSON Schema 2020-12 dialect, ensuring spec-compliant interpretation of keywords like `format` (annotation, not assertion) by validators such as JsonSchema.Net 9.x. Tests that compare root schemas to nested sub-schemas strip `\` before structural comparison.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@eiriktsarpalis eiriktsarpalis force-pushed the dependabot/nuget/build-tools-5df6e42119 branch from b93664d to 7c9e158 Compare April 20, 2026 15:22
Replaces the post-processing AddSchemaDialect helper (which allocated a second JsonObject solely to insert $schema as the first keyword) with depth tracking inside GenerateSchema. Root schemas are preallocated with the $schema keyword in place; recursive calls bump depth so nested subschemas do not redundantly emit it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@eiriktsarpalis eiriktsarpalis force-pushed the dependabot/nuget/build-tools-5df6e42119 branch from 7c9e158 to a876d85 Compare April 20, 2026 15:45
eiriktsarpalis and others added 17 commits April 20, 2026 18:55
Replaces the post-construction EnsureSchemaDialect helper with a NewSchema(depth) factory used by every switch-case construction. When depth == 0 the factory preallocates the JsonObject with $schema as the first keyword, so the dialect is set at construction time rather than reordered after the fact.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replaces the `.Remove("$schema")` calls with a non-mutating `RootEqualsSubschema` helper used where a regenerated root schema is compared against a nested sub-schema (enumerable items / dictionary additionalProperties). For IOptionalTypeShape and ISurrogateTypeShape both sides are roots with identical `$schema` entries, so `JsonNode.DeepEquals` handles them directly. The default-case assertion now verifies `$schema` is the sole key rather than stripping it first.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace the NewSchema(depth) factory and preallocation sites with a single InsertDialectIfRoot helper invoked at root-level exit points. Uses JsonObject.Insert on net9+ and a clear-and-reassign polyfill on earlier TFMs to keep $schema as the first keyword.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Extends the System.Text.Json package reference (already at v10.0.5) to net8.0 so JsonObject.Insert is available everywhere PolyType.Examples is built. This removes the need for the polyfill in JsonSchemaGenerator.InsertDialectIfRoot.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Consolidates the post-construction nullability and root $schema insertion logic into a single CompleteDocument helper invoked at every exit point. The IOptionalTypeShape case now sets allowNull=true so the merged helper handles its nullability (eliminating the previous double-application). Also drops the "dialect" terminology in favor of MetaSchemaUri.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Inline the literal in tests since the constant is no longer part of the public API.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the IMethodShape orchestration into Generator.GenerateMethodSchema so a single Generator instance (and its $ref location cache) spans the parameter and return sub-schemas. Push/Pop the JSON pointer path around each sub-schema so cached references stay valid within the function document. Reduces per-method allocations from N+1 Generator instances to 1.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep root Directory.Packages.props at conservative versions matching main so library-shipped packages do not force higher BCL minima on consumers. JsonSchema.Net 9.2 (and the BCL 10 minima it pulls in transitively) only need to be visible to PolyType.Tests, so move those overrides into a scoped tests/PolyType.Tests/Directory.Packages.props.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Shield PolyType.SourceGenerator.UnitTests with a pass-through Directory.Packages.props that imports the repo root directly, so its CompilationTests do not pick up the higher BCL minima from tests/Directory.Packages.props (which would cause CS1702 assembly-version mismatches in synthesized compilations).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move xunit/TUnit/Microsoft.Testing.Extensions/BenchmarkDotNet/CodeFix.Testing and the JsonSchema.Net + BCL 10 overrides into tests/Directory.Packages.props. The benchmarks and source-generator unit tests projects keep their own scoped Directory.Packages.props (now imported into the slnx and noted in the root props) for project-specific overrides. Update Benchmarks props to import the tests/ scoped file so it picks up BenchmarkDotNet.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Bump System.Memory/Unsafe/Tasks.Extensions to 4.6.3/6.1.2/4.6.3 and System.Collections.Immutable/System.Formats.Cbor/System.Text.Json to 10.0.5/10.0.0/10.0.5. Removes the redundant BCL Update entries (including STJ) from tests/Directory.Packages.props and the no-longer-needed pass-through props in tests/PolyType.SourceGenerator.UnitTests. Microsoft.Extensions.Configuration is intentionally kept at 9.0.8 because 10.x changes object binding behavior in a way that triggers infinite recursion in the example ConfigurationBinder.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop the now-redundant System.Collections.Immutable override (root is at 10.0.5 which is higher than the 9.0.0 BenchmarkDotNet pulls in transitively). Keep the Microsoft.CodeAnalysis.CSharp override and add a comment explaining why the project-scoped CPM file is necessary: BenchmarkDotNet 0.15.8 transitively requires Roslyn >= 4.14.0 while the solution-wide RoslynVersion is pinned at 4.8.0 to keep the source generator usable in VS 2022.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
In Microsoft.Extensions.Configuration.Json 10.x, a JSON `null` literal and an empty object `{}` produce identical IConfigurationSection state (Value=null, no children) and are no longer distinguishable at the IConfiguration API surface. The PolyType example ConfigurationBinder relies on this distinction to bind null vs empty objects correctly. Since this cannot be worked around without changing the binder contract, and PolyType.Examples is a packable library where conservative dependency versions are preferred, keep MEC at 9.0.8.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
eiriktsarpalis and others added 12 commits April 21, 2026 11:18
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
BCL packages bumped by JsonSchema.Net 9.x transitive requirements are scoped to tests/Directory.Packages.props via Update overrides, keeping the packable PolyType.Examples and core projects on the minimum-supported BCL versions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
MEC 10.x preserves JSON null literals as IConfigurationSection.Value=null instead of collapsing them to empty strings (https://learn.microsoft.com/dotnet/core/compatibility/extensions/10.0/configuration-null-values-preserved). Drop the empty-string-to-null workarounds from the example ConfigurationBinder and align IsNullConfiguration with the new semantics. Empty objects '{}' remain indistinguishable from nulls at the IConfigurationSection level; the test suite accommodates this by skipping equality assertions for nested empty objects.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Inverts the earlier policy: the root Directory.Packages.props now declares bleeding-edge versions for System.Memory, System.Runtime.CompilerServices.Unsafe, System.Threading.Tasks.Extensions, System.Collections.Immutable, System.Formats.Cbor, and System.Text.Json. The core PolyType library opts back down to conservative minima via VersionOverride in src/PolyType/PolyType.csproj. This cleans up redundant overrides scattered across PolyType.Examples.csproj and tests/Directory.Packages.props.

Suppress CS1702 in PolyType.SourceGenerator.UnitTests, which surfaced on net472 once the test compilations started referencing the bumped System.Memory while PolyType itself remained pinned to the older assembly version.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Stop centrally pinning transitive dependencies solution-wide. This keeps analyzer packages like PolyType.SourceGenerator from advertising newer System.* transitive dependencies than their direct Roslyn references require, which is important for older Visual Studio compatibility. Keep the conservative runtime BCL floor pinned only in src/PolyType/PolyType.csproj via VersionOverride.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a direct reference to Microsoft.CodeAnalysis.CSharp.Workspaces in the source generator unit test project so NuGet resolves the modern Roslyn workspace stack during net472 test runs, without reintroducing global transitive pinning.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Pin the full Roslyn test stack in tests/Directory.Packages.props and remove the temporary CS1702 suppression from CompilationHelpers. The net472 source-generator unit test leg now passes cleanly by resolving the intended package versions rather than hiding the warning.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@eiriktsarpalis eiriktsarpalis merged commit c75c551 into main Apr 21, 2026
7 checks passed
@eiriktsarpalis eiriktsarpalis deleted the dependabot/nuget/build-tools-5df6e42119 branch April 21, 2026 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant