UpdateEverything.psd1
|
@{ RootModule = 'UpdateEverything.psm1' ModuleVersion = '1.4.0' GUID = 'e4e1f3eb-5967-4311-94af-c650fe192e95' Author = 'Brian Kronberg' Copyright = '(c) 2026 Brian Kronberg. Released under the MIT License.' Description = 'Updates a Windows machine through every package manager and update channel it can find, running each as an isolated step so one failure does not stop the rest. Covers winget, the Microsoft Store, Windows Update, Microsoft 365 Apps, Defender, PowerShell modules, npm, pipx, uv, Chocolatey, Scoop, rustup, .NET tools and more. Can register itself as a scheduled task with toast notifications.' # 5.1 is the floor because the script has always supported Windows PowerShell, # and a maintenance tool that cannot run on a machine before it has been # updated is not much use. PowerShellVersion = '5.1' # Declared so the gallery can filter on it, and so a Core-only or # Desktop-only consumer is told before installing rather than after. CompatiblePSEditions = @('Desktop', 'Core') FunctionsToExport = @( 'Update-Everything' 'Initialize-UpdateEverything' 'Register-UpdateEverythingTask' 'Unregister-UpdateEverythingTask' 'Get-UpdateEverythingTask' 'Test-PendingReboot' ) CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @('Update-All') PrivateData = @{ PSData = @{ Tags = @('Windows', 'Update', 'Maintenance', 'winget', 'WindowsUpdate', 'Chocolatey', 'Scoop', 'ScheduledTask', 'PSEdition_Desktop', 'PSEdition_Core') LicenseUri = 'https://github.com/briankronberg/UpdateEverything/blob/main/LICENSE' ProjectUri = 'https://github.com/briankronberg/UpdateEverything' ReleaseNotes = '# 1.4.0 One behaviour change to know about before upgrading, eight new update steps, and the fixes that shipped on GitHub as 1.3.1. ## -UpdateSelf now updates only this module The switch is a shortcut for "Install-Module UpdateEverything -Force" (or the Main installer with -UpdateSelfSource Main): it updates the module and runs nothing else. -Tag and -ExcludeTag are ignored for that run, and no elevation is requested, because a CurrentUser install needs none. In 1.3.0 the switch meant "also update the module during a full run". A scheduled task passing -UpdateSelf gets only the self-update after this upgrade -- give it a second task, or drop the switch, if it should keep doing both. ## Eight new steps Deno, Bun and pnpm join npm under the Node tag, each behind the same ownership check as uv, so a copy a package manager installed is left to that manager. cargo binaries runs "cargo install-update --all" where the cargo-update crate is present, and Go binaries runs "gup update" -- both skip naming the missing prerequisite rather than installing it. The Azure and Google Cloud CLIs arrive under a new Cloud tag, so "-ExcludeTag Cloud" drops the pair on a metered or offline machine. conda updates conda itself in the base environment; environment packages are left alone for the same reason pip''s are. The tag set gains Go and Cloud, and the inventory covers 24 tools. ## The 1.3.1 fixes, new to the gallery When a tool is installed twice, the warning now names the copy PATH actually resolves rather than the alphabetically first one. The Python step reports the classic py launcher as Skipped instead of Failed on machines without the Install Manager. A winget package listed for the first time during a run is reported as newly listed, not as permanently blocked. And a documentation pass held every README and help claim against the code, restoring the verbatim tool messages people grep for. ' } } } |