GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Remove the Update Notification feature from PowerShell by daxian-dbw · Pull Request #28242 · PowerShell/PowerShell

Conversation

@daxian-dbw

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

Uh oh!

There was an error while loading. Please reload this page.

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

  • PR has a meaningful title
    • Use the present tense and imperative mood when describing your changes
  • Summarized changes
  • Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
  • This PR is ready to merge. If this PR is a work in progress, please open this as a Draft Pull Request and mark it as Ready to Review when it is ready to merge.
  • Breaking changes
    • None
    • OR
    • Experimental feature(s) needed
      • Experimental feature name(s):
  • User-facing changes
    • Not Applicable
    • OR
    • Documentation needed
      • Issue filed: Removing Update Notification feature from PowerShell MicrosoftDocs/PowerShell-Docs#13335
  • Testing - New and feature
    • N/A or can only be tested interactively
    • OR
    • Make sure you've added a new test if existing tests do not effectively test the code changed

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

diecknet and 0xfeeddeadbeef reacted with thumbs up emoji hankxdev, zxbmmmmmmmmm, the0cp, lisonge, wtorso, Librazy, tiesen243, gracetyy, sed909, Xmarmalade, and 5 more reacted with laugh emoji ertyz reacted with hooray emoji Heptazhou reacted with confused emoji
All reactions
  • 👍 2 reactions
  • 😄 15 reactions
  • 🎉 1 reaction
  • 😕 1 reaction
@daxian-dbw
Remove the Update Notification feature
034ad70
@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

azure-pipelines Bot commented Oct 20, 2026

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@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 started reviewing on behalf of Dongbo Wang (daxian-dbw) October 20, 2026 20:26
View session
Copilot AI reviewed Oct 20, 2026
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

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

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@daxian-dbw Dongbo Wang (daxian-dbw) mentioned this pull request Oct 20, 2026
Removing Update Notification feature from PowerShell MicrosoftDocs/PowerShell-Docs#13335
Open
2 tasks done
@daxian-dbw Dongbo Wang (daxian-dbw) added Backport-7.6.x-Consider Backport-7.7.x-Consider labels Oct 20, 2026
jshigetomi
Justin Chung (jshigetomi) approved these changes Oct 20, 2026
View reviewed changes
@daxian-dbw
Dongbo Wang (daxian-dbw) merged commit 02e9e0c into PowerShell:master Oct 20, 2026
38 of 39 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@daxian-dbw
Dongbo Wang (daxian-dbw) deleted the remove-update-notification branch October 20, 2026 21:45
This was referenced Oct 20, 2026
Fix startup crash when formatting localized update notifications #28236
Closed
PowerShell can crash on startup when displaying the update notification under zh-Hans due to negative PadRight width #28131
Closed
@daxian-dbw Dongbo Wang (daxian-dbw) added Backport-7.6.x-Approved and removed Backport-7.6.x-Consider labels Oct 20, 2026
@frogintr frogintr mentioned this pull request Oct 21, 2026
[Bug] Startup crash: PadRight totalWidth -17 in ShowUpdateNotification when console width is too narrow #28235
Closed
5 tasks done
@daxian-dbw Dongbo Wang (daxian-dbw) added Backport-7.6.x-Done and removed Backport-7.6.x-Approved labels Oct 21, 2026
@JoeSalmeri

Joe S (JoeSalmeri) commented Oct 26, 2026

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

CrazyWolf13, kwtobin, and joqtan reacted with thumbs up emoji
All reactions
  • 👍 3 reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@kilasuit

Ryan Yates (kilasuit) commented Oct 27, 2026 •
edited by unfurl-links Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

This PR closes this following discussion

  • Removing the PowerShell Update Notification #27060

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

    PowerShell/tools/install-powershell.ps1

    Lines 272 to 292 in 46f6096

    $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
Removing the PowerShell Update Notification · PowerShell PowerShell · Discussion #27060
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, ...
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@kwtobin

kwtobin commented Oct 27, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

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.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@JoeSalmeri

Joe S (JoeSalmeri) commented Oct 27, 2026

Copy link
Copy Markdown

This PR closes this following discussion

  • Removing the PowerShell Update Notification #27060

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.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@JoeSalmeri

Joe S (JoeSalmeri) commented Oct 27, 2026

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.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@daxian-dbw Dongbo Wang (daxian-dbw) added Backport-7.7.x-Done and removed Backport-7.7.x-Consider labels Oct 27, 2026
@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.

joqtan and ilcpm reacted with thumbs up emoji bharatvansh reacted with rocket emoji
All reactions
  • 👍 2 reactions
  • 🚀 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gioxx Giovanni Francesco Solone (gioxx) mentioned this pull request Oct 29, 2026
