Skip to content

nuget upgrade and .net10 (lts) instead of .net9 - #27

Open
dreik wants to merge 1 commit into
drewburlingame:mainfrom
dreik:main
Open

dreik wants to merge 1 commit into
drewburlingame:mainfrom
dreik:main

Conversation

@dreik

@dreik dreik commented Nov 21, 2025

Copy link
Copy Markdown

subj

@datadot

datadot commented Sep 4, 2026

Copy link
Copy Markdown

Drive-by from someone who just hit this: this PR fixes a real correctness bug, which might be worth knowing when deciding whether to merge it.

dbup-postgresql 6.0.0-beta.44 — which this PR moves to 6.1.5 — cannot parse $$-quoted function bodies. Any CREATE FUNCTION ... $$ ... ; ... $$ fails with:

42601: unterminated dollar-quoted string at or near "$$
  at DbUp.Postgresql.PostgresqlScriptExecutor...

I ran into it on a real migration set of 171 scripts, 42 of which use $$. dbup-cli-2 3.0.1 executed 30 and then died. I wrote it up separately in #30 before noticing this PR existed.

I verified the bump fixes it — with dbup-postgresql 6.1.5 the same 171 scripts run to Upgrade successful, and a second run is correctly idempotent.

Apologies for the duplication: I opened #31 doing a subset of this before spotting #27. This PR is the better change — it drops net9.0 (which reached end of support in May 2026) and updates the test packages too. Happy to close mine.

One thing this PR doesn't cover, which I've raised separately: the Newtonsoft.Json and Microsoft.Rest.ClientRuntime pins here are treating symptoms of the deprecated Microsoft.Azure.KeyVault / AppAuthentication packages. KeyVault turns out to be referenced by no code at all, and AppAuthentication by one method — so both can be replaced with Azure.Identity and the pins dropped entirely. That's #33 / #32.

datadot pushed a commit to ANDDEV-OSS/dbup-cli that referenced this pull request Sep 4, 2026
Picks up the remaining version bumps proposed in drewburlingame#27
by @dreik - CommandDotNet, JetBrains.Annotations, YamlDotNet,
System.Text.Encoding.CodePages, and the test packages - so this branch is a
superset rather than a competing subset.

FluentAssertions 8 renames BeLessOrEqualTo to BeLessThanOrEqualTo, which
ContainerTest needed.

Solution builds clean and all 111 unit tests pass on net8.0.
@datadot

datadot commented Sep 4, 2026

Copy link
Copy Markdown

Following up on my comment above — I've folded your version sweep into #31/#32 rather than leaving them as a competing subset, so credit where it's due: the bumps there are your list, and I switched to your net8.0;net10.0 target over my original net8.0;net9.0;net10.0, since net9 went out of support in May.

One thing worth flagging for this PR either way: it won't build on the .NET 10 SDK as it stands. Testcontainers 4.8.1 resolves SSH.NET 2024.2.0, which is GHSA-q939-rpr3-3284 (high). The .NET 10 SDK audits transitive packages by default, and with this repo's TreatWarningsAsErrors that becomes a hard error:

error NU1903: Warning As Error: Package 'SSH.NET' 2024.2.0 has a known high severity vulnerability

It doesn't show up on the 8.0.x/9.0.x SDKs the workflows currently install, which is probably why it hasn't surfaced. Pinning SSH.NET to 2026.0.0 clears it. Same applies if you'd rather land this PR than mine — worth adding either way.

Also, since this targets net10: the workflows only install 8.0.x/9.0.x, so CI won't have an SDK that can build the new target.

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