chore(deps): drop redundant direct ZstdSharp.Port references - #155
Conversation
No project code uses ZstdSharp — it arrives transitively via MySql.Data, which declares ZstdSharp.Port >= 0.8.6 on every target framework for MySQL protocol zstd compression. The direct PackageReference in the app, test, and spec projects added nothing. Keep the central PackageVersion at 0.8.7 so transitive pinning still bumps the resolved version above MySql.Data's floor; without it NuGet would silently fall back to 0.8.6. Verified: ZstdSharp.Port/0.8.7 still resolves in project.assets.json and mRemoteNG.deps.json, and ZstdSharp.dll still ships in the build output.
PR Summary by QodoRemove redundant ZstdSharp.Port PackageReferences; keep central transitive pin
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
There was a problem hiding this comment.
Pull request overview
Removes redundant direct ZstdSharp.Port package references from the main app and test/spec projects while keeping the centrally-pinned ZstdSharp.Port version to ensure the transitive dependency remains resolved at 0.8.7 (via central transitive pinning).
Changes:
- Dropped direct
PackageReference Include="ZstdSharp.Port"frommRemoteNG,mRemoteNGTests, andmRemoteNGSpecs. - Kept
PackageVersion Include="ZstdSharp.Port" Version="0.8.7"and added an explanatory comment inDirectory.Packages.props.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| mRemoteNGTests/mRemoteNGTests.csproj | Removes redundant direct ZstdSharp.Port reference from the test project. |
| mRemoteNGSpecs/mRemoteNGSpecs.csproj | Removes redundant direct ZstdSharp.Port reference from the specs project. |
| mRemoteNG/mRemoteNG.csproj | Removes redundant direct ZstdSharp.Port reference from the main application project. |
| Directory.Packages.props | Documents and preserves the ZstdSharp.Port transitive version pin (0.8.7) under central transitive pinning. |
Code Review by Qodo
1. Comment-only change in props
|
| <PackageVersion Include="System.Windows.Extensions" Version="10.0.5" /> | ||
| <PackageVersion Include="VaultSharp" Version="1.17.5.1" /> | ||
| <PackageVersion Include="VncSharpCore" Version="1.2.1" /> | ||
| <!-- Transitive via MySql.Data (floor 0.8.6); pinned here to 0.8.7 by central transitive pinning. --> |
There was a problem hiding this comment.
1. Comment-only change in props 📘 Rule violation ✧ Quality
A new XML comment was added in Directory.Packages.props without any adjacent configuration/logic change. This violates the rule against adding comments to otherwise-untouched code regions.
Agent Prompt
## Issue description
A comment was added without any accompanying code/config change in the same region, which violates the PR rule prohibiting comment-only modifications to otherwise-untouched code.
## Issue Context
The PR adds an explanatory comment above the `ZstdSharp.Port` central package version entry.
## Fix Focus Areas
- Directory.Packages.props[71-71]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| <PackageVersion Include="System.Windows.Extensions" Version="10.0.5" /> | ||
| <PackageVersion Include="VaultSharp" Version="1.17.5.1" /> | ||
| <PackageVersion Include="VncSharpCore" Version="1.2.1" /> | ||
| <!-- Transitive via MySql.Data (floor 0.8.6); pinned here to 0.8.7 by central transitive pinning. --> |
There was a problem hiding this comment.
2. Modified protected directory.packages.props 📘 Rule violation § Compliance
Directory.Packages.props is listed as a protected infrastructure file, but it was modified in this PR. Any modification to this file violates the protected-files rule.
Agent Prompt
## Issue description
The PR modifies `Directory.Packages.props`, which is explicitly listed as a protected infrastructure file that must not be edited in this change set.
## Issue Context
The only modification is an added XML comment line.
## Fix Focus Areas
- Directory.Packages.props[71-71]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
What
Removes the direct
ZstdSharp.PortPackageReferencefrommRemoteNG,mRemoteNGTests, andmRemoteNGSpecs.Why
No project code references
ZstdSharp— the package arrives transitively viaMySql.Data, whose nuspec declaresZstdSharp.Port >= 0.8.6on every target framework (used for MySQL protocol zstd compression). The three direct references added nothing.The one thing worth reviewing
The central
PackageVersionforZstdSharp.Portis deliberately kept at 0.8.7. WithCentralPackageTransitivePinningEnabled=true, that entry is what bumps the resolved version aboveMySql.Data's 0.8.6 floor. Deleting it alongside thePackageReferencelines would silently downgrade the shipped assembly to 0.8.6 — so this PR keeps it, plus a comment explaining why the entry has no matchingPackageReference.Verification
Full build via
build.ps1(VS2026 MSBuild 18.x), green. After the change:mRemoteNG/obj/project.assets.json→ZstdSharp.Port/0.8.7mRemoteNG/bin/x64/Release/mRemoteNG.deps.json→ZstdSharp.Port/0.8.7mRemoteNG/bin/x64/Release/Assemblies/ZstdSharp.dllstill presentNo behavior change — same assembly, same version, one less redundant declaration in three project files.