Skip to content

Pin Hl7.Fhir.* and make Directory.Packages.props authoritative - #5863

Merged
Mikael Weaver (mikaelweave) merged 2 commits into
mainfrom
mikaelweave-pin-hl7-fhir
Sep 21, 2026
Merged

Mikael Weaver (mikaelweave) merged 2 commits into
mainfrom
mikaelweave-pin-hl7-fhir

Conversation

@mikaelweave

@mikaelweave Mikael Weaver (mikaelweave) commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Keeps Directory.Packages.props the single source of every package version, and freezes the Firely SDK.

AB#207007

1. Pin Hl7.Fhir.*

An ignore rule in .github/dependabot.yml blocks all three semver levels for Hl7.Fhir.*, holding 5.11.4 / 5.11.0.

2. Reject per-project VersionOverride

CPM lets a project opt out of the central version with VersionOverride. CentralPackageVersionOverrideEnabled=false makes that a restore error instead.

#5859 is why: it added VersionOverride="10.0.12" to five .csproj files rather than touching the props file, after a rebase of an already-landed bump (dependabot-core#13408).

Set in Directory.Packages.props, not Directory.Build.props, because build/DependabotDiscovery deliberately stops the upward search for the latter.

Verification

  • Reproduced Bump Microsoft.Extensions.Configuration to 10.0.12 #5859's exact line in CosmosDb.Coreerror NU1013. Removed → clean restore.
  • Property evaluates false in DependabotDiscovery, CosmosDb.Core and R4.Client.
  • No existing VersionOverride or Version= on any PackageReference in the repo, so nothing breaks today.
  • ValidateDependabotCoverage passes.

Follow-up

Close #5859 rather than fixing it — $(DotNetSdkPackageVersion) is already 10.0.12, so the catalog delivers what it pins. After this merges, rebasing it fails NU1013 instead of going green.

Dependabot rewrites the Hl7FhirVersion and Hl7FhirLegacyVersion properties
directly, so nothing in Directory.Packages.props can hold these versions still.
Add an ignore rule instead, and leave a note in the props file so the stale
versions there are not mistaken for neglect.

The rule covers all 17 Hl7.Fhir.* packages, which spans both properties. The
hl7-fhir group is left configured, so deleting the ignore rule is enough to
resume updates.

AB#207007

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4d055287-83a3-4073-979e-207b73aa028b
@mikaelweave Mikael Weaver (mikaelweave) changed the title Pin Hl7.Fhir packages until the upstream issues are resolved Pin Hl7.Fhir.* and make Directory.Packages.props authoritative Sep 21, 2026
…authoritative

Directory.Packages.props is meant to be the single source of every package
version, but Central Package Management still lets an individual project opt out
with VersionOverride on a PackageReference. Nothing in the repository uses that
today, and nothing should: a version that only some projects honour is exactly
the divergence central management exists to prevent.

Dependabot has been observed introducing those overrides on its own. When it
rebases a pull request whose version bump has already landed on main, it can
rewrite the update as per-project VersionOverride entries in .csproj files
instead of leaving the branch empty (dependabot/dependabot-core#13408). Setting
CentralPackageVersionOverrideEnabled to false turns that into NU1013 at restore
rather than a silent divergence that survives review.

The property is set in Directory.Packages.props rather than Directory.Build.props
because build/DependabotDiscovery deliberately stops the upward search for the
latter, and it still has to be covered.

AB#207007

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4d055287-83a3-4073-979e-207b73aa028b
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.66%. Comparing base (038ce87) to head (5ce18b9).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #5863      +/-   ##
==========================================
- Coverage   78.71%   78.66%   -0.05%     
==========================================
  Files        1018     1018              
  Lines       37126    37120       -6     
  Branches     5680     5678       -2     
==========================================
- Hits        29222    29199      -23     
+ Misses       6498     6493       -5     
- Partials     1406     1428      +22     

see 19 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mikaelweave
Mikael Weaver (mikaelweave) merged commit 2e2654d into main Sep 21, 2026
48 of 51 checks passed
@mikaelweave
Mikael Weaver (mikaelweave) deleted the mikaelweave-pin-hl7-fhir branch September 21, 2026 20:39
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.

3 participants