PowerShell / whatsnew

MIT License
14 stars 9 forks source link

@juvtib Feedback #27

Open juvtib opened 2 years ago

juvtib commented 2 years ago

Summary of the new feature / enhancement

I am responding to the call for feedback on the PowerShell blog.

This project does not make sense to me. And I do not plan on using it in its current form.

I am comfortable referencing Microsoft Docs and the GitHub release notes for updated information on PowerShell.

I think a basic module which simply linked to those resources in the pwsh "logo" or message of the day would add value by increasing the visibility and accessibility of changelog information.

Basically, I'm afraid the WhatsNew module will add lag and errors to the changelogs without adding any compelling automation.

In part, I'm concerned that issues like #10 make it seem that WhatsNew will be an authoritative source of information. And companies might use the results from WhatsNew to justify cutting costs during upgrades. In this scenario, I do not think there is a substitute for reading the changelogs and testing software.


My challenge is for someone to reply with an example PowerShell session that proves me wrong and shows how the WhatsNew module adds value over the existing changelog sources.

Make whatever assumptions you would like including unlimited developer resources and the following feature requests:

For example:

The PowerShell WhatsNew module helps me collect all the "breaking changes" in one place which is something I do manually now.

PowerShell 7.2.6
Copyright (c) Microsoft Corporation.

https://aka.ms/powershell
Type 'help' to get help.
Type 'whatsnew' for changes in this version. 

PS /home/michael> whatsnew

...

PS /home/michael> Get-WhatsNew -Heading "breaking changes", "engine updates" -Version "7.2.6", "6.0.0-rc.2"

## Breaking changes

* \[breaking\] Skip null-element check for collections with a value-type element type ([#5432](https://...))

...

## Engine updates and fixes

...

* Fix ForEach-Object -Parallel when passing in script block variable ([#16564](https://...))

I think the WhatsNew module can be made stronger by addressing these concerns.

Regards,

Proposed technical implementation details (optional)

No response

theJasonHelmick commented 2 years ago

@juvtib -- thank you for the feedback. In reference to your post: "My challenge is for someone to reply with an example PowerShell session that proves me wrong and shows how the WhatsNew module adds value over the existing changelog sources." - We developed Get-WhatsNew, not to replace the existing sources, but to add a local version that folks could explore or setup as a MOTD. Some folks may not find this format useful and prefer the existing web resources like Microsoft Docs.

My hope is that folks that don't find Get-WhatsNew very helpful to them today, might offer suggestions and additional scenarios, which we could learn from to improve the overall usefulness for everybody.

As an example,

I appreciate your feedback and welcome ideas/scenarios that we could learn from and improve the experience.

juvtib commented 2 years ago

Thanks for writing to me.

My mind reels a bit when thinking about what might and might not be included. For example, I found myself giving some impromptu help on the AppX thread. The fact that AppX stopped working in some version of PowerShell sounds like it pertains to an upgrade decision. But the issue doesn't appear in any changelog, commit message, or Microsoft Doc. So, it wouldn't get picked up by WhatsNew. This is an example of why I am nervous about people relying on WhatsNew to make decisions.

Turning to the overall project, it seems like the main work is web scraping. So, if I were working on this, I would try to separate the code for the types of input:

... from specific projects:

Then you could keep the idiosyncrasies of specific projects (what headings are used in the release notes) separated from basic scraping issues (WhatsNew can't ingest commit messages).

Finally, I believe the module should ask for updates if the computer is online. An easy way for WhatsNew to fail would be for its users to fail to update before they begin their research. It would be helpful to give a specific command: Update-Module -Name Microsoft.PowerShell.WhatsNew I find Microsoft.PowerShell.Core, PowerShellGet, and PackageManagement confusing. And I use PowerShell every day.

Hopefully, others can come and present the cases you are looking for.

Take care,

juvtib commented 2 years ago

I was thinking about this more. Maybe part of my issue is cultural. The phrase "make upgrade decisions" means more to me than a fun, message of the day app. Maybe I think WhatsNew is a more serious project than what you intended.

juvtib commented 2 years ago

Maybe a good idea would be to invite the community bloggers to contribute bite-sized messages.