Skip to content

Tags: microsoft/winget-cli

Tags

v1.29.380

Toggle v1.29.380's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Ensure relative paths are rooted (1.29) (#6467)

CP of #6357 to 1.29 (dropped release notes that didn't merge).

v1.30.140-preview

Toggle v1.30.140-preview's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Ensure relative paths are rooted (#6357)

## 📖 Description
<!-- Describe what this PR changes, why, and any limitations. -->

The way we were checking that a relative path was inside a directory was
wrong because it didn't check if the path was rooted. This PR fixes
that.

v1.30.100-preview

Toggle v1.30.100-preview's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Clean up Duplicate Surfacing comment noise (#6412) (#6414)

## 📖 Description

Reduces noise in the **Duplicate Surfacing** workflow's comment, per
maintainer feedback in #6412.

Three changes to `.github/workflows/duplicate-surfacing.md` (and its
regenerated `.lock.yml`):

1. **Header** — drop the `(surfaced automatically for maintainer review
— this issue has **not** been closed)` parenthetical. The comment is now
just `**Possible duplicates:**`.
2. **Guidance** — reword from maintainer-facing to
**contributor-facing**: thank the submitter, ask them to review the
candidates, and — if one matches — to 👍 that issue and close this one as
a duplicate. Keeps the note that older/curated issues are preferred as
canonical. Removes the `Duplicate of #<number>` instruction (maintainers
already know the trigger, and this avoids surfacing the auto-close
phrase in the comment body).
3. **Footer** — replace the auto-generated `> Generated by 🔁 Duplicate
Surfacing … · sonnet46 · NN AIC · …` footer with a single consolidated
line via `safe-outputs.messages.footer`:

   ```
Template: msftbot/duplicate/surfaced by [Duplicate
Surfacing](<link-to-run>)
   ```

