Repository navigation
pull latest winget changes - #3
hackean-msft wants to merge 1212 commits into
Conversation
hackean-msft
commented
Aug 3, 2022
- Have you signed the Contributor License Agreement?
- Are you working against an Issue?
@check-spelling-bot ReportUnrecognized words, please review:
To accept these unrecognized words as correct, run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
To accept these unrecognized words as correct, run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
To accept these unrecognized words as correct, run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
To accept these unrecognized words as correct, run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentIObjectTo accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORTSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORT WorkflowsSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORT WorkflowsSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORT WorkflowsSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORT WorkflowsSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORT WorkflowsSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORT WorkflowsSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORT WorkflowsSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
@check-spelling-bot ReportUnrecognized words, please review:
Previously acknowledged words that are now absentBuf CDEF Concat Ctx EQU Google IObject SARL SUSE USHORT WorkflowsSome files were were automatically ignoredThese sample patterns would exclude them: You should consider adding them to: File matching is via Perl regular expressions. To check these files, more of their words need to be in the dictionary than not. You can use To accept these unrecognized words as correct (and remove the previously acknowledged and now absent words), run the following commands... in a clone of the git@github.com:microsoft/winget-cli.git repository If the flagged items are false positivesIf items relate to a ...
|
## 📖 Description Source priority from group policy was not making it into the actual source details.
## 📖 Description Skips signing the TTF file for the local test source. #6261 only fixed the JSON version of this same entry.
## 📖 Description Fix some issues with the correlation tooling that have drifted.
## 📖 Description Updates the MCP server SDK to the latest and integrates new features in: - Icons - Server instructions - Structure results
## 📖 Description This change exposes the delta index generation to the util interfaces. It does this exclusively through properties, removing the explicit baseline marking function in favor of setting a property and thus allowing a single pass through the prepare routines. It also adds new properties that will be used in a future change for the client to consume the delta. It adds extensive consistency checking so that delta generation errors can be detected early. Delta consistency covers: 1. Consistency of the delta data itself, including confirmation that unnecessary data is not being recorded 2. When the baseline property is set, the standard consistency check applied to the merged views 3. When the comparison property is set, a full equivalence check between the merged views and the standard data
###### Microsoft Reviewers: [Open in CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/6567)
## 📖 Description Follow up to #6308. Fixes the case where the symlink is in the install directory. The computed hard link path would just be the symlink path again. Also probes the hard link via functions that won't follow any symlink that might be there instead.
## 📖 Description `FileLogger` writes to a single `std::ofstream` without synchronization. When a diagnostic logger is shared across threads, concurrent `Write` / `WriteDirect` calls can interleave inside one record, and the maximum-size wrap (`HandleMaximumFileSize` / `WrapLogFile`) can race with other writers. This can produce merged or torn log lines. Upstream code already writes to the same context logger from other threads. For example, `winget configure` routes configuration processor diagnostics (`processor.Diagnostics(...)` in `ConfigurationFlow.cpp`) and WinRT progress callbacks into the context's diagnostic logger. This change adds a per-instance mutex that serializes: - `WriteDirect`, which `Write` uses; this covers the size check, wrapping and the stream write; - `SetTag(HeadersComplete)`; - `SetMaximumSize`. The mutex is held through a `std::unique_ptr` so that `FileLogger` stays movable. Single-threaded behavior and output format are unchanged.
## 📖 Description Spec for delta index support; see spec for many more details.
## 📖 Description Adds `InstallOptions.InstallDependenciesOnly` to the Windows Package Manager COM API under `WindowsPackageManagerContract` version 30. The option maps `InstallPackageAsync` to the existing dependency-only workflow, installing package dependencies without installing the requested package. It is disabled by default, does not affect `UpgradePackageAsync`, and returns `InstallResultStatus.InvalidOptions` when combined with `SkipDependencies`. This change also adds COM interop coverage for a successful dependencies-only install and the conflicting-options case, and updates the release notes. Copilot assisted with implementation and test development.
## 📖 Description Cherry pick #6568 to main.
## 📖 Description Enforce that fields used for paths cannot have invalid characters or sequences that would be used to traverse the filesystem.
## 📖 Description Improves the processor integrity checks by pinning the target files to prevent modification.
…actions group across 1 directory (#6528)
## 📖 Description Adds a new common argument, `--output-locale <locale>`, which sets the language used for WinGet''s own output strings for a single invocation. This builds on 9e7f797 (#6310), which added the persistent `output.locale` user setting and `AppInstaller::Resource::SetLanguageOverride`. Behavior: * **Common argument** — available on every command, like `--wait` and `--logs`. Visible in help output; no alias. * **Takes precedence over the `output.locale` user setting.** The setting is applied in `CoreMain` before argument parsing; the argument is applied in `Context::UpdateForArgs()`, which runs afterward, so the argument naturally wins and any subsequent help/error output is rendered in the requested locale. * **Independent of `--locale`.** `--output-locale` only affects WinGet''s own UI strings; `--locale` continues to drive manifest localization and installer locale selection. The two can be combined. * **Accepts only the supported output locales** — the same enumerated set already used by the `output.locale` setting: `en-US`, `de-DE`, `es-ES`, `fr-FR`, `it-IT`, `ja-JP`, `ko-KR`, `pt-BR`, `ru-RU`, `zh-CN`, `zh-TW`. Matching is case-insensitive and normalized to canonical casing. Unsupported values produce a hard error that enumerates the valid values. Notable implementation details: * The supported locale list was promoted from a file-local constant in `UserSettings.cpp` to shared public API (`AppInstaller::Locale::GetSupportedOutputLocales` / `NormalizeOutputLocale`) so the setting and the argument can never drift apart. A comment ties the list to the `output.locale` enum in the settings schema and the `Localization\Resources` folder set. * `Loader::SetLanguageOverride` now returns `false` immediately when no resource loader is available, **before** mutating any global MRT qualifier state. This matters for unpackaged execution without a `resources.pri` next to the binary: `CreateLoader` changes the WinRT resource system state before the guard call to `ResourceLoader()`, which can turn the subsequent `GetForViewIndependentUse` failure into an uncatchable fast fail (`0xC0000409`) outside a debugger. On failure the previously working loader is also restored so a failed override can never leave the process unable to resolve strings. * Only `src\AppInstallerCLIPackage\Shared\Strings\en-us\winget.resw` is edited; the new string includes a `<comment>` for the localization pipeline. Files under `Localization\Resources\` are generated and were not touched. * `.github\actions\spelling\expect.txt` gains `Herausgeber`, `Systemarchitektur`, and `Verzeichnisse` (German strings asserted by the new E2E tests) plus `subtags` (used in a unit test comment). Known limitation: output emitted before argument parsing (very early failures, group policy blocks) is not affected by the argument. This matches the existing behavior of `--verbose-logs` and similar common arguments.
## 📖 Description Apply loc patch for recent changes.
## 📖 Description As a step before implementing the delta index client consumption, this change refactors the packaged index factory. The responsibility is split between the "form", which defines the packages involved / their relationship, and the "store", which is how those packages are persisted to the system. This change only contains the full index form, the next will add the delta. It also contains both of the existing stores; deployed and local file. Also changes the code to use the local file storage when the process is running non-interactively. Other than that and its mild knock on, the functionality is intended to be unchanged.
## 📖 Description Move initialization out of DllMain for the inproc module; the initialization is doing too much to be done there. Make file logging best effort; if file logging is blocked for some reason, we won't get any logs and nothing will work. Let callers attempt to operate, although if the temp location is blocked for some reason we will likely fail later.
## 📖 Description This test is failing intermittently, but the lack of diagnostics hides the underlying failure.
## 📖 Description Update to 1.31; I'm sorry about the release notes conflicts.
## 📖 Description Adds experimental `deltaIndex` feature that enables the client to use delta+baseline when it is available from the source. During add, we attempt to find the delta package at a fixed name, then the baseline it references. If this is all successful, the source data has a new JSON representation to record the multiple pieces of information. When updating or opening the source, if we believe that delta is available (because we have both the delta and baseline identities), only the delta is acceptable. Any failure should escape to be reported and fixed. We may consider fallback in the future, but it is much more complex than it would first appear due to the baseline sharing identity with the full index.
## 📖 Description <!-- Describe what this PR changes, why, and any limitations. --> This adds a `Initialize-Vcpkg.ps1` script to call `vcpkg integrate install` using the installed vcpkg from Visual Studio without needing a VS developer command prompt. The script can be used for dev setup and in pipelines instead of depending on `VCPKG_INSTALLATION_ROOT`, which gives us more flexibility with the agent images we use to build. ## 🔗 References <!-- Link related issues, PRs, or docs. Use "Resolves #1234" to auto-close. --> ## 🔍 Validation <!-- How did you test? List manual steps or note automated test coverage. If applicable, include a screenshot or short recording demonstrating the change working. --> ## ✅ Checklist <!-- Place an "x" between the brackets to check an item. e.g: [x] --> - [ ] Signed the [Contributor License Agreement](https://cla.opensource.microsoft.com) - [ ] Linked to an issue - [ ] Added a [release note fragment](../doc/release-notes/README.md) (if applicable) - [ ] Updated documentation (if applicable) - [ ] Added or updated tests (or noted why not applicable) - [ ] Updated [Copilot instructions](.github/copilot-instructions.md) (if build, architecture, or conventions changed) ## 🤖 AI Assistance <!-- Check one --> - [x] AI assistance was used and has been disclosed in this PR - [ ] No AI assistance was used ## 📋 Issue Type <!-- Select the type that best describes this PR --> - [ ] Bug fix - [ ] Feature - [ ] Task ###### Microsoft Reviewers: [Open in CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/6630)