{"id":13235,"date":"2017-05-09T16:22:33","date_gmt":"2017-05-10T00:22:33","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/?p=13235"},"modified":"2019-02-18T12:38:00","modified_gmt":"2019-02-18T19:38:00","slug":"powershell-core-6-beta-1-release","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/powershell-core-6-beta-1-release\/","title":{"rendered":"PowerShell Core 6 Beta.1 Release"},"content":{"rendered":"<div class=\"markdown-body\">\n<p>Approximately 9 months ago, we announced <a href=\"https:\/\/github.com\/powershell\/powershell\">PowerShell Core 6 on GitHub<\/a> being not only Open Source, but also cross platform.\nToday, I&#8217;m proud to announce we are moving out of <em>alpha<\/em> and into <em>beta<\/em>!<\/p>\n<p>We realize that moving a technology that started in Windows to Linux has to fit in properly to be accepted and provide a great experience across all platforms. \u00a0We appreciate all the great feedback &#8212; keep it coming!<\/p>\n<p>You can download and read the change log from our usual <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/releases\/tag\/v6.0.0-beta.1\">release<\/a> page.<\/p>\n<p>If you&#8217;ve previously followed the steps to register the packages.microsoft.com Linux repository (see distro specific links below), you can just use\u00a0<code>apt-get<\/code> or <code>yum<\/code> to get the latest version.<\/p>\n<h2>What&#8217;s changed in those 9 months?<\/h2>\n<h3>Higher quality<\/h3>\n<p>1176 issues were opened, 566 closed, and 166 explicitly labeled as <code>Resolution-Fixed<\/code> meaning that a change was submitted, accepted, and merged. \u00a0Note that we haven&#8217;t been exactly consistent on using that label, so the actual number of issues fixed is higher.<\/p>\n<p>712 pull requests were opened, 685 closed, and 577 merged.<\/p>\n<h3>More Linux distro coverage<\/h3>\n<p>We&#8217;ve expanded our testing on more Linux distros:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/powershell\/#ubuntu-1404\">Ubuntu 14.04<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/powershell\/#ubuntu-1604\">Ubuntu 16.04<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/powershell\/#centos-7\">CentOS 7<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/powershell\/#opensuse-421\">OpenSUSE 42.1<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/powershell\/#arch-linux\">Arch Linux<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/powershell\/#red-hat-enterprise-linux-rhel-7\">RHEL 7.2\/7.3<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/powershell\/#debian-8\">Debian 8<\/a><\/li>\n<\/ul>\n<p>We&#8217;ll continue to add distros based on customer demand, although we depend on dotnetcore official supporting those distros.\nOf course, we also support <a href=\"https:\/\/github.com\/powershell\/#macos-1011\">MacOS 10<\/a>.<\/p>\n<p>We also started publishing an <a href=\"http:\/\/appimage.org\/\">AppImage<\/a> which is a distro agnostic packaging technology allowing you to use PowerShell Core 6 on the most recent Linux distros.<\/p>\n<p>We&#8217;ll also continue to publish <a href=\"https:\/\/hub.docker.com\/r\/microsoft\/powershell\/\">Docker images<\/a> supporting not only Linux Docker images, but also Windows Docker images.<\/p>\n<h3>More test coverage<\/h3>\n<p>We currently have <a href=\"https:\/\/coveralls.io\/github\/PowerShell\/PowerShell?branch=master\">40% code coverage<\/a> based on 5861 test cases run on Windows. \u00a0The current code coverage tooling doesn&#8217;t work on Linux (yet) although we currently run 4585 test cases on Linux and Mac.<\/p>\n<p>Our goal to get out of Beta towards a Release Candidate is to have 80% code coverage so we still have lots of work left.\nAdequate test coverage is critical for us to develop faster in the future to ensure new changes don&#8217;t cause regressions and potentially break existing customers.<\/p>\n<h3>Moving to .NET Standard 2.0<\/h3>\n<p>One of the big changes we&#8217;ve made for Beta.1 is moving to .NET Core App 2.0.0 (preview1) which is compatible with <a href=\"https:\/\/blogs.msdn.microsoft.com\/dotnet\/2016\/09\/26\/introducing-net-standard\/\">.NET Standard 2.0<\/a>.\n.NET Standard is a set of APIs all .NET platforms have to implement and greatly increases the available APIs you can use in your PowerShell modules or scripts.<\/p>\n<p>What this means is that PowerShell modules built targeting .NET Standard 2.0 can work with both Windows PowerShell (down to .NET 4.5.1) and PowerShell Core 6. \u00a0For Beta.1, we have a <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/issues\/2592\">known issue<\/a> where the assemblies for Windows PowerShell modules should be compatible \u00a0with PowerShell Core 6, however they can&#8217;t be loaded if they are in the <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/yf1d93sz%28v=vs.110%29.aspx\">GAC<\/a>. \u00a0This is something we&#8217;ll address in a future Beta release as side-by-side Windows PowerShell 5.1 and PowerShell Core 6 is one of our key scenarios.<\/p>\n<p>We&#8217;ll continue to work on producing a quality SDK for PSCore6 to make it easy to develop portable PowerShell Modules that are compatible with Windows PowerShell 3, 4, 5 and PowerShell Core 6 on Windows, Linux, and Mac.<\/p>\n<h3>Telemetry<\/h3>\n<p>It is critical for us to know how we are growing our user base to help prioritize future investments. \u00a0Download numbers are not sufficient and with all the different places we publish our releases it become even less reliable as a data point.<\/p>\n<p>In the Beta.1 release, we&#8217;ve added census telemetry using <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/application-insights\/\">Application Insights<\/a>.<\/p>\n<p>If you prefer to not send us telemetry data, just follow the <a href=\"https:\/\/github.com\/powershell\/powershell#telemetry\">instructions<\/a> in the <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/blob\/master\/README.md\">README<\/a>.<\/p>\n<p>The <a href=\"https:\/\/aka.ms\/psgithubbi\">dashboards<\/a> we build from the telemetry data will be public and hopefully useful to the community over time if we add more telemetry. \u00a0Note that any additional telemetry will be added only after going through our <a href=\"https:\/\/github.com\/powershell\/powershell-rfc\">RFC process<\/a>.<\/p>\n<h2>The Road to a Release Candidate<\/h2>\n<p>Last January, we published a <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/issues\/3046\">high level plan<\/a> consisting of everything we knew we needed to get to a 6.0.0\nrelease. \u00a0Continue to provide feedback on that plan if we missed anything that you consider important that prevents adoption of PowerShell Core 6.<\/p>\n<p>We&#8217;ve also started to leverage the GitHub Projects feature to track high level scenarios as <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/projects\">projects<\/a>. \u00a0This is how the PowerShell team prioritizes our work. \u00a0Let us know in our <a href=\"https:\/\/github.com\/powershell\/powershell\/issues\">Issues<\/a> if something you care about isn&#8217;t prioritized appropriately.<\/p>\n<p>Our <a href=\"https:\/\/aka.ms\/psgithubbi\">Power BI Dashboard<\/a> will continue to be updated to show various information about this project including related repositories other\nthan PowerShell\/PowerShell.<\/p>\n<p>During\u00a0the Beta phase, we will continue to have timed releases approximately every 3 weeks with a updated Beta (Beta.2, then Beta.3, etc&#8230;) similar to what we did with Alpha releases.<\/p>\n<p>Getting out of Beta and declaring a Release Candidate includes:<\/p>\n<ul>\n<li>Fixing all the identified <a href=\"https:\/\/github.com\/powershell\/powershell\/issues?q=is%3Aopen+is%3Aissue+milestone%3A6.0.0-beta\">Beta issues<\/a><\/li>\n<li>Getting to at least 80% code coverage<\/li>\n<li>Enabling all the <a href=\"https:\/\/github.com\/PowerShell\/PowerShell\/projects\">scenarios<\/a> planned for 6.0.0<\/li>\n<li>Hitting our usage targets based on telemetry (to be determined)<\/li>\n<\/ul>\n<h2>Special Recognition of the Community<\/h2>\n<p>Approximately 43% of the pull requests and almost 50% of the issues opened came from the community! \u00a0We appreciate all the contributions from the community whether it is opening issues, commenting on issues, submitting pull requests, or commenting on pull requests. \u00a0Note that this is specifically for the PowerShell\/PowerShell repository; we also appreciate contributions across all of our repositories!<\/p>\n<p>One individual has really stood out from the community and has by far provided the most contributions consistently in both quantity as well as quality: <a href=\"https:\/\/github.com\/iSazonov\">Ilya<\/a>.<\/p>\n<p>You can see a moving 30 day window of top community contributors in our <a href=\"https:\/\/msit.powerbi.com\/view?r=eyJrIjoiYTYyN2U3ODgtMjBlMi00MGM1LWI0ZjctMmQ3MzE2ZDNkMzIyIiwidCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsImMiOjV9&amp;pageName=ReportSection3\">Dashboard<\/a>.<\/p>\n<p>PowerShell Core 6 is the start of a new era for PowerShell and I&#8217;m excited to see how far we can go together with the community!<\/p>\n<p>Steve Lee\nPrincipal Software Engineer Manager\nPowerShell Team<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Approximately 9 months ago, we announced PowerShell Core 6 on GitHub being not only Open Source, but also cross platform. Today, I&#8217;m proud to announce we are moving out of alpha and into beta! We realize that moving a technology that started in Windows to Linux has to fit in properly to be accepted and [&hellip;]<\/p>\n","protected":false},"author":685,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-13235","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell"],"acf":[],"blog_post_summary":"<p>Approximately 9 months ago, we announced PowerShell Core 6 on GitHub being not only Open Source, but also cross platform. Today, I&#8217;m proud to announce we are moving out of alpha and into beta! We realize that moving a technology that started in Windows to Linux has to fit in properly to be accepted and [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/13235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/685"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=13235"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/13235\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=13235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=13235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=13235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}