Version: 0.7.0
Commit: 2fdd020c5b7db093e8b3e317b22bdd8135a47e89
What's Changed
Other Changes
- Update nuget network policy for release failure by Zach Teutsch (@zateutsch) in #740
- Remove the thread-pool dependency from the PID-file tests by Alexandre Zollinger Chohfi (@azchohfi) in #737
- Verify build tools are Microsoft-signed before running them by Alexandre Zollinger Chohfi (@azchohfi) in #738
- Bump version to 0.6.1 for development by Zach Teutsch (@zateutsch) in #736
- Add a consolidated security guidance page for developers by Alexandre Zollinger Chohfi (@azchohfi) in #735
- Invoke build tools directly in sample tests instead of Invoke-Expression by Alexandre Zollinger Chohfi (@azchohfi) in #726
- Document the internal NuGet feed needed to run tests on a corp machine by Alexandre Zollinger Chohfi (@azchohfi) in #746
- Use the preinstalled Rust toolchain instead of an unpinned third-party action by Alexandre Zollinger Chohfi (@azchohfi) in #747
- Say what the default certificate password actually means by Alexandre Zollinger Chohfi (@azchohfi) in #745
- Verify the gh download in both release stages, and bump it to 2.97.0 by Alexandre Zollinger Chohfi (@azchohfi) in #748
- Make dotnet run pass its arguments to the app, as it does without the package by Alexandre Zollinger Chohfi (@azchohfi) in #724
- Fix the two flaky tests taking down build-and-package by Alexandre Zollinger Chohfi (@azchohfi) in #751
- Add OneFuzz harness for ZipRangeExtractor and fix a bounds gap it found by Alexandre Zollinger Chohfi (@azchohfi) in #765
- Publish release symbols to symweb and MSDL by Alexandre Zollinger Chohfi (@azchohfi) in #766
- Publish NuGet from a separate pipeline so release.yml keeps CFSClean by Alexandre Zollinger Chohfi (@azchohfi) in #750
- Raise the build job timeout to 120 minutes by Alexandre Zollinger Chohfi (@azchohfi) in #775
- Bump version to 0.6.3 for development by Alexandre Zollinger Chohfi (@azchohfi) in #772
- Fix MS Learn docs generation: guides index rendering, broken security link, and ms.date churn by Jaylyn Barbee (@Jaylyn-Barbee) in #777
- Explain 0x80073CF9 instead of surfacing a bare HRESULT by Alexandre Zollinger Chohfi (@azchohfi) in #782
- Omit registry URLs from the npm lockfile by Jamie Magee (@JamieMagee) in #781
- Limit template update checks to once a day for winapp new by Zach Teutsch (@zateutsch) in #757
- Update winapp new to warn when scaffolding is taking longer than expected by Zach Teutsch (@zateutsch) in #756
- Adopt Agent Plugins 1.0 for the winapp plugin by Jaylyn Barbee (@Jaylyn-Barbee) in #784
- Make agent guidance audience-aware by Nikola Metulev (@nmetulev) in #786
- Resolve
$targetnametoken$ for WinAppSDK self-contained apps by Alexandre Zollinger Chohfi (@azchohfi) in #793 - Revert "Publish NuGet from a separate pipeline so release.yml keeps CFSClean" by Alexandre Zollinger Chohfi (@azchohfi) in #795
- Surface dotnet new post-action output under --verbose for new command by Zach Teutsch (@zateutsch) in #755
- Count JS bindings recursively in the electron sample test by Jaylyn Barbee (@Jaylyn-Barbee) in #800
- Test shared Windows app-model conformance vectors by Amaury Levé (@Evangelink) in #797
- Rehearse the release weekly from the release pipeline itself by Alexandre Zollinger Chohfi (@azchohfi) in #783
- feat: find-ui works offline — bake the corpus into the binary, refresh cache every 24h by Jaylyn Barbee (@Jaylyn-Barbee) in #770
- Ship the UI Automation engine as its own NuGet packages by Alexandre Zollinger Chohfi (@azchohfi) in #799
- Support the experimental Reactor templates in
winapp newby Alexandre Zollinger Chohfi (@azchohfi) in #814 - Add bounded project context telemetry by Nikola Metulev (@nmetulev) in #785
- Re-land the NuGet-client migration on stable NuGet 7.9.0 by Alexandre Zollinger Chohfi (@azchohfi) in #761
- feat: define the shared WinUI sample index contract (#703 Phase 0) by Jaylyn Barbee (@Jaylyn-Barbee) in #806
- Ship the WinUI 3 Roslyn analyzer as a standalone NuGet package by Zach Teutsch (@zateutsch) in #759
- Handle required architecture publish profiles in winapp run by Nikola Metulev (@nmetulev) in #788
- Cooperative UI turns for concurrent
winapp uiagents by Nikola Metulev (@nmetulev) in #767 - Fix design-time XAML compile items and defer to WinUI's own target by Alexandre Zollinger Chohfi (@azchohfi) in #826
- Run a .NET file-based app with package identity by Alexandre Zollinger Chohfi (@azchohfi) in #794
- Keep short recordings from ending before the first frame by Alexandre Zollinger Chohfi (@azchohfi) in #830
- Stream project restore progress during winapp run by Nikola Metulev (@nmetulev) in #789
- feat: add winapp find-api — local Windows/WinRT API metadata search (port of winmd) by Jaylyn Barbee (@Jaylyn-Barbee) in #744
- fix(find-ui): Gallery corpus is upstream-only; ten controls that returned no code now do by Jaylyn Barbee (@Jaylyn-Barbee) in #815
- Never serve sample code that still contains a substitution placeholder by Jaylyn Barbee (@Jaylyn-Barbee) in #852
- Stop reporting service connections as missing when the build identity cannot see them by Alexandre Zollinger Chohfi (@azchohfi) in #850
- Run and automate apps in persistent Windows execution targets by Nikola Metulev (@nmetulev) in #779
- Avoid re-resolving one-shot UI elements by Nikola Metulev (@nmetulev) in #841
- Auto-generated baselines by 1ES Pipeline Templates by @microsoft-github-policy-service[bot] in #858
- Fail the build when a shipped binary is unsigned by Alexandre Zollinger Chohfi (@azchohfi) in #861
- Exercise the federated release connections instead of inspecting them by Alexandre Zollinger Chohfi (@azchohfi) in #860
- Add typed UI geometry context by Nikola Metulev (@nmetulev) in #844
- Fix incomplete UI Automation descendant searches by Nikola Metulev (@nmetulev) in #842
- Stop filing issues for routine find-ui corpus drift by Jaylyn Barbee (@Jaylyn-Barbee) in #825
- Add scoped and typed UI Automation queries by Nikola Metulev (@nmetulev) in #848
- Expose whole-document TextPattern formatting in get-property by Nikola Metulev (@nmetulev) in #847
- Upgrade SkiaSharp and Svg.Skia past the libexpat CVE by Alexandre Zollinger Chohfi (@azchohfi) in #864
- Stop shipping IntelliSense XML the CLI cannot read by Alexandre Zollinger Chohfi (@azchohfi) in #867
- Baseline BinSkim BA2007 for libHarfBuzzSharp.dll by Alexandre Zollinger Chohfi (@azchohfi) in #868
- Update CsWin32 and analyzer dependencies while preserving compiler compatibility by Nikola Metulev (@nmetulev) in #869
- Add winapp run --aot by Nikola Metulev (@nmetulev) in #817
- Add deterministic explicit UI invoke actions by Nikola Metulev (@nmetulev) in #846
- Support packaged dotnet run for .NET file-based apps by Alexandre Zollinger Chohfi (@azchohfi) in #874
- Pack project-mode support by Zach Teutsch (@zateutsch) in #829
- Update banner to WinUI blue gradient by Niels Laute (@niels9001) in #894
- Publish PR artifacts early and reuse them across validation by Nikola Metulev (@nmetulev) in #870
- Add opt-in manual prerelease publish for library NuGet packages by Zach Teutsch (@zateutsch) in #851
- Add a contributor PR lifecycle skill by Nikola Metulev (@nmetulev) in #896
- Add local code-quality pre-check skill for csharp-code-quality rules by Zach Teutsch (@zateutsch) in #893
- Expose the working directory in target snapshots by Nikola Metulev (@nmetulev) in #882
- Make
cert installaccept a public .cer (issue #838) by Zach Teutsch (@zateutsch) in #891 - Fix cert generate --manifest silently falling back to user name (#839) by Zach Teutsch (@zateutsch) in #890
- Correct dotnet output-draining documentation by Nikola Metulev (@nmetulev) in #907
- Fix screenshot host-path reporting and composite help by Nikola Metulev (@nmetulev) in #884
- Fix empty UI values falling through to accessibility labels by Nikola Metulev (@nmetulev) in #878
- Reject malformed publisher DNs in cert generate (#845) by Zach Teutsch (@zateutsch) in #892
- docs: link security guidance from README by Zach Teutsch (@zateutsch) in #904
- fix(find-ui): return samples in full instead of truncating them by Jaylyn Barbee (@Jaylyn-Barbee) in #901
- Fix find-api --filter example that returned zero matches by Jaylyn Barbee (@Jaylyn-Barbee) in #905
- Clarify blocked and ready-for-review lifecycle states by Nikola Metulev (@nmetulev) in #915
- Fix get-focused ownership for Sandbox controls without a process ID by Nikola Metulev (@nmetulev) in #880
- find-ui: report "embedded" corpus for core-only searches by Jaylyn Barbee (@Jaylyn-Barbee) in #920
- Reject terminal-error Windows Sandbox viewers by Nikola Metulev (@nmetulev) in #889
- Report the public default password in
cert generate --jsonby Alexandre Zollinger Chohfi (@azchohfi) in #916 - Fix incorrect x:Bind analyzer diagnostics by Zach Teutsch (@zateutsch) in #921
- Require a Microsoft organization on build-tool signers, and run what was verified by Alexandre Zollinger Chohfi (@azchohfi) in #922
- Fix composite screenshot output ignoring --quiet by Nikola Metulev (@nmetulev) in #919
- Consume the WinUI Gallery published sample index by Jaylyn Barbee (@Jaylyn-Barbee) in #895
- Reject empty publisher when manifest is specified by RKS (@rksharma-owg) in #924
- Activate target windows and verify ui focus outcomes by Nikola Metulev (@nmetulev) in #881
- Rehearse the nuget.org network path in the weekly release rehearsal by Alexandre Zollinger Chohfi (@azchohfi) in #927
- Skip Rust CLI scan in Component Detection to avoid crates.io probe by Zach Teutsch (@zateutsch) in #926
- Use fixed user-profile state for UI and Sandbox by Nikola Metulev (@nmetulev) in #931
- Reduce Windows Sandbox command latency by Nikola Metulev (@nmetulev) in #930
- Skip exact Win32 error-code assertions on Azure DevOps agents by Zach Teutsch (@zateutsch) in #934
New Contributors
- Jamie Magee (@JamieMagee) made their first contribution in #781
- Amaury Levé (@Evangelink) made their first contribution in #797
- RKS (@rksharma-owg) made their first contribution in #924
Full Changelog: v0.6.1...v0.7.0
Installation Options
MSIX Installer (Recommended)
- Download
winappcli_x64.msixfor x64 orwinappcli_arm64.msixfor ARM64 - Double-click to install
- Automatically added to PATH
Standalone CLI Binaries
- Download
winappcli-x64.zipfor x64 orwinappcli-arm64.zipfor ARM64 - Extract to your desired location
- Add to PATH or run directly:
winapp.exe
NPM Package (for Electron or NodeJS)
npm install microsoft-winappcli.tgzWhat's Included
- MSIX installer packages (x64 and ARM64)
- Standalone CLI binaries (x64 and ARM64)
- NPM package for NodeJS/Electron integration