You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add HostSystem.IsDarkMode and HostSystem.IsHighContrast for detecting operating-system dark theme and accessibility
high-contrast modes across Windows (registry and SystemParametersInfoW), macOS (defaults), and Linux (gsettings and
desktop environments)
Add PathUtilities.DownloadsDirectoryPath, PathUtilities.GetDownloadsDirectory(), and PathUtilities.TryGetDownloadsDirectory(...) to resolve the current user's standard Downloads directory across Windows
(native SHGetKnownFolderPath with FOLDERID_Downloads and user-shell-folder fallbacks), Linux (XDG_DOWNLOAD_DIR),
and macOS/Unix
Add HostSystem.PreventSleep(bool keepDisplayOn = false) returning an IDisposable token to inhibit system sleep and
optionally keep displays active across Windows (SetThreadExecutionState), macOS (caffeinate), and Linux (systemd-inhibit)
Add HostPowerStatus, HostSystem.IsOnBatteryPower, HostSystem.BatteryChargePercentage, HostSystem.GetPowerStatus(),
and HostSystem.TryGetPowerStatus(...) for cross-platform battery level, AC/battery power state, and charging detection
Add HostSystem.OpenTerminal(...) and HostSystem.OpenInTerminal(...) (and asynchronous variants) to open interactive
host terminal windows and run commands across Windows (preferring Windows Terminal wt.exe with cmd.exe fallback),
macOS (Terminal.app via open and AppleScript), and Linux (x-terminal-emulator, gnome-terminal, konsole, xfce4-terminal, xterm)
Add HostDiskStatus, HostSystem.GetAvailableFreeSpace(...), HostSystem.TryGetAvailableFreeSpace(...), HostSystem.GetDiskStatus(...), and HostSystem.TryGetDiskStatus(...) to query drive capacity, free disk space,
file system format, and drive type across Windows (GetDiskFreeSpaceExW and DriveInfo) and Unix mount points
Use strongly typed InstallerScope (PerMachineOrUser, PerUser, PerMachine) and PathRegistration (None, Register, UserDefaultNo, UserDefaultYes) enums on WindowsInstallerOptions instead of raw string configuration
Add HostSystem.OpenUrl URI overloads and generic synchronous/asynchronous and Open helpers for directories, files,
URLs, and raw shell-execute fallback targets
Add cross-platform unified file associations via FileAssociation and FileAssociations on StageKitBuild,
automatically configuring Windows Explorer context menu / Open With registration in WiX installers, CFBundleDocumentTypes in macOS Info.plist, and MimeType associations, Exec file arguments (%F), and
AppStream mediatype metadata in Linux desktop application bundles
Add WindowsInstallerOptions to Fallout to configure Windows installer options (including ContextMenuOpenWithFileAssociations as a HashSet<FileAssociation>, SignToolPath, Authenticode signing, InstallerScope and PathRegistration enums, shortcut toggles DefaultDesktopShortcut and DefaultStartMenuShortcut, and
single-file payload) alongside WiX installer context menu registration
Enforce a configurable macOS minimum runtime version in the generated installation script, defaulting to macOS 13.0
Emit current AppStream developer metadata, including a configurable developer ID, for Linux application bundles
Normalize AppStream summaries by removing trailing periods
Add option to stop configured running application instances before installation
Add InstallerPathRegistration modes for optional or enforced WiX PATH registration, with user/system scope handling,
upgrade preference restoration, uninstall cleanup, and checked or unchecked user defaults
Isolate WiX intermediate outputs by installer name to prevent incremental builds from reusing another version's MSI
Keep WiX shortcut registry state in the selected user or machine installation scope
Stop the WiX installer from overriding a chosen installation directory with the remembered one, which silently
redirected wizard and INSTALLFOLDER= command-line choices back to the previous directory
Restore the WiX shortcut preferences on silent and basic-UI installations, which never run the wizard and so recreated
shortcuts the user had removed
Scope the WiX PATH entry and remembered directory by the installation context Windows Installer resolved (ALLUSERS)
rather than by the wizard's INSTALLSCOPE, so a per-user installation writes the user PATH instead of failing with an
access denied error while trying to write the system PATH
Delete the WiX installer registry key on uninstall so nothing is left behind
Keep the WiX "Start program after install" checkbox working after a major upgrade instead of showing it inert, and
check it by default
Default silent per-user WiX installations to the user programs directory so unprivileged installs succeed without
requiring elevation or failing against Program Files
Forward Company, Copyright, RepositoryUrl, and WindowsIconFile from the Windows publish pipeline to the WiX
installer build
Disable the WiX installation scope selector during maintenance or while a previous installation is detected, since
Windows Installer keeps a product in the context it was first installed in
Uninstall directly from the WiX start menu shortcut, which now carries the application icon, instead of opening
maintenance mode that ARPNOMODIFY disables
Mark the WiX shortcut components transitive so their conditions are re-evaluated on reinstall
Record the description, keywords (from project package tags), and copyright in the WiX package summary information
Authenticode-sign every executable and library in the WiX payload instead of only the entry executable, through an InstallerPayloadToSign item that can be redefined to narrow the set
Honour a preset InstallerPathRegistration in the WiX installer project instead of always overwriting it
Add the StageKit demo icon to its window and taskbar entry
Add the PublishAot build parameter (--publish-aot), defaulting to false, to support Native AOT ahead-of-time
compilation across publishing, single-file packaging, and runtime restore operations in Fallout
Add macOS Developer ID code signing and notarization support for application bundles (.app) and packages (.dmg, .pkg) via xcrun notarytool and stapler, supporting keychain profiles (--mac-keychain-profile), Apple ID
credentials (--mac-apple-id, --mac-password, --mac-team-id), App Store Connect API keys (--mac-api-key-path, --mac-api-key-id, --mac-api-issuer-id), signing identities (--mac-signing-identity), and programmatic options on MacAppBundleOptions, while retaining ad-hoc code signing (codesign --sign -) as the fallback when notarization or
identity is not configured