WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
When parsing a version, it may be possible that a publisher included one or more whitespace characters at the end of the DisplayVersion key. Since a folder name cannot end with a whitespace character, this means that any PackageVersion in the community repository cannot have a trailing whitespace character.
Due to the way versions are parsed, the trailing whitespace gets considered as an "other" of the version part during the version comparison. This means that 5.8 is considered a lower version than 5.8 when parsed.
This PR makes it so that when a version is assigned, as is the case when parsing the installed versions, both the final version and the version parts are trimmed of whitespace. This means that 5.0.13 is now considered equal to 5.0 .13, 5.0.13, or even 5 . 0 .13
When parsing a version, it may be possible that a publisher included one or more whitespace characters at the end of the DisplayVersion key. Since a folder name cannot end with a whitespace character, this means that any PackageVersion in the community repository cannot have a trailing whitespace character.
Due to the way versions are parsed, the trailing whitespace gets considered as an "other" of the version part during the version comparison. This means that
5.8
is considered a lower version than5.8
when parsed.This PR makes it so that when a version is assigned, as is the case when parsing the installed versions, both the final version and the version parts are trimmed of whitespace. This means that
5.0.13
is now considered equal to5.0 .13
,5.0.13
, or even5 . 0 .13
Microsoft Reviewers: Open in CodeFlow