feat(updates): report new PowerShell releases in the update check gioxx/Nebula.Core#21
Merged
@kilasuit Ryan Yates (kilasuit) mentioned this pull request Nov 3, 2026
Stop nagging about "latest" when I'm on "latest LTS" #20210
Closed
@kilasuit

Ryan Yates (kilasuit) commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator

kjwsge I can give you some history behind this, and whilst it may seem like being removed over culture issues, there's much more to it than just that & has been on the teams mind to do this for some time as mentioned in this discussion

This feature, whilst well intentioned when it was added, has caused a number of unnecessary issues being raised in this repository, usually each month a new PowerShell version was released, and often multiple of them a month.

This was mostly because of PowerShell having been released here on GitHub, but not being instantly available from whatever place it was others wanted to install it from, whether that be via the Microsoft Store, Microsoft Update, packages.microsoft.com or via the operating system package managers like winget, apt, yum, dnf, snap etc so this lead almost every month to issues along the lines of PowerShell isn't available on xyz platform yet which mostly was noise and in many cases nothing that the team could do to change. There are still occasions where it's slower than about a week for the release to show up in those places, but usually there's nothing the team can do about that.

Then we'd have people (including myself) asking things like can the message in the notification be customised at all & please tell us how we actually update in the message & please tell us where and how did we install & which package type was it that we installed.

Also the amount of code that was required for this feature , as it was & without adding those additional requests, really wasn't worth it for the benefit it provided. Plus there had been many requests for this feature to be removed, due to it not being flexible enough, and for others, because it was completely useless to them.

Now balance this with that you can add into your PowerShell Profile as little as the below amounts of code which you can customise that'll tell you if there is a new PowerShell version to update to or not every time you start a PowerShell session.

using 1 liner and the gh cli tool if you use it

if((gh release list --repo PowerShell/PowerShell --json tagName --limit 1 --exclude-pre-releases | convertfrom-json).tagName.replace('v','') -notmatch $PSVersionTable.PSVersion.ToString()) {Write-Host 'New PowerShell version released' -ForegroundColor Green} else {Write-Host 'No New PowerShell version released' -ForegroundColor red}

or if the existing endpoint for the latest Stable release that the update notification used

