Skip to content

Update WinGet manager for pinget 0.4#4762

Merged
Marc-André Moreau (mamoreau-devolutions) merged 1 commit into
mainfrom
FixPinget
May 13, 2026
Merged

Update WinGet manager for pinget 0.4#4762
Marc-André Moreau (mamoreau-devolutions) merged 1 commit into
mainfrom
FixPinget

Conversation

@GabrielDuf
Copy link
Copy Markdown
Contributor

This pull request updates UniGetUI to support the breaking changes in Pinget CLI 0.4.x, ensuring compatibility and robust behavior when using either the system WinGet CLI or the bundled Pinget CLI. The changes include updating dependencies, adapting JSON handling for new key formats, removing or modifying unsupported command-line flags, and adding comprehensive tests to verify correct argument generation for both CLI tools.

Dependency and Compatibility Updates:

  • Updated Devolutions.Pinget.Cli.Rust and Devolutions.Pinget.Core package references to version 0.4.2 to ensure compatibility with the latest Pinget CLI.

Pinget CLI 0.4.x Support and Argument Handling:

  • Modified all Pinget CLI invocations to remove the now-unsupported --accept-source-agreements and --disable-interactivity flags, and adjusted logic to only use flags that are valid for the selected CLI tool and operation.
  • Switched Pinget source listing from source list --output json to source export --output json as JSON output is no longer supported for the former in Pinget 0.4.1+.

JSON Serialization and Deserialization:

  • Updated JSON serialization options to use JsonNamingPolicy.SnakeCaseLower to match Pinget 0.4.x's snake_case JSON keys, and updated test data accordingly.

Process Handling Improvements:

  • Improved process output reading by using asynchronous reads for standard output and error, ensuring more reliable process handling.

Testing and Validation:

  • Added comprehensive unit tests to verify that the correct command-line arguments are generated for both system WinGet and bundled Pinget, ensuring unsupported flags are omitted as required by Pinget 0.4.x.

These changes collectively ensure that UniGetUI remains compatible with both CLI tools and robust against future changes in Pinget or WinGet behavior.

@mamoreau-devolutions Marc-André Moreau (mamoreau-devolutions) merged commit 5062e00 into main May 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants