Repository navigation
Update Argu to 6.2.5 and stop shipping System.Drawing.Common 4.7 - #4472
Merged
Merged
Conversation
Argu 6.1.5 checks the mandatory arguments of the subcommands while it parses the command line. Paket marks both an argument and its hidden _Legacy syntax as mandatory, when only one of them is needed, and its commands already report the missing argument.
paket update runs without a package, paket find-packages without a search text and paket generate-nuspec without an output directory, but their arguments were declared as ExactlyOnce.
Paket no longer relies on Argu ignoring the mandatory arguments of the subcommands, so the cap of 2eb8c33 can go.
Argu brings System.Configuration.ConfigurationManager, locked on 4.7, which brought System.Drawing.Common 4.7 and its critical vulnerability (GHSA-rxg9-xrhp-64gj) through System.Security.Permissions. Updating the main group takes ConfigurationManager 10.0, which no longer depends on them, along with newer transitive packages of the tests.
No package has a known vulnerability any more, so NU1902, NU1903 and NU1904 are errors again.
Argu 6.1.2 to 6.2.2 carry regressions of fsprojects/Argu#127 in the parsing of subcommands, which 6.1.5 and 6.2.3 fix. The lock already has 6.2.5.
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.
Paket kept Argu on 6.1.1 since 2eb8c33, and the restore reported NU1904 on
Paket.fsprojandPaket.Tests.fsproj:System.Drawing.Common4.7.0 has a critical vulnerability (GHSA-rxg9-xrhp-64gj), and thepakettool shipped it. This branch updates Argu to 6.2.5, removes the vulnerable packages, and makes the vulnerability warnings errors again.Argu
Since 6.1.5, Argu checks the mandatory arguments of the subcommands while it parses the command line. Before, only
GetResultfailed, when a command read a missing argument. Paket marks asExactlyOnceboth an argument and its hidden_Legacysyntax,NuGetandNuGet_Legacyfor example, when only one of them is needed. With 6.2.5,paket add Foofailed as well aspaket update, on the missingnugetargument.ParseCommandLine(ignoreMissing = true, ...). The commands already report the missing argument themselves, withlegacyOption, thenrequireandGetResult. This keeps the behaviour of 6.1.1:paket addwithout a package still fails withmissing argument '<package ID>'and exit code 1.paket update, the search text ofpaket find-packagesand theoutputofpaket generate-nuspecare optional, so they areUniqueinstead ofExactlyOnce. The help shows them in brackets. The other arguments keepExactlyOnce, so the help still shows them as required.< 6.1.2cap goes, and the lock takes Argu 6.2.5. The minimum is 6.2.3, as 6.1.2 to 6.2.2 carry regressions of Added post processing checking of sub command mandatory flag Argu#127 in the parsing of subcommands.System.Drawing.Common
Only Argu brings
System.Configuration.ConfigurationManager, and no project references it. It was locked on 4.7, which broughtSystem.Security.Permissions,System.Windows.Extensions,System.Drawing.CommonandMicrosoft.Win32.SystemEvents. From 8.0, ConfigurationManager only depends onSystem.Security.Cryptography.ProtectedData, plusSystem.Diagnostics.EventLogon net8.0 and later. The main group update takes 10.0.14, and the four packages leave the lock and the tool.The update also brings newer transitive packages, mostly for the tests:
Microsoft.TestPlatform.*andMicrosoft.CodeCoveragefrom 16.7.1 to 18.11,Microsoft.NETCore.Platformsfrom 5.0.2 to 7.0.4,System.Threading.Tasks.Extensionsfrom 4.5.4 to 4.6.3 andSystem.Xml.XPath.XmlDocumentfrom 4.3 to 4.7.With no vulnerable package left,
Directory.Build.propsno longer lists NU1902, NU1903 and NU1904 inWarningsNotAsErrors, and only NU1510 stays there. The integration test scenarios inherit these settings, and some reproduce issues with old vulnerable packages, so their restore failed (#2496, #3608, #3000-a, #4002, #4003). A newintegrationtests/scenarios/Directory.Build.propsturns offNuGetAuditfor the scenarios only.