PowerShell 7に向けて
先月「PowerShell Core 6.2」がリリースされました。次に控えるメジャーリリースは、「PowerShell 7」です。
利用者はLinuxユーザーが中心か
「PowerShell Core」はクロスプラットフォームで開発されており、Windows/macOS/Linux向けにリリースされています。一方「PowerShell」はWindows向けにリリースされています。
さて「PowerShell Core」が初めてリリースされてから数年が経ちますが、「PowerShell Core」の利用頻度は時間を追うごとに大幅に増加しています。
2019年3月時点の統計では、「PowerShell Core」が利用された環境の約8割程が、Linuxです。
一方WindowsではLinuxのような伸びはなく、利用頻度に大きな変化は見られません。
(この統計は「pwsh.exe(Windows)」及び「pwsh(Linux/macOS)」を起動した回数が基になっており、統計情報を送信しないユーザーはこの統計に含まれていません。)
「PowerShell」と「PowerShell Core」には完全な互換性はなく、「PowerShell」でのみサポートされているモジュールやアセンブリ、APIを利用しているため、「PowerShell」を引き続き利用しているWindowsユーザーもいるでしょう。
残念ながら「PowerShell」ユーザーは、「PowerShell Core」で実装された新機能やパフォーマンスの改善、不具合の修正といったメリットを受けることができません。
PowerShellをPowerShell Coreの置き換える取り組み
「PowerShell」を「PowerShell Core」に置き換えるため、「PowerShell 7」に向けて新しい取り組みが行われます。「PowerShell」と「PowerShell Core」ユーザーは、Windows/macOS/Linux環境で横断的に同じバージョンの「PowerShell」を利用できるようになります。
「PowerShell 7」は、現在「PowerShell」ユーザーが必要としている「PowerShell」モジュールと高い互換性を提供します。
PowerShell CoreがPowerShellに
そして「PowerShell Core」の名称が「PowerShell」に変わります。「PowerShell」と「PowerShell Core」が統合・合流するイメージでしょうか。
「PowerShell Core」のドキュメントやプロダクトの紹介ページから「Core」が削除され、「PowerShell」になります。
ただし「PSEdition」には引き続き「Core」が設定されます。
LTS版と非LTS版の提供
「PowerShell 7」では、LTS版と非LTS版が提供されます。LTS版(Long Term Servicing)は長期サポートが提供されるバージョンです。
これにより「.NET Core」のサポートポリシーに非常に近いリリースプロセスになります。
PowerShell 7プレビュー版の提供
初の「PowerShell 7」プレビュー版は、2019年5月にリリースされる予定です。「PowerShell 7」は「.NET Core 3.0」の対応作業等があるため、このスケジュールは確定したものではありません。
そして「PowerShell 7」GA版(安定版)は、「.NET Core 3.0」リリース後にリリースされる予定です。