deps: bump dependencies to latest, hold YamlDotNet and FluentAssertions - #327
Merged
Conversation
This was referenced Jul 31, 2026
One reviewed pass over `Directory.Packages.props` instead of merging the open dependabot PRs piecemeal. Supersedes #270, #272, #303 and #307, all of which were based on the February commit and are now behind `main`. Bumped: - Microsoft.CodeAnalysis.CSharp 5.0.0 -> 5.6.0 - Microsoft.CodeAnalysis.Analyzers 3.11.0 -> 5.6.0 - Serilog 4.3.1 -> 4.4.0 - System.CommandLine 2.0.3 -> 2.0.10 - Microsoft.NET.Test.Sdk 18.3.0 -> 18.8.1 - NSubstitute 5.3.0 -> 6.0.0 - coverlet.collector 8.0.0 -> 10.0.1 - Nerdbank.GitVersioning 3.9.50 -> 3.10.91 - FluentAssertions 7.2.0 -> 7.2.2 Already current: Newtonsoft.Json, Serilog.Sinks.Console, Handlebars.Net, NaturalSort.Extension, NSubstitute.Analyzers.CSharp, XmlDiffPatch.Core, xunit.v3, xunit.runner.visualstudio. Two deliberate holds, both documented inline so they are not silently undone: **FluentAssertions stays on 7.x.** 8.0.0 relicensed from Apache-2.0 to the commercial Xceed Community Licence, free only for non-commercial use. 7.2.2 is the latest Apache-2.0 release. `.github/dependabot.yml` now ignores FluentAssertions >= 8.0.0 so this does not come back as a routine bump. **YamlDotNet stays on 17.1.0.** 18.1.0 breaks the conformance suite outright: `BattleScribeSpec.SpecLoader`'s static initializer throws, and all 362 passing specs stop loading. Central package management applies our version to the `lib/battlescribe-spec` submodule's projects as well, and its TestKit is built against the 17.x API. This has to wait until battlescribe-spec moves to 18.x. Verified: Release build clean, full suite green (802 passed, 48 skipped, 0 failed), conformance unchanged at 362 passing / 48 skipped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
amis92
force-pushed
the
deps/holistic-bump
branch
from
July 31, 2026 06:12
52543ae to
a705dbc
Compare
amis92
added a commit
that referenced
this pull request
Jul 31, 2026
`[Unreleased]` had been empty since 0.14.0 (28 Feb) even though several changes had landed. Brings it up to date with everything currently on `main`: - the roster-engine stack (#315-#322) and the YAML reader (#325) - the NewRecruit format additions (#308) and the MSBuild targets file (#313) - the zipped-datafile fix (#324) and the dependency bump (#327) - the `prepend` documentation and tests (#326), crediting @The4D6 for the original contribution in #221 The `NodeFactory.Force` breaking change is called out explicitly with the migration, since it lands in the shipped `WarHub.ArmouryModel.Source` package. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
amis92
added a commit
that referenced
this pull request
Jul 31, 2026
Dependabot opened #339 to take YamlDotNet from 17.1.0 to 18.1.0 within minutes of #327 landing. That bump is not viable and #327 documented why inline, but a comment in `Directory.Packages.props` does not stop the bot re-proposing it. 18.1.0 breaks `BattleScribeSpec.TestKit` in the `lib/battlescribe-spec` submodule: its `SpecLoader` static initializer throws, and all 362 passing conformance specs stop loading. Central package management applies our version to the submodule's projects too, and the TestKit is built against the 17.x API. Ignoring `>=18.0.0` until battlescribe-spec itself moves to 18.x, mirroring the existing FluentAssertions rule. Tracked in #330. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
One reviewed pass over
Directory.Packages.propsinstead of merging the open dependabot PRs piecemeal.Supersedes #270, #272, #303 and #307 — all were based on the February commit
4b7889aand are now behindmain.Bumped
Already at latest: Newtonsoft.Json, Serilog.Sinks.Console, Handlebars.Net, NaturalSort.Extension, NSubstitute.Analyzers.CSharp, XmlDiffPatch.Core, xunit.v3, xunit.runner.visualstudio.
Two deliberate holds
Both are documented inline in
Directory.Packages.propsso they are not silently undone later.FluentAssertions stays on 7.x — licensing
8.0.0 relicensed from Apache-2.0 to the commercial Xceed Community Licence, which is free only for non-commercial use. 7.2.2 is the latest Apache-2.0 release.
.github/dependabot.ymlnow ignores FluentAssertions>=8.0.0so this does not return as a routine bump.If you'd rather not stay on a frozen line indefinitely, migrating to Shouldly or xunit's built-in asserts would be a separate PR — happy to do it on request.
YamlDotNet stays on 17.1.0 — breaks the conformance suite
18.1.0 is not viable yet.
BattleScribeSpec.SpecLoader's static initializer throws under it, and all 362 passing conformance specs stop loading:Central package management applies our version to the
lib/battlescribe-specsubmodule's projects too, and its TestKit is compiled against the 17.x API. This needs battlescribe-spec to move to 18.x first.Worth noting this was only visible because the conformance harness now reports unloadable specs as skipped rather than dropping them silently — otherwise the suite would still have looked green while testing almost nothing.
Verification
CS0109warnings inConcrete.Extensions, unchanged)🤖 Generated with Claude Code