Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: rename PowerShell Core to UltraShell #16728

Closed
superbonaci opened this issue Jan 11, 2022 · 13 comments
Closed

Feature request: rename PowerShell Core to UltraShell #16728

superbonaci opened this issue Jan 11, 2022 · 13 comments
Labels
Issue-Question ideally support can be provided via other mechanisms, but sometimes folks do open an issue to get a Resolution-Answered The question is answered.

Comments

@superbonaci
Copy link

Summary of the new feature / enhancement

PowerShell Core should be renamed to UltraShell, otherwise it's mistaken with Windows PowerShell. Since this project is not an update of the other (with full retro-compatibility) they shouldn't be called the same. It's a sort of impersonation and I feel is misleading for the non techie user. In fact I know most people is not aware they are different programs.

Proposed technical implementation details (optional)

No response

@superbonaci superbonaci added Issue-Enhancement the issue is more of a feature request than a bug Needs-Triage The issue is new and needs to be triaged by a work group. labels Jan 11, 2022
@iSazonov
Copy link
Collaborator

Since this project is not an update of the other (with full retro-compatibility) they shouldn't be called the same.

MSFT explicitly say that it is next version of PowerShell - Windows PowerShell version is 5 and PowerShell version was 6 and now 7.
Keeping compatibility is main priority.
No doubts PowerShell vNext will replace Windows PowerShell 5.1 in future.

@iSazonov iSazonov added Issue-Question ideally support can be provided via other mechanisms, but sometimes folks do open an issue to get a and removed Issue-Enhancement the issue is more of a feature request than a bug labels Jan 11, 2022
@superbonaci
Copy link
Author

I've opened several bugs due to script incompatibility between version 5 and 7 (#12446 #12443). Keeping compatibility "priority" is not any guarantee of any kind. It's like python2 and python3.

@jhoneill
Copy link

The names are "PowerShell" and "Windows PowerShell". The executables have different names pwsh vs PowerShell.

Neither of the examples you quoted are incompatibilities. - both are user errors an .EXE wasn't visible, and a script hadn't been installed (to the right place at least).

Genuine incompatibilities do exist, mostly with modules which require an earlier version of .NET - which has retained its name.

@superbonaci
Copy link
Author

Neither of the examples you quoted are incompatibilities. - both are user errors an .EXE wasn't visible, and a script hadn't been installed (to the right place at least).

Check this one #16731

@jhoneill
Copy link

Neither of the examples you quoted are incompatibilities. - both are user errors an .EXE wasn't visible, and a script hadn't been installed (to the right place at least).

Check this one #16731

Pretty sure that depends on being on .NET Framework 4. You need to ask the person whose code you're cutting and pasting if they have a version for .NET 6.

@superbonaci
Copy link
Author

superbonaci commented Jan 11, 2022

Pretty sure that depends on being on .NET Framework 4. You need to ask the person whose code you're cutting and pasting if they have a version for .NET 6.

Can't the PowerShell script be set to use .NET Framework version 4, or to launch older versions of PowerShell? If I update for .NET 6 it will break backwards compatibility, while @iSazonov just said "Keeping compatibility is main priority". This is a mess and not well designed.

@vexx32
Copy link
Collaborator

vexx32 commented Jan 11, 2022

Keeping compatibility with PowerShell scripts themselves as much as we can has been a priority, yes. However, you're talking about a .NET Core / .NET application being compatible with .NET Framework 4, which has been out of support for many years now (unless you mean 4.8, which I believe is the only version of 4.x still in support?).

.NET Framework applications and libraries are by and large simply not compatible with newer .NET versions; that's not something PowerShell can do anything about. If you want to run something under Windows PowerShell you can do so, and if you're shipping a module you can specify in the manifest that it only supports specific PowerShell versions or platforms.

If the module manifest does not specify supporting the Core edition of PowerShell, pwsh will typically attempt to load the module in 'windows compatibility mode', where it will actually load the module in Windows PowerShell and communicate between the processes to allow you to use it. This isn't perfect, but it's the closest you'll get without just running Windows PowerShell.

@superbonaci
Copy link
Author

superbonaci commented Jan 11, 2022

Also the shortcut should be renamed, from PowerShell 7 (x64).lnk to PowerShell Core 7 (x64).lnk (in this request PowerShell Ultra 7 (x64).lnk). Same for 32 bits version and other architectures.

@jhoneill
Copy link

Pretty sure that depends on being on .NET Framework 4. You need to ask the person whose code you're cutting and pasting if they have a version for .NET 6.

Can't the PowerShell script be set to use .NET Framework version 4, or to launch older versions of PowerShell? If I update for .NET 6 it will break backwards compatibility, while @iSazonov just said "Keeping compatibility is main priority". This is a mess and not well designed.

Windows PowerShell 5 is written and compiled for .NET Framework 4
PowerShell 7.2 is is written and compiled for .NET 6

No progress comes with absolute 100% guaranteed compatibility. People find old code on line that they don't understand, paste it into the current version and get upset that the two don't work together. 20 years after .NET was introduced I still hear people complaining that Microsoft should have stayed with VB6 (VB was only 7 years when the shift to .NET happened). Shifting from earlier version of .NET to the current cross platform and open source version has caused some pain. Progress isn't free, sadly.

Also the shortcut should be renamed, from PowerShell 7 (x64).lnk to PowerShell Core 7 (x64).lnk. Same for 32 bits version and other architectures.

Go back and read the documents about why the word "core" was removed when 6 became 7.

@superbonaci
Copy link
Author

If I must read documents it means it's not intuitive. Hence I request it's renamed to Ultra or whatever, but not just PowerShell.

@ImportTaste
Copy link
Contributor

I agree with the sentiment that dropping 'Core' from the title has made it confusing to properly distinguish between the two, but calling the project 'UltraShell' is just silly.

@doctordns
Copy link
Contributor

At its heart, PowerShell 7 (aka PowerShell, aka PowerShell Core) is the same PowerShell that is in the core of Windows PowerShell. Cmdlets, objects, the pipeline - all work broadly the same (arguably some work better in PowerShell than in Windows PowerShell). IMHO, any further renaming is fruitless.

@iSazonov iSazonov added Resolution-Answered The question is answered. and removed Needs-Triage The issue is new and needs to be triaged by a work group. labels Feb 11, 2022
@ghost
Copy link

ghost commented Feb 12, 2022

This issue has been marked as answered and has not had any activity for 1 day. It has been closed for housekeeping purposes.

@ghost ghost closed this as completed Feb 12, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Question ideally support can be provided via other mechanisms, but sometimes folks do open an issue to get a Resolution-Answered The question is answered.
Projects
None yet
Development

No branches or pull requests

6 participants