Pewarta Proxy

📋 Server Request & Proxy Logs

Loading active proxy settings...
Developed by Khairul Adha (adhexa.id)
Mengambil log server...

⚙️ Pengaturan Proxy Target

Skip to content

Remove the Update Notification feature from PowerShell - #28242

Merged
Dongbo Wang (daxian-dbw) merged 1 commit into
PowerShell:masterfrom
daxian-dbw:remove-update-notification
Oct 20, 2026
Merged

Dongbo Wang (daxian-dbw) merged 1 commit into
PowerShell:masterfrom
daxian-dbw:remove-update-notification

Conversation

@daxian-dbw

@daxian-dbw Dongbo Wang (daxian-dbw) commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

PR Summary

Fix #28131

Remove the Update Notification feature from PowerShell.

PowerShell servicing delivery through Microsoft Update has become increasingly mature and reliable, while PowerShell installed as an MSIX app can update automatically through the Microsoft Store. As these update mechanisms have improved, the in-product Update Notification provides increasingly limited additional value.

Removing the feature also eliminates its background network request, local cache and synchronization logic, startup notification, and associated maintenance overhead.

Changes

  • Remove the background check for new PowerShell releases.
  • Remove the update notification from the startup banner.
  • Remove the UpdatesNotification implementation and its cache-management logic.
  • Remove the default update-notification resource strings. Localized resources will be updated by the Localization Pipeline.
  • Remove obsolete POWERSHELL_UPDATECHECK setup from the startup banner tests.

PR Checklist

@daxian-dbw
Dongbo Wang (daxian-dbw) requested a review from a team as a code owner October 20, 2026 20:26
Copilot AI balanced review requested due to automatic review settings October 20, 2026 20:26
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@daxian-dbw Dongbo Wang (daxian-dbw) added the CL-General Indicates that a PR should be marked as a general cmdlet change in the Change Log label Oct 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The removal is self-contained, preserves startup-banner assertions, and has no identified blocking issues.

No open issues 🎉

What changed in this PR

Removes PowerShell’s in-product update notifications, eliminating the startup crash path described in #28131 and associated background processing.

Changes:

  • Remove release checks, notification display, and cache-management implementation.
  • Remove default notification strings; localized cleanup is deferred to the Localization Pipeline.
  • Remove obsolete update-check environment setup from startup-banner tests.
File Description
test/​powershell/​Host/​ConsoleHost.Tests.ps1 Remove obsolete environment setup and restoration.
src/​Microsoft.PowerShell.ConsoleHost/​resources/​ManagedEntranceStrings.resx Remove default notification strings.
src/​Microsoft.PowerShell.ConsoleHost/​host/​msh/​UpdatesNotification.cs Delete the notification implementation.
src/​Microsoft.PowerShell.ConsoleHost/​host/​msh/​ConsoleHost.cs Remove background update-check startup.
src/​Microsoft.PowerShell.ConsoleHost/​host/​msh/​CommandLineParameterParser.cs Remove notification display from the banner.

Review effort: Balanced

@JoeSalmeri

Copy link
Copy Markdown

How will Linux installs that used tar.gz files be notified about an update being available ?

Seems like that use case was forgotten....

@kilasuit

Ryan Yates (kilasuit) commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

This PR closes this following discussion

Joe S (@JoeSalmeri) - Put simply they won't be notified & users that are using that install method will need to look to implement their own update check & install logic. My feeling is that the team felt if users are using that method for install on linux or MacOS or zip installs on Windows then they should already be capable of managing their own update check & install process.

Which can be done in a few lines of PowerShell easily enough via calling either

  • using the gh cli tool and gh release list --repo PowerShell/PowerShell
  • the release api for this repo https://api.github.com/repos/PowerShell/PowerShell/releases
  • via using the metadata.json file in this repo using sample code like this
    $metadata = Invoke-RestMethod 'https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/metadata.json'
    if ($Preview) {
    $release = $metadata.PreviewReleaseTag -replace '^v'
    } else {
    $release = $metadata.ReleaseTag -replace '^v'
    }
    if ($IsWinEnv) {
    if ($UseMSI) {
    $packageName = "PowerShell-${release}-win-${architecture}.msi"
    } else {
    $packageName = "PowerShell-${release}-win-${architecture}.zip"
    }
    } elseif ($IsLinuxEnv) {
    $packageName = "powershell-${release}-linux-${architecture}.tar.gz"
    } elseif ($IsMacOSEnv) {
    $packageName = "powershell-${release}-osx-${architecture}.tar.gz"
    }
    $downloadURL = "https://github.com/PowerShell/PowerShell/releases/download/v${release}/${packageName}"
    Write-Verbose "About to download package from '$downloadURL'" -Verbose
GitHub
PowerShell currently includes an update notification that informs users when a newer version of PowerShell is available. This feature was originally introduced to help users discover new releases, ...

@kwtobin

kwtobin commented Oct 27, 2026 •

Copy link
Copy Markdown

Ryan Yates (@kilasuit) - That seems like a leap to assume a typical user that downloaded a software package from Install PowerShell 7 on macOS once is ever going to go back and check it again manually.

It isn't like there haven't been significant CVE's that have needed patching recently that put Linux and macOS users at risk.

Feels like the 'security is a priority' focus went out the window with this decision.

@JoeSalmeri

Copy link
Copy Markdown

This PR closes this following discussion

Joe S (Joe S (@JoeSalmeri)) - Put simply they won't be notified & users that are using that install method will need to look to implement their own update check & install logic. My feeling is that the team felt if users are using that method for install on linux or MacOS or zip installs on Windows then they should already be capable of managing their own update check & install process.

Which can be done in a few lines of PowerShell easily enough via calling either

I already wrote a pwsh script to install a specific version pwsh version and I already check the releases website periodically to check for updates and read about changes, but the notification was also a reminder for me to check.

Thanks for the example script to check for update, I appreciate it.

@JoeSalmeri

Copy link
Copy Markdown

Ryan Yates (Ryan Yates (@kilasuit)) - That seems like a leap to assume a typical user that downloaded a software package from Install PowerShell 7 on macOS once is ever going to go back and check it again manually.

It isn't like there haven't been significant CVE's that have needed patching recently that put Linux and macOS users at risk.

Feels like the 'security is a priority' focus went out the window with this decision.

I agree, seems like a bad decision but at least there is a way we can restore the functionality with a few lines of code.

@kjwsge

kjwsge commented Oct 29, 2026

Copy link
Copy Markdown

This is a poor decision. Since I don't manage PowerShell through the Microsoft Store, I have no way of knowing if a patch is needed without the update notification. I don't understand why a perfectly normal function is being removed over a culture issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backport-7.6.x-Done Backport-7.7.x-Done CL-General Indicates that a PR should be marked as a general cmdlet change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PowerShell can crash on startup when displaying the update notification under zh-Hans due to negative PadRight width

7 participants