$psstableTag = (irm https://aka.ms/pwsh-buildinfo-stable).ReleaseTag.replace('v','')
if ($psstableTag -match $PSVersionTable.PSVersion) {'No new PowerShell Release yet'}else{'There is a new PowerShell Release'}

or perhaps directly from the GitHub Releases RestAPI (which doesn't require auth token to pull data from) looking for the last release in the 7.6 or 7.7 releases but only output it if was in the last 15 days.

$days = -15
$psr = irm https://api.github.com/repos/powershell/powershell/releases
$76 = $psr | Select name,created_at,tag_name,html_url | where tag_name -Match '7.6' | select -First 1
$77 = $psr | Select name,created_at,tag_name,html_url | where tag_name -Match '7.7' | select -First 1
if ($76.created_at -gt (get-date).AddDays($days)) {
        Write-Output "New PSRelease 7.6 available: $($76.tag_name) - $($76.html_url)"
    }
if ($77.created_at -gt (get-date).AddDays($days)) {
        Write-Output "New PSRelease 7.7 available: $($77.tag_name) - $($77.html_url)"
    }

I am already making use of an adapted version of that last block of code in my profile that runs as a ThreadJob on startup that adds a section to my prompt if there are 1 or more new PowerShell Releases that I am interested in since I last let it check.

image

I hope from reading the above you can understand why the team had decided that they wanted to remove the Update Notification feature, & with it having this issue crop up now with localisation of the messages this feature provided, was no longer worth spending more engineering time or effort in fixing & why they ultimately chose to remove it now.

Yes there will be some that will miss this feature, there's there's many that likely won't miss that it's gone & many that even if they were making use of it, well now they get the chance to build themselves something similar, but more flexible & that they can customise however suits them best going forward & for a lot less code.

I would have preferred changing the message to say "this feature is getting removed in the next release" & then removing it, but the time frame between the 7.6.6 & 7.6.9 releases wouldn't have allowed to get that change in anyway.
image

I have proposed an update to the about_Update_Notification document for the 7.6 docs to include a section about the removal of this feature, as I don't think ripping the doc out straight away is the right approach, & that this feature can be easily replicated if needed pointing to the docs for the gh cli, GitHub Rest API & also to the metadata.json file in this repository that you can also query if you wanted.

kjwsge reacted with heart emoji
All reactions
  • ❤️ 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@kwtobin

kwtobin commented Nov 3, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Now balance this with that you can add into your PowerShell Profile as little as the below amounts of code which you can customise that'll tell you if there is a new PowerShell version to update to or not every time you start a PowerShell session.

using 1 liner and the gh cli tool if you use it

if((gh release list --repo PowerShell/PowerShell --json tagName --limit 1 --exclude-pre-releases | convertfrom-json).tagName.replace('v','') -notmatch $PSVersionTable.PSVersion.ToString()) {Write-Host 'New PowerShell version released' -ForegroundColor Green} else {Write-Host 'No New PowerShell version released' -ForegroundColor red}

or if the existing endpoint for the latest Stable release that the update notification used

$psstableTag = (irm https://aka.ms/pwsh-buildinfo-stable).ReleaseTag.replace('v','')
if ($psstableTag -match $PSVersionTable.PSVersion) {'No new PowerShell Release yet'}else{'There is a new PowerShell Release'}

or perhaps directly from the GitHub Releases RestAPI (which doesn't require auth token to pull data from) looking for the last release in the 7.6 or 7.7 releases but only output it if was in the last 15 days.

$days = -15
$psr = irm https://api.github.com/repos/powershell/powershell/releases
$76 = $psr | Select name,created_at,tag_name,html_url | where tag_name -Match '7.6' | select -First 1
$77 = $psr | Select name,created_at,tag_name,html_url | where tag_name -Match '7.7' | select -First 1
if ($76.created_at -gt (get-date).AddDays($days)) {
        Write-Output "New PSRelease 7.6 available: $($76.tag_name) - $($76.html_url)"
    }
if ($77.created_at -gt (get-date).AddDays($days)) {
        Write-Output "New PSRelease 7.7 available: $($77.tag_name) - $($77.html_url)"
    }

I appreciate the background but this was handled poorly. If the feature was going to be removed that should have been announced in advance, and only after documentation on how to enable notifications within your profile was added to the installation learn pages and mentioned in the release notes.

I'm not sure how a typical user would find any of this information and the recommended installation method for macOS users still leaves them with no obvious way to ever know they're on an outdated version. https://learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-macos?view=powershell-7.6

Then again, the documentation also points users to 7.6.6 and the referenced Changelog stops at 7.6.4.

Install PowerShell 7 on macOS - PowerShell
How to install PowerShell on macOS
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@kilasuit

Ryan Yates (kilasuit) commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator

kwtobin - yeah it could have been handled better. I did note about the outdated versions being referenced on the Install PowerShell 7 on macOS page, but could you clarify what you mean about or point me to where the referenced Changelog stops at 7.6.4. may be as I couldn't find it

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@kwtobin

kwtobin commented Nov 3, 2026 •
edited by unfurl-links Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Ryan Yates (@kilasuit) - Sorry, I should have been more clear on that. The What's New in PowerShell section on the sidebar, and particularly, What's New in PowerShell 7.6 (https://learn.microsoft.com/en-us/powershell/scripting/whats-new/what-s-new-in-powershell-76?view=powershell-7.6) links to https://github.com/PowerShell/PowerShell/blob/master/CHANGELOG/7.6.md.

What's New in PowerShell 7.6 - PowerShell
New features and changes released in PowerShell 7.6
GitHub
PowerShell/CHANGELOG/7.6.md at master · PowerShell/PowerShell
PowerShell for every system! Contribute to PowerShell/PowerShell development by creating an account on GitHub.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@kilasuit Ryan Yates (kilasuit) mentioned this pull request Nov 4, 2026
Updated release notes for Oct-2026 releases required MicrosoftDocs/PowerShell-Docs#13375
Open
Justin Chung (jshigetomi) pushed a commit to jshigetomi/PowerShell that referenced this pull request Nov 11, 2026
@daxian-dbw Justin Chung
Merged PR 42253: [release/v7.6.8] Update v7.6.8 changelog to include …
ffa695e
…the Update Notification change

Update v7.6.8 changelog to include the Update Notification change

----
#### AI description  (iteration 1)
#### PR Classification
Documentation update.

#### PR Summary
Updates the v7.6.8 changelog to document the removal of the Update Notification feature.
- `CHANGELOG/7.6.md`: Added entry under "General Cmdlet Updates and Fixes" noting removal of the Update Notification feature from PowerShell (PowerShell#28242).
<!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

Copilot code review Copilot
Copilot review effort
Applies to this pull request for everyone.Learn more about Copilot code review.
Copilot left review comments
@jshigetomi Justin Chung (jshigetomi) jshigetomi approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

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

Milestone

No milestone

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

Uh oh!

There was an error while loading. Please reload this page.

7 participants

@daxian-dbw @JoeSalmeri @kilasuit @kwtobin @kjwsge @jshigetomi
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.