Skip to content

PowerShell 6.0 Plan #3046

@joeyaiello

Description

@joeyaiello

This is a preliminary, WIP roadmap/plan for what we on the @PowerShell/powershell-committee believe needs to be in a PowerShell 6.0 release. We will be iterating on this significantly based on your feedback, as well as potentially shifting internal priorities. The goal is for all line items here to eventually be represented by issues attached to either the 6.0.0 or 6.0.0-beta milestones, so that you anyone can look in and see how far along we are towards a 6.0 release.

I also plan on publishing a blog to break down our plans in more detail sometime soon. In the meantime, please join us on the PowerShell Core Community Call tomorrow @ 9am PST where we'll be talking about this in more detail.

If you believe we're missing something here that's absolutely critical for the 6.0 release, please let us know below in the comments or on our monthly Community Call. Thanks!

[cut] means something we've decided is not required to ship 6.0.0 final and we'll address in a future release (not that it's cut forever)

Documentation

  • Stand up 6.0 reference docset on PowerShell-Docs
  • Figure out story/location for conceptual x-plat content
  • Create a changelog workflow
  • SDK docs via docfx TODO

Packaging, Installation, and Deployment

  • Install-Package PowerShell
    • Windows
    • Nano
    • Linux?
    • macOS?
  • Update-Package PowerShell?
  • Universal Windows packages for each bitness Get to single Windows package #2608
  • Onboard to Microsoft Linux package repositories Repositories #3056
    • RPM
    • DEB
  • Get into major package repositories
    • Ubuntu
    • Red Hat
    • TODO: who else? SLES?
  • Fully automate package building for all platforms

Script/Module Development Experience

  • VS Code features
  • .NET Standard 2.0 story
    • I can write binary modules that target Windows PowerShell and PowerShell Core
    • Timeline public for .NET Standard 2.0
    • Move to .NET Core vNext that supports .NET Standard 2.0
    • Validate that .NET Standard 2.0 supplants the need for a Windows Powershell 6.0 (i.e. based on the FullCLR .NET Framework)
      • Does .NET Framework 4.6.1 work on Windows 7?
    • Move to csproj build? Move build to csproj/msbuild #3140
  • Semantic versioning Complete the SemanticVersion work  #2983
  • Artifact Sharing
    • Gallery supports filtration by platform
    • PowerShellGet supports filtration by platform
    • Gallery supports filtration by Windows PowerShell vs. PowerShell Core
    • PowerShellGet supports filtration by Windows PowerShell vs. PowerShell Core
  • ScriptAnalyzer rules
    • Enumerate rules for supported features/cmdlets on Linux
    • Enumerate rules for supported features/cmdlets on .NET Core
      • Analysis based on using assembly, Add-Type, etc.

Scenarios

  • I can use PowerShell on major Linux distros, macOS and Windows
  • I can know how many people are using PowerShell (incl. version and platform) and how the Community is growing​
  • I can use PowerShell on any platform to manage Azure
  • I can develop cmdlets for both Windows PowerShell and PowerShell Core using .NET Standard 2.0
  • I can remote between all OS platforms using any supported remoting protocol (PSRP over SSH or WSMan)
  • I can install/upgrade PowerShell using native package management utilities on any Mac/Linux platform
  • I can use semantic versioning for modules with PowerShellGet and the Gallery​
  • I can develop a CLI experience using PowerShell on any platform to manage cloud instances
  • Finish top UserVoice delighters (SemVer, Build verb, Get-Service improvements, loose manifest validation)​

Metadata

Metadata

Labels

Issue-Metaan issue used to track multiple issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions