Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: microsoft/winget-cli
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: microsoft/winget-cli
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: release-v1.12
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 35 files changed
  • 2 contributors

Commits on Oct 16, 2025

  1. Move to latest 7.4 PS SDK (1.12) (#5812)

    CP of  #5811
    
    ## Change
    Update to the latest 7.4 PowerShell SDK. Updates the SqlClient version
    as well since it is a required dependency.
    JohnMcPMS authored Oct 16, 2025
    Configuration menu
    Copy the full SHA
    95add98 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2025

  1. Make Repair-WGPM a COM-aware cmdlet and rework version retrieval (CP …

    …to 1.12) (#5858)
    
    CP of #5842
    
    ## Issue
    A previous change introduced a COM API to retrieve the WinGet version.
    The PowerShell methods to get the version were updated to try using it
    before invoking the existing method (run `winget --version`).
    
    This caused Repair-WGPM to use COM for the first time (IFF a version
    specifier was provided [which includes `-Latest`]). This caused the two
    linked issues:
    1. #5826 :: In .NET Framework (Windows PowerShell), the .winmd file must
    be found in order to generate the COM type information at runtime. This
    is required when jit'ing the new version API, used only when a version
    specifier is provided. This doesn't affect .NET Core (PowerShell 7)
    because exceptions are swallowed to support backward compat and the
    types are all pre-generated by CsWinRT. Only commands deriving from a
    specific type were doing the initialization required.
    2. #5827 :: Calling a COM API means that the server is active, making
    attempts to install the package fail due to an in-use error. This
    required `-Force` to be provided, again only if a version specifier was
    provided.
    
    ## Change
    The larger part of this change reworks the existing assert and repair
    state machine to better re-use the call to `winget --version` that is
    actually attempting to probe for WinGet CLI functionality. We keep that
    result around and use it when comparing to the supplied target version
    rather than attempting to retrieve the version again. If the version is
    not correct, we attach it to the exception that is thrown so that we can
    re-use it once again during the attempt to install the different
    version.
    
    Since the first attempt to call `winget --version` has to succeed in
    order to get to the code that would check the current version, we can
    successfully avoid the COM call in this path every time. Ultimately this
    means that if WinGet is already installed properly, attempting to change
    the version with Repair only gets the version once instead of the
    previous 3 times.
    
    The final portion of the change updates the base command for Repair and
    Assert to the one that provides the COM initialization. While this
    shouldn't be necessary with the other portion, it is preferable to
    supply `-Force` as a workaround than to simply wait for a resolution if
    the type cannot be loaded.
    JohnMcPMS authored Nov 4, 2025
    Configuration menu
    Copy the full SHA
    99821c1 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2025

  1. Unregister signal handler (CP to 1.12) (#5862)

    ## Change
    Remove the CTRL handler when we destruct.
    
    CP of #5861
    JohnMcPMS authored Nov 6, 2025
    Configuration menu
    Copy the full SHA
    c736bed View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2025

  1. Support associating export units with packages in subdirectories (1.1…

    …2) (#5866)
    
    CP of #5859
    
    ## Change
    The primary motivation is to support directories below the install
    location to contain configuration units that we will associate with the
    package. This is achieved by refactoring the association logic from a
    Package x Unit loop into a tree structure that is colored by package
    install locations. This also has the benefit of making a O(N^2)
    algorithm into an O(N).
    
    Units are first inserted into the tree based on their file path. Then
    the install location of each package is recorded onto that tree as well.
    Finally, during the export of each package, all resources at the install
    location and any that are descended from it but not under another
    package are included.
    JohnMcPMS authored Nov 10, 2025
    Configuration menu
    Copy the full SHA
    53044ac View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2026

  1. [v1.12] Fix Font feature property name (#5947)

    Backports the same changes as
    #5946 for whenever the next
    cut of 1.12 is made
    Trenly authored Jan 6, 2026
    Configuration menu
    Copy the full SHA
    f805d9b View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2026

  1. Configuration menu
    Copy the full SHA
    2c7a2fc View commit details
    Browse the repository at this point in the history
Loading