This keeps the `Template:` tag (for email-filter rules) and a link back
to the workflow run, while dropping the token/cost metadata noise.
Rendered as an H6 heading (`######`) to visually de-emphasize it. The
invisible `<!-- gh-aw-… -->` dedup markers are unaffected (they're added
separately and are required so the workflow doesn't re-comment).

### Rendered comment (after)

> **Possible duplicate(s):**
>
> Thank you for submitting this issue.
>
> The issue(s) below may already track your request or bug. Please take
a look — if one of them matches, give that issue a 👍 and close this one
as a duplicate. Older or curated issues are preferred as the canonical
one to follow.
>
> - #472 — Requests the same feature: …
> - #1103 — Same underlying bug: …
>
> ###### Template: msftbot/duplicate/surfaced by [Duplicate
Surfacing](https://github.com/microsoft/winget-cli/actions/runs/…)

## 🔗 References

Resolves #6412

## 🔍 Validation

- `gh aw compile duplicate-surfacing` → 0 errors, 0 warnings.
- Verified the footer template is embedded in the generated lock as
`GH_AW_SAFE_OUTPUT_MESSAGES` and that `GH_AW_RUN_URL` /
`GH_AW_WORKFLOW_NAME` are wired in to render the `{run_url}` /
`{workflow_name}` placeholders.

## ✅ Checklist

- [x] Signed the [Contributor License
Agreement](https://cla.opensource.microsoft.com)
- [x] Linked to an issue
- [ ] Updated [Release Notes](../doc/ReleaseNotes.md) (if applicable)
- [ ] Updated documentation (if applicable)
- [ ] Updated [Copilot instructions](.github/copilot-instructions.md)
(if build, architecture, or conventions changed)

## 📋 Issue Type

- [x] Task

---
Authored with GitHub Copilot assistance.

Co-authored-by: Demitrius Nelon <[email protected]>
Copilot-Session: 3701d64a-96ba-42f1-be59-b4e7d2a2820a

v1.29.290

Toggle v1.29.290's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Port scope targeted token check to 1.29 (#6386)

## 📖 Description
Brings in the token type check over admin group for the uninstall and
repair scope based security protections.

## 🔗 References
Fixes #6363 for UAC disabled adminstrators.

v1.30.90-preview

Toggle v1.30.90-preview's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Block admin uninstall of user package (#6345)

## 📖 Description
Block admin uninstall of user package.

v1.30.80-preview

Toggle v1.30.80-preview's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Optional Telemetry Event for Microsoft Store Catalog Installs (msstor…

…e Source) (#6352)

## 📖 Description

Adds an optional telemetry event that lets Microsoft Store analytics
attribute Store‑catalog
app installs that happen through WinGet.

When WinGet successfully installs an app whose source is the Microsoft
Store (`msstore`), it now
emits a `StoreExperienceTelemetry-WinGetInstall` event on the
**`Microsoft-Windows-Store`** ETW
provider (`{9C2A37F3-E5FD-5CAE-BCD1-43DAFEEE1FF0}`). The event carries
only the minimum needed for
attribution:

| Field | Value |
|-------|-------|
| `pid` | Store product ID (the `msstore` package identifier) |
| `src` | Install caller |
| `cn`  | Catalog name — constant `"msstore"` |

Key points:

- **Emitted only on success, only for `msstore`.** The call site is the
success path of
  `ReportInstallerResult`, gated on

`PackageVersion->GetSource().IsWellKnownSource(WellKnownSource::MicrosoftStore)`.
Local‑manifest
installs (which have no `PackageVersion`) are guarded with
`Contains(...)` so they are unaffected.
- **Scope: unpackaged (Win32) Store apps.** Unpackaged `msstore` items
resolve to a real installer
type (`exe`/`msi`) and flow through `ReportInstallerResult`, so they
emit the event.
- **New dedicated provider.** `Microsoft-Windows-Store` is registered
alongside the existing WinGet
provider, with its own enablement callback
(`g_IsStoreTelemetryProviderEnabled`) so the Store
  event can be captured independently of the WinGet telemetry provider.
- **Privacy‑preserving.** The event honors the WinGet telemetry opt‑out
(`m_isSettingEnabled`), the runtime toggle (`m_isRuntimeEnabled`), and
initialization state, and
is tagged `PDT_ProductAndServicePerformance` /
`MICROSOFT_KEYWORD_CRITICAL_DATA`. It records no
  executable paths, usernames, or command‑line arguments.

### Files changed

| File | Change |
|------|--------|
| `src/AppInstallerCommonCore/Telemetry/TraceLogging.{h,cpp}` |
Declare/define the `Microsoft-Windows-Store` provider + register its
enablement callback |
| `src/AppInstallerCommonCore/Public/AppInstallerTelemetry.h` | Declare
`LogStoreInstall` |
| `src/AppInstallerCommonCore/AppInstallerTelemetry.cpp` | Implement
`LogStoreInstall` (writes the event; updates the telemetry summary when
the WinGet provider is enabled) |
| `src/AppInstallerCLICore/Workflows/InstallFlow.cpp` | Call
`LogStoreInstall` on successful `msstore` installs, guarded by
`Contains(PackageVersion)` |

## 🔗 References

Resolves #6317

## 🔍 Validation

- **CLI, unpackaged Store app (confirmed):** `winget install
XPFFH613W8V6LV
--accept-package-agreements` (OBS Studio — an unpackaged `exe` Store
app). An ETW capture of the
`Microsoft-Windows-Store` provider showed
`StoreExperienceTelemetry-WinGetInstall` with `pid` =
  the Store product ID and `cn` = `msstore`.
- **Negative cases:** no event for non‑`msstore` sources, and none for a
failed install (the event
  is only reached on the success path).
- **Privacy:** event is suppressed when WinGet telemetry is disabled via
settings or the runtime
  toggle.

## ✅ Checklist

- [x] Signed the [Contributor License
Agreement](https://cla.opensource.microsoft.com)
- [x] Linked to an issue
- [ ] Updated [Release Notes](../doc/ReleaseNotes.md) (if applicable)
- [ ] Updated documentation (if applicable)
- [ ] Updated [Copilot instructions](.github/copilot-instructions.md)
(if build, architecture, or conventions changed)

## 📋 Issue Type

- [ ] Bug fix
- [x] Feature
- [ ] Task
###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/6352)

---------

Co-authored-by: Copilot <[email protected]>

v1.30.70-preview

Toggle v1.30.70-preview's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Undo normalization of external files (#6336)

## 📖 Description
<!-- Describe what this PR changes, why, and any limitations. -->

#6267 and #6276 normalized the line endings across the repo. This
included the external PS modules, some of which are signed files. The
normalization broke the signatures in some of those files.

This PR undoes the normalization for those files and restores them to
the proper orden.

## 🔗 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. -->

## ✅ 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
- [ ] Updated [Release Notes](../doc/ReleaseNotes.md) (if applicable)
- [ ] Updated documentation (if applicable)
- [ ] Updated [Copilot instructions](.github/copilot-instructions.md)
(if build, architecture, or conventions changed)

## 📋 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/6336)

v1.30.50-preview

Toggle v1.30.50-preview's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Undo normalization of external files (#6336)

## 📖 Description
<!-- Describe what this PR changes, why, and any limitations. -->

#6267 and #6276 normalized the line endings across the repo. This
included the external PS modules, some of which are signed files. The
normalization broke the signatures in some of those files.

This PR undoes the normalization for those files and restores them to
the proper orden.

## 🔗 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. -->

## ✅ 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
- [ ] Updated [Release Notes](../doc/ReleaseNotes.md) (if applicable)
- [ ] Updated documentation (if applicable)
- [ ] Updated [Copilot instructions](.github/copilot-instructions.md)
(if build, architecture, or conventions changed)

## 📋 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/6336)

v1.29.280

Toggle v1.29.280's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix configuration elevation validation for standard flow (1.29) (#6318)

CP of #6307 to 1.29

Technically it wasn't a CP because of the line ending renormalization.
You can filter that out using the following method:
- Create your CP branch off the target
- `git show <HASH> -w > temp.patch`
- `git apply -p1 --ignore-whitespace temp.patch`
- Or you can combine it into one `git show <HASH> -w | git apply -p1
--ignore-whitespace -`
- Commit the changes

## 📖 Description
As described in the issue, when using standard configuration flows that
have elevated units, the elevated process would not operate properly.
This came down to a case sensitive bool conversion that would cause the
validation flow to not properly read from the alias file.

v1.29.250

Toggle v1.29.250's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Apply latest loc patch (#6262)

###### Microsoft Reviewers: [Open in
CodeFlow](https://microsoft.github.io/open-pr/?codeflow=https://github.com/microsoft/winget-cli/pull/6262)