From 1702358e755ff357d1036730affc6ceeac4df2e6 Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 24 Oct 2017 11:13:17 -0700 Subject: [PATCH 1/4] Update installation doc and README.md to include the powershell binary archive packages (#5212) * Update README.md * Update docs for powershell binary archive packages * Update the chart --- .spelling | 20 ++++- README.md | 16 +++- docs/installation/linux.md | 169 ++++++++++++++++++++--------------- docs/installation/windows.md | 11 ++- 4 files changed, 142 insertions(+), 74 deletions(-) diff --git a/.spelling b/.spelling index 9c3c046a1..fe3276e55 100644 --- a/.spelling +++ b/.spelling @@ -597,9 +597,27 @@ sample-dotnet2 #region docs/installation/linux.md Overrides - docs/installation/linux.md +compat-openssl10 +dockerfile +libc6 libcurl +libcurl3 +libgcc1 +libgssapi-krb5-2 +libicu +libicu52 +libicu55 +libicu57 +liblttng-ust0 +libssl1.0.0 +libssl1.0.2 +libstdc +libunwind +libunwind8 +libuuid1 +openssl-libs OpenSUSE -TravisEz13 +zlib1g zypper #endregion diff --git a/README.md b/README.md index f8924d4b5..aff51bfe0 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,15 @@ You can download and install a PowerShell package for any of the following platf | Many Linux distributions | [.AppImage][rl-ai] | [Instructions][in-appimage] | | macOS 10.12 | [.pkg][rl-macos] | [Instructions][in-macos] | | Docker | | [Instructions][in-docker] | -| Kali Linux | [.deb][rl-ubuntu16] | [Instructions][in-kali] +| Kali Linux | [.deb][rl-ubuntu16] | [Instructions][in-kali] | + +You can also download the PowerShell binary archives for Windows, macOS and Linux. + +| Platform | Downloads | How to Install | +| ------------ | ----------------------------------------------- | ------------------------------ | +| Windows | [32-bit][rl-winx86-zip]/[64-bit][rl-winx64-zip] | [Instructions][in-windows-zip] | +| macOS | [64-bit][rl-macos-tar] | [Instructions][in-tar] | +| Linux | [64-bit][rl-linux-tar] | [Instructions][in-tar] | [rl-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/PowerShell-6.0.0-beta.8-win-x64.msi [rl-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/PowerShell-6.0.0-beta.8-win-x86.msi @@ -55,6 +63,10 @@ You can download and install a PowerShell package for any of the following platf [rl-centos]: https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm [rl-ai]: https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/PowerShell-6.0.0-beta.8-x86_64.AppImage [rl-macos]: https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/powershell-6.0.0-beta.8-osx.10.12-x64.pkg +[rl-winx86-zip]: https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/PowerShell-6.0.0-beta.8-win-x86.zip +[rl-winx64-zip]: https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/PowerShell-6.0.0-beta.8-win-x64.zip +[rl-macos-tar]: TBD +[rl-linux-tar]: TBD [installation]: docs/installation [in-windows]: docs/installation/windows.md#msi @@ -73,6 +85,8 @@ You can download and install a PowerShell package for any of the following platf [in-macos]: docs/installation/linux.md#macos-1012 [in-docker]: docker [in-kali]: docs/installation/linux.md#kali +[in-windows-zip]: docs/installation/windows.md#zip +[in-tar]: docs/installation/linux.md#binary-archives To install a specific version, visit [releases](https://github.com/PowerShell/PowerShell/releases). diff --git a/docs/installation/linux.md b/docs/installation/linux.md index 857c047cd..17adb68d6 100644 --- a/docs/installation/linux.md +++ b/docs/installation/linux.md @@ -2,19 +2,15 @@ Supports [Ubuntu 14.04][u14], [Ubuntu 16.04][u16], [Ubuntu 17.04][u17], [Debian 8][deb8], [Debian 9][deb9], [CentOS 7][cos], [Red Hat Enterprise Linux (RHEL) 7][rhel7], [OpenSUSE 42.2][opensuse], [Fedora 25][fed25], -[Fedora 26][fed26], [Arch Linux][arch], [many Linux distributions (AppImage)][lai], and [macOS 10.12][mac]. +[Fedora 26][fed26], [Arch Linux][arch], and [macOS 10.12][mac]. + +For Linux distributions that are not officially supported, +you can try using the [PowerShell AppImage][lai]. +You can also try deploying PowerShell binaries directly using the Linux [`tar.gz` archive][tar], +but you would need to set up the necessary dependencies based on the OS in separate steps. + All packages are available on our GitHub [releases][] page. - -All of these steps can be done automatically by the [`download.sh`][download] script. -You should *never* run a script without reading it first! - -Please **read the [download][] script first**, and then if you want to run it, use: - -```sh -bash <(curl -fsSL https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/download.sh) -``` - -Once the package is installed, run `powershell` from a terminal. +Once the package is installed, run `pwsh` from a terminal. [u14]: #ubuntu-1404 [u16]: #ubuntu-1604 @@ -29,7 +25,7 @@ Once the package is installed, run `powershell` from a terminal. [arch]: #arch-linux [lai]: #linux-appimage [mac]: #macos-1012 -[download]: https://github.com/PowerShell/PowerShell/blob/master/tools/download.sh +[tar]: #binary-archives ## Ubuntu 14.04 @@ -52,7 +48,7 @@ sudo apt-get update sudo apt-get install -y powershell # Start PowerShell -powershell +pwsh ``` After registering the Microsoft repository once as superuser, @@ -102,7 +98,7 @@ sudo apt-get update sudo apt-get install -y powershell # Start PowerShell -powershell +pwsh ``` After registering the Microsoft repository once as superuser, @@ -152,7 +148,7 @@ sudo apt-get update sudo apt-get install -y powershell # Start PowerShell -powershell +pwsh ``` After registering the Microsoft repository once as superuser, @@ -206,7 +202,7 @@ sudo apt-get update sudo apt-get install -y powershell # Start PowerShell -powershell +pwsh ``` After registering the Microsoft repository once as superuser, @@ -260,7 +256,7 @@ sudo apt-get update sudo apt-get install -y powershell # Start PowerShell -powershell +pwsh ``` After registering the Microsoft repository once as superuser, @@ -305,7 +301,7 @@ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum. sudo yum install -y powershell # Start PowerShell -powershell +pwsh ``` After registering the Microsoft repository once as superuser, @@ -351,7 +347,7 @@ curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum. sudo yum install -y powershell # Start PowerShell -powershell +pwsh ``` After registering the Microsoft repository once as superuser, @@ -406,7 +402,7 @@ sudo zypper update sudo zypper install powershell # Start PowerShell -powershell +pwsh ``` ### Installation via Direct Download - OpenSUSE 42.2 @@ -452,7 +448,7 @@ sudo dnf update sudo dnf install -y powershell # Start PowerShell -powershell +pwsh ``` ### Installation via Direct Download - Fedora 25 @@ -502,7 +498,7 @@ sudo dnf install compat-openssl10 sudo dnf install -y powershell # Start PowerShell -powershell +pwsh ``` ### Installation via Direct Download - Fedora 26 @@ -630,7 +626,7 @@ If you installed PowerShell via direct download, PowerShell must be removed manually: ```sh -sudo rm -rf /usr/local/bin/powershell /usr/local/microsoft/powershell +sudo rm -rf /usr/local/bin/pwsh /usr/local/microsoft/powershell ``` To uninstall the additional PowerShell paths (such as the user profile path) @@ -640,50 +636,6 @@ and remove the desired the paths with `sudo rm`. [paths]:#paths -### OpenSSL on macOS - -On macOS, .NET Core requires Homebrew's OpenSSL -because the "OpenSSL" system libraries on macOS are not OpenSSL, -as Apple deprecated OpenSSL in favor of their own libraries. -This requirement is not a hard requirement for all of PowerShell. -However, most networking functions (such as `Invoke-WebRequest`) -do require OpenSSL to work properly. - -The PowerShell formula for Homebrew includes this OpenSSL as a dependency, -so you if you installed via Homebrew, you shouldn't run into these problems. - -If you installed via direct download (or through some means other than Homebrew), -the easiest fix for these issues is to install [Homebrew's OpenSSL][openssl]: - -```bash -brew install openssl -brew install curl --with-openssl -``` - -**Please ignore** .NET Core's installation instructions to manually link the OpenSSL libraries. -This is **not** required for PowerShell as we patch .NET Core's cryptography libraries to find Homebrew's OpenSSL in its installed location. -Again, **do not** run `brew link --force` nor `ln -s` for OpenSSL, regardless of other instructions. - -Homebrew previously allowed OpenSSL libraries to be linked to the system library location; -however, this created major security holes and is [no longer allowed][homebrew-patch]. -Because .NET Core's 1.0.0 release libraries still look in the prior system location for OpenSSL, -they will fail to work unless the libraries are manually placed there (security risk), -or their libraries are patched (which we do). -To patch .NET Core's cryptography libraries, we use `install_name_tool`: - -```bash -find ~/.nuget -name System.Security.Cryptography.Native.dylib | xargs sudo install_name_tool -add_rpath /usr/local/opt/openssl/lib -find ~/.nuget -name System.Net.Http.Native.dylib | xargs sudo install_name_tool -change /usr/lib/libcurl.4.dylib /usr/local/opt/curl/lib/libcurl.4.dylib -``` - -This updates .NET Core's library to look in Homebrew's OpenSSL installation location instead of the system library location. -The PowerShell macOS package come with the necessary libraries patched, -and the build script patches the libraries on-the-fly when building from source. -You *can* run this command manually if you're having trouble with .NET Core's cryptography libraries. - -[openssl]: https://github.com/Homebrew/homebrew-core/blob/master/Formula/openssl.rb -[homebrew-patch]: https://github.com/Homebrew/brew/pull/597 - ## Kali ### Installation @@ -698,7 +650,7 @@ dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb dpkg -i powershell_6.0.0-beta.8-1.ubuntu.16.04_amd64.deb # Start PowerShell -powershell +pwsh ``` ### Run PowerShell in latest Kali (Kali GNU/Linux Rolling) without installing it @@ -720,6 +672,83 @@ chmod a+x powershell-6.0.0-beta.8-x86_64.AppImage dpkg -r powershell_6.0.0-beta.8-1.ubuntu.16.04_amd64.deb ``` +## Binary Archives + +PowerShell binary `tar.gz` archives are provided for macOS and Linux platforms to enable advanced deployment scenarios. + +### Dependencies + +For Linux, PowerShell builds portable binaries for all Linux distributions. +But .NET Core runtime requires different dependencies on different distributions, +and hence PowerShell does the same. + +The following chart shows the .NET Core 2.0 dependencies on different Linux distributions that are officially supported. + +| OS | Dependencies | +| ------------------ | ------------ | +| Ubuntu 14.04 | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6,
libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu52 | +| Ubuntu 16.04 | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6,
libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu55 | +| Ubuntu 17.04 | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6,
libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu57 | +| Debian 8 (Jessie) | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6,
libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu52 | +| Debian 9 (Stretch) | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6,
libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.2, libicu57 | +| CentOS 7
Oracle Linux 7
RHEL 7
OpenSUSE 42.2
Fedora 25 | libunwind, libcurl, openssl-libs, libicu | +| Fedora 26 | libunwind, libcurl, openssl-libs, libicu, compat-openssl10 | + +In order to deploy PowerShell binaries on Linux distributions that are not officially supported, +you would need to install the necessary dependencies for the target OS in separate steps. +For example, our [Amazon Linux dockerfile][amazon-dockerfile] installs dependencies first, +and then extracts the Linux `tar.gz` archive. + +[amazon-dockerfile]: https://github.com/PowerShell/PowerShell/blob/master/docker/community/amazonlinux/Dockerfile + +### Installation - Binary Archives + +#### Linux + +```sh +# Download the powershell '.tar.gz' archive +curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/powershell-6.0.0-beta.9-linux-x64.tar.gz + +# Create the target folder where powershell will be placed +sudo mkdir -p /opt/microsoft/powershell/6.0.0-beta.9 + +# Expand powershell to the target folder +sudo tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/6.0.0-beta.9 + +# Create the symbolic link that points to pwsh +sudo ln -s /opt/microsoft/powershell/6.0.0-beta.9/pwsh /usr/bin/pwsh +``` + +#### macOS + +```sh +# Download the powershell '.tar.gz' archive +curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/powershell-6.0.0-beta.9-osx-x64.tar.gz + +# Create the target folder where powershell will be placed +sudo mkdir -p /usr/local/microsoft/powershell/6.0.0-beta.9 + +# Expand powershell to the target folder +sudo tar zxf /tmp/powershell.tar.gz -C /usr/local/microsoft/powershell/6.0.0-beta.9 + +# Create the symbolic link that points to pwsh +sudo ln -s /usr/local/microsoft/powershell/6.0.0-beta.9/pwsh /usr/local/bin/pwsh +``` + +### Uninstallation - Binary Archives + +#### Linux + +```sh +sudo rm -rf /usr/bin/pwsh /opt/microsoft/powershell +``` + +#### macOS + +```sh +sudo rm -rf /usr/local/bin/pwsh /usr/local/microsoft/powershell +``` + ## Paths * `$PSHOME` is `/opt/microsoft/powershell/6.0.0-beta.8/` @@ -738,7 +767,7 @@ On Linux and macOS, the [XDG Base Directory Specification][xdg-bds] is respected Note that because macOS is a derivation of BSD, instead of `/opt`, the prefix used is `/usr/local`. Thus, `$PSHOME` is `/usr/local/microsoft/powershell/6.0.0-beta.8/`, -and the symlink is placed at `/usr/local/bin/powershell`. +and the symlink is placed at `/usr/local/bin/pwsh`. [releases]: https://github.com/PowerShell/PowerShell/releases/latest [xdg-bds]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html diff --git a/docs/installation/windows.md b/docs/installation/windows.md index 47a307aae..c26bcd32b 100644 --- a/docs/installation/windows.md +++ b/docs/installation/windows.md @@ -10,7 +10,7 @@ Once downloaded, double-click the installer and follow the prompts. There is a shortcut placed in the Start Menu upon installation. * By default the package is installed to `$env:ProgramFiles\PowerShell\` -* You can launch PowerShell via the Start Menu or `$env:ProgramFiles\PowerShell\powershell.exe` +* You can launch PowerShell via the Start Menu or `$env:ProgramFiles\PowerShell\pwsh.exe` ### Prerequisites @@ -23,6 +23,13 @@ To enable PowerShell remoting over WinRM, the following prerequisites need to be or newer ([5.0](https://www.microsoft.com/download/details.aspx?id=50395), [5.1](https://www.microsoft.com/download/details.aspx?id=54616)) on Windows 7. +## ZIP + +PowerShell binary ZIP archives are provided to enable advanced deployment scenarios. +Be noted that when using the ZIP archive, you won't get the prerequisites check as in the MSI package. +So in order for remoting over WinRM to work properly on Windows versions prior to Windows 10, +you need to make sure the [prerequisites](#prerequisites) are met. + ## Deploying on Nano Server These instructions assume that Windows PowerShell is running on the Nano Server image and that it has been generated by the [Nano Server Image Builder](https://technet.microsoft.com/windows-server-docs/get-started/deploy-nano-server). @@ -142,4 +149,4 @@ We publish an archive with CoreCLR bits on every CI build with [AppVeyor][]. * Unblock zip file: right-click in File Explorer -> Properties -> check 'Unblock' box -> apply * Extract zip file to `bin` directory -* `./bin/powershell.exe` +* `./bin/pwsh.exe` From d0806811e4dd08c57de448f201102e8d584a6f53 Mon Sep 17 00:00:00 2001 From: Aditya Patwardhan Date: Tue, 24 Oct 2017 16:28:22 -0700 Subject: [PATCH 2/4] Update docs and scripts for beta.9 (#5217) --- build.psm1 | 4 +- docker/InstallTarballPackage.sh | 2 +- docker/community/amazonlinux/Dockerfile | 6 +- docker/release/centos7/Dockerfile | 4 +- docker/release/fedora25/Dockerfile | 4 +- docker/release/fedora26/Dockerfile | 4 +- docker/release/nanoserver-insider/Dockerfile | 4 +- docker/release/nanoserver/Dockerfile | 4 +- docker/release/opensuse42.2/Dockerfile | 4 +- docker/release/ubuntu14.04/Dockerfile | 6 +- docker/release/ubuntu16.04/Dockerfile | 4 +- docker/release/windowsservercore/Dockerfile | 4 +- docs/installation/linux.md | 74 ++++++++++---------- tools/download.sh | 12 ++-- 14 files changed, 68 insertions(+), 68 deletions(-) diff --git a/build.psm1 b/build.psm1 index 43abc2d8c..43124942b 100644 --- a/build.psm1 +++ b/build.psm1 @@ -372,7 +372,7 @@ function Start-PSBuild { } function Stop-DevPowerShell { - Get-Process powershell* | + Get-Process pwsh* | Where-Object { $_.Modules | Where-Object { @@ -1597,7 +1597,7 @@ function Start-DevPowerShell { # splatting for the win $startProcessArgs = @{ - FilePath = "$binDir\powershell" + FilePath = "$binDir\pwsh" ArgumentList = "$ArgumentList" } diff --git a/docker/InstallTarballPackage.sh b/docker/InstallTarballPackage.sh index 6b09b787f..1bc807a0b 100644 --- a/docker/InstallTarballPackage.sh +++ b/docker/InstallTarballPackage.sh @@ -5,7 +5,7 @@ set -e # # Example use: -# ./InstallTarballPackage.sh "6.0.0-beta.8" "powershell-6.0.0-beta.8-linux-x64.tar.gz" +# ./InstallTarballPackage.sh "6.0.0-beta.9" "powershell-6.0.0-beta.9-linux-x64.tar.gz" # usage() { echo "usage: $0 " diff --git a/docker/community/amazonlinux/Dockerfile b/docker/community/amazonlinux/Dockerfile index 02b98e59c..423a9404e 100644 --- a/docker/community/amazonlinux/Dockerfile +++ b/docker/community/amazonlinux/Dockerfile @@ -2,8 +2,8 @@ FROM amazonlinux:latest -ARG POWERSHELL_VERSION=6.0.0-beta.8 -ARG POWERSHELL_PACKAGE=powershell-6.0.0-beta.8-linux-x64.tar.gz +ARG POWERSHELL_VERSION=6.0.0-beta.9 +ARG POWERSHELL_PACKAGE=powershell-6.0.0-beta.9-linux-x64.tar.gz ARG IMAGE_NAME=microsoft/powershell:amazonlinux LABEL maintainer="PowerShell Team " \ @@ -29,7 +29,7 @@ ENV LC_ALL $LANG RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG # Install dependencies and clean up -RUN yum install -y \ +RUN yum install -y \ curl \ libunwind \ libicu \ diff --git a/docker/release/centos7/Dockerfile b/docker/release/centos7/Dockerfile index 0a5eda169..20a8bfd6a 100644 --- a/docker/release/centos7/Dockerfile +++ b/docker/release/centos7/Dockerfile @@ -2,7 +2,7 @@ FROM centos:7 -ARG POWERSHELL_VERSION=6.0.0-beta.8 +ARG POWERSHELL_VERSION=6.0.0-beta.9 ARG IMAGE_NAME=microsoft/powershell:centos7 LABEL maintainer="PowerShell Team " \ @@ -29,7 +29,7 @@ ENV LC_ALL $LANG RUN localedef --charmap=UTF-8 --inputfile=en_US $LANG # Install dependencies and clean up -RUN yum install -y \ +RUN yum install -y \ curl \ && yum clean all diff --git a/docker/release/fedora25/Dockerfile b/docker/release/fedora25/Dockerfile index 3a9e0da88..a66589caa 100644 --- a/docker/release/fedora25/Dockerfile +++ b/docker/release/fedora25/Dockerfile @@ -2,7 +2,7 @@ FROM fedora:25 -ARG POWERSHELL_VERSION=6.0.0-beta.8 +ARG POWERSHELL_VERSION=6.0.0-beta.9 ARG IMAGE_NAME=microsoft/powershell:fedora25 LABEL maintainer="PowerShell Team " \ @@ -23,7 +23,7 @@ LABEL maintainer="PowerShell Team " \ # TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF} # Install dependencies and clean up -RUN dnf install -y \ +RUN dnf install -y \ curl \ glibc-locale-source \ && dnf clean all diff --git a/docker/release/fedora26/Dockerfile b/docker/release/fedora26/Dockerfile index 212fcbbf9..c0f161825 100644 --- a/docker/release/fedora26/Dockerfile +++ b/docker/release/fedora26/Dockerfile @@ -2,7 +2,7 @@ FROM fedora:26 -ARG POWERSHELL_VERSION=6.0.0-beta.8 +ARG POWERSHELL_VERSION=6.0.0-beta.9 ARG IMAGE_NAME=microsoft/powershell:fedora26 LABEL maintainer="PowerShell Team " \ @@ -23,7 +23,7 @@ LABEL maintainer="PowerShell Team " \ # TODO: addd LABEL org.label-schema.vcs-ref=${VCS_REF} # Install dependencies and clean up -RUN dnf install -y \ +RUN dnf install -y \ curl \ glibc-locale-source \ && dnf clean all diff --git a/docker/release/nanoserver-insider/Dockerfile b/docker/release/nanoserver-insider/Dockerfile index b4ca7f819..1146233b5 100755 --- a/docker/release/nanoserver-insider/Dockerfile +++ b/docker/release/nanoserver-insider/Dockerfile @@ -10,7 +10,7 @@ ARG NanoServerRepo=microsoft/nanoserver-insider FROM ${WindowsServerCoreRepo}:$WindowsServerCoreVersion AS installer-env # Arguments for installing powershell, must be defined in the container they are used -ARG PS_VERSION=6.0.0-beta.8 +ARG PS_VERSION=6.0.0-beta.9 ENV PS_DOWNLOAD_URL https://github.com/PowerShell/PowerShell/releases/download/v$PS_VERSION/PowerShell-$PS_VERSION-win-x64.zip @@ -23,7 +23,7 @@ RUN Expand-Archive powershell.zip -DestinationPath \PowerShell FROM ${NanoServerRepo}:$NanoServerVersion ARG VCS_REF="none" -ARG PS_VERSION=6.0.0-beta.8 +ARG PS_VERSION=6.0.0-beta.9 ARG IMAGE_NAME=microsoft/nanoserver-insider-powershell LABEL maintainer="PowerShell Team " ` diff --git a/docker/release/nanoserver/Dockerfile b/docker/release/nanoserver/Dockerfile index 713d1a4f5..34f791428 100644 --- a/docker/release/nanoserver/Dockerfile +++ b/docker/release/nanoserver/Dockerfile @@ -1,8 +1,8 @@ # escape=` FROM microsoft/nanoserver:latest -ARG POWERSHELL_ZIP=https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/PowerShell-6.0.0-beta.8-win-x64.zip -ARG POWERSHELL_VERSION=6.0.0-beta.8 +ARG POWERSHELL_ZIP=https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/PowerShell-6.0.0-beta.9-win-x64.zip +ARG POWERSHELL_VERSION=6.0.0-beta.9 ARG IMAGE_NAME=microsoft/powershell:nanoserver LABEL maintainer="PowerShell Team " ` diff --git a/docker/release/opensuse42.2/Dockerfile b/docker/release/opensuse42.2/Dockerfile index aed080377..c365b1020 100644 --- a/docker/release/opensuse42.2/Dockerfile +++ b/docker/release/opensuse42.2/Dockerfile @@ -2,8 +2,8 @@ FROM opensuse:42.2 -ARG POWERSHELL_VERSION=6.0.0-beta.8 -ARG POWERSHELL_PACKAGE=powershell-6.0.0-beta.8-linux-x64.tar.gz +ARG POWERSHELL_VERSION=6.0.0-beta.9 +ARG POWERSHELL_PACKAGE=powershell-6.0.0-beta.9-linux-x64.tar.gz ARG IMAGE_NAME=microsoft/powershell:opensuse42.2 LABEL maintainer="PowerShell Team " \ diff --git a/docker/release/ubuntu14.04/Dockerfile b/docker/release/ubuntu14.04/Dockerfile index 4b2ed1027..334e6be21 100644 --- a/docker/release/ubuntu14.04/Dockerfile +++ b/docker/release/ubuntu14.04/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:trusty -ARG POWERSHELL_VERSION=6.0.0-beta.8 +ARG POWERSHELL_VERSION=6.0.0-beta.9 ARG IMAGE_NAME=microsoft/powershell:ubuntu14.04 LABEL maintainer="PowerShell Team " \ @@ -33,12 +33,12 @@ RUN apt-get update \ apt-utils \ ca-certificates \ curl \ - apt-transport-https \ + apt-transport-https \ && rm -rf /var/lib/apt/lists/* # Import the public repository GPG keys for Microsoft RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - - + # Register the Microsoft Ubuntu 14.04 repository RUN curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list | tee /etc/apt/sources.list.d/microsoft.list diff --git a/docker/release/ubuntu16.04/Dockerfile b/docker/release/ubuntu16.04/Dockerfile index 13c132e9b..b5a9faf53 100644 --- a/docker/release/ubuntu16.04/Dockerfile +++ b/docker/release/ubuntu16.04/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:xenial -ARG POWERSHELL_VERSION=6.0.0-beta.8 +ARG POWERSHELL_VERSION=6.0.0-beta.9 ARG IMAGE_NAME=microsoft/powershell:ubuntu16.04 LABEL maintainer="PowerShell Team " \ @@ -39,7 +39,7 @@ RUN locale-gen $LANG && update-locale # Import the public repository GPG keys for Microsoft RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - - + # Register the Microsoft Ubuntu 16.04 repository RUN curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | tee /etc/apt/sources.list.d/microsoft.list diff --git a/docker/release/windowsservercore/Dockerfile b/docker/release/windowsservercore/Dockerfile index ce4e16633..3157356c3 100644 --- a/docker/release/windowsservercore/Dockerfile +++ b/docker/release/windowsservercore/Dockerfile @@ -1,8 +1,8 @@ # escape=` FROM microsoft/windowsservercore:latest -ARG POWERSHELL_MSI=https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/PowerShell-6.0.0-beta.8-win-x64.msi -ARG POWERSHELL_VERSION=6.0.0-beta.8 +ARG POWERSHELL_MSI=https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/PowerShell-6.0.0-beta.9-win-x64.msi +ARG POWERSHELL_VERSION=6.0.0-beta.9 ARG IMAGE_NAME=microsoft/powershell:windowsservercore LABEL maintainer="PowerShell Team " ` diff --git a/docs/installation/linux.md b/docs/installation/linux.md index 17adb68d6..67e08e5e9 100644 --- a/docs/installation/linux.md +++ b/docs/installation/linux.md @@ -57,13 +57,13 @@ from then on, you just need to use `sudo apt-get upgrade powershell` to update i ### Installation via Direct Download - Ubuntu 14.04 Download the Debian package -`powershell_6.0.0-beta.8-1.ubuntu.14.04_amd64.deb` +`powershell_6.0.0-beta.9-1.ubuntu.14.04_amd64.deb` from the [releases][] page onto the Ubuntu machine. Then execute the following in the terminal: ```sh -sudo dpkg -i powershell_6.0.0-beta.8-1.ubuntu.14.04_amd64.deb +sudo dpkg -i powershell_6.0.0-beta.9-1.ubuntu.14.04_amd64.deb sudo apt-get install -f ``` @@ -107,13 +107,13 @@ from then on, you just need to use `sudo apt-get upgrade powershell` to update i ### Installation via Direct Download - Ubuntu 16.04 Download the Debian package -`powershell_6.0.0-beta.8-1.ubuntu.16.04_amd64.deb` +`powershell_6.0.0-beta.9-1.ubuntu.16.04_amd64.deb` from the [releases][] page onto the Ubuntu machine. Then execute the following in the terminal: ```sh -sudo dpkg -i powershell_6.0.0-beta.8-1.ubuntu.16.04_amd64.deb +sudo dpkg -i powershell_6.0.0-beta.9-1.ubuntu.16.04_amd64.deb sudo apt-get install -f ``` @@ -157,13 +157,13 @@ from then on, you just need to use `sudo apt-get upgrade powershell` to update i ### Installation via Direct Download - Ubuntu 17.04 Download the Debian package -`powershell_6.0.0-beta.8-1.ubuntu.17.04_amd64.deb` +`powershell_6.0.0-beta.9-1.ubuntu.17.04_amd64.deb` from the [releases][] page onto the Ubuntu machine. Then execute the following in the terminal: ```sh -sudo dpkg -i powershell_6.0.0-beta.8-1.ubuntu.17.04_amd64.deb +sudo dpkg -i powershell_6.0.0-beta.9-1.ubuntu.17.04_amd64.deb sudo apt-get install -f ``` @@ -211,13 +211,13 @@ from then on, you just need to use `sudo apt-get upgrade powershell` to update i ### Installation via Direct Download - Debian 8 Download the Debian package -`powershell_6.0.0-beta.8-1.debian.8_amd64.deb` +`powershell_6.0.0-beta.9-1.debian.8_amd64.deb` from the [releases][] page onto the Debian machine. Then execute the following in the terminal: ```sh -sudo dpkg -i powershell_6.0.0-beta.8-1.debian.8_amd64.deb +sudo dpkg -i powershell_6.0.0-beta.9-1.debian.8_amd64.deb sudo apt-get install -f ``` @@ -265,13 +265,13 @@ from then on, you just need to use `sudo apt-get upgrade powershell` to update i ### Installation via Direct Download - Debian 9 Download the Debian package -`powershell_6.0.0-beta.8-1.debian.9_amd64.deb` +`powershell_6.0.0-beta.9-1.debian.9_amd64.deb` from the [releases][] page onto the Debian machine. Then execute the following in the terminal: ```sh -sudo dpkg -i powershell_6.0.0-beta.8-1.debian.9_amd64.deb +sudo dpkg -i powershell_6.0.0-beta.9-1.debian.9_amd64.deb sudo apt-get install -f ``` @@ -310,19 +310,19 @@ you just need to use `sudo yum update powershell` to update PowerShell. ### Installation via Direct Download - CentOS 7 Using [CentOS 7][], download the RPM package -`powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm` +`powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm` from the [releases][] page onto the CentOS machine. Then execute the following in the terminal: ```sh -sudo yum install powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo yum install powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` You can also install the RPM without the intermediate step of downloading it: ```sh -sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` ### Uninstallation - CentOS 7 @@ -356,19 +356,19 @@ you just need to use `sudo yum update powershell` to update PowerShell. ### Installation via Direct Download - Red Hat Enterprise Linux (RHEL) 7 Download the RPM package -`powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm` +`powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm` from the [releases][] page onto the Red Hat Enterprise Linux machine. Then execute the following in the terminal: ```sh -sudo yum install powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo yum install powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` You can also install the RPM without the intermediate step of downloading it: ```sh -sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` ### Uninstallation - Red Hat Enterprise Linux (RHEL) 7 @@ -407,19 +407,19 @@ pwsh ### Installation via Direct Download - OpenSUSE 42.2 -Download the RPM package `powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm` +Download the RPM package `powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm` from the [releases][] page onto the OpenSUSE machine. ```sh sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc -sudo zypper install powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo zypper install powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` You can also install the RPM without the intermediate step of downloading it: ```sh sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc -sudo zypper install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo zypper install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` ### Uninstallation - OpenSUSE 42.2 @@ -454,19 +454,19 @@ pwsh ### Installation via Direct Download - Fedora 25 Download the RPM package -`powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm` +`powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm` from the [releases][] page onto the Red Hat Enterprise Linux machine. Then execute the following in the terminal: ```sh -sudo dnf install powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo dnf install powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` You can also install the RPM without the intermediate step of downloading it: ```sh -sudo dnf install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo dnf install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` ### Uninstallation - Fedora 25 @@ -504,7 +504,7 @@ pwsh ### Installation via Direct Download - Fedora 26 Download the RPM package -`powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm` +`powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm` from the [releases][] page onto the Red Hat Enterprise Linux machine. Then execute the following in the terminal: @@ -512,7 +512,7 @@ Then execute the following in the terminal: ```sh sudo dnf update sudo dnf install compat-openssl10 -sudo dnf install powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo dnf install powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` You can also install the RPM without the intermediate step of downloading it: @@ -520,7 +520,7 @@ You can also install the RPM without the intermediate step of downloading it: ```sh sudo dnf update sudo dnf install compat-openssl10 -sudo dnf install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm +sudo dnf install https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ``` ### Uninstallation - Fedora 26 @@ -549,14 +549,14 @@ For more information on installing packages from the AUR, see the [Arch Linux wi ## Linux AppImage Using a recent Linux distribution, -download the AppImage `powershell-6.0.0-beta.8-x86_64.AppImage` +download the AppImage `powershell-6.0.0-beta.9-x86_64.AppImage` from the [releases][] page onto the Linux machine. Then execute the following in the terminal: ```bash -chmod a+x powershell-6.0.0-beta.8-x86_64.AppImage -./powershell-6.0.0-beta.8-x86_64.AppImage +chmod a+x powershell-6.0.0-beta.9-x86_64.AppImage +./powershell-6.0.0-beta.9-x86_64.AppImage ``` The [AppImage][] lets you run PowerShell without installing it. @@ -604,14 +604,14 @@ brew cask reinstall powershell ### Installation via Direct Download - macOS 10.12 Using macOS 10.12, download the PKG package -`powershell-6.0.0-beta.8-osx.10.12-x64.pkg` +`powershell-6.0.0-beta.9-osx.10.12-x64.pkg` from the [releases][] page onto the macOS machine. Either double-click the file and follow the prompts, or install it from the terminal: ```sh -sudo installer -pkg powershell-6.0.0-beta.8-osx.10.12-x64.pkg -target / +sudo installer -pkg powershell-6.0.0-beta.9-osx.10.12-x64.pkg -target / ``` ### Uninstallation - macOS 10.12 @@ -647,7 +647,7 @@ wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libs dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb # Install PowerShell -dpkg -i powershell_6.0.0-beta.8-1.ubuntu.16.04_amd64.deb +dpkg -i powershell_6.0.0-beta.9-1.ubuntu.16.04_amd64.deb # Start PowerShell pwsh @@ -657,19 +657,19 @@ pwsh ```sh # Grab the latest App Image -wget https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.8/powershell-6.0.0-beta.8-x86_64.AppImage +wget https://github.com/PowerShell/PowerShell/releases/download/v6.0.0-beta.9/powershell-6.0.0-beta.9-x86_64.AppImage # Make executable -chmod a+x powershell-6.0.0-beta.8-x86_64.AppImage +chmod a+x powershell-6.0.0-beta.9-x86_64.AppImage # Start PowerShell -./powershell-6.0.0-beta.8-x86_64.AppImage +./powershell-6.0.0-beta.9-x86_64.AppImage ``` ### Uninstallation - Kali ```sh -dpkg -r powershell_6.0.0-beta.8-1.ubuntu.16.04_amd64.deb +dpkg -r powershell_6.0.0-beta.9-1.ubuntu.16.04_amd64.deb ``` ## Binary Archives @@ -751,7 +751,7 @@ sudo rm -rf /usr/local/bin/pwsh /usr/local/microsoft/powershell ## Paths -* `$PSHOME` is `/opt/microsoft/powershell/6.0.0-beta.8/` +* `$PSHOME` is `/opt/microsoft/powershell/6.0.0-beta.9/` * User profiles will be read from `~/.config/powershell/profile.ps1` * Default profiles will be read from `$PSHOME/profile.ps1` * User modules will be read from `~/.local/share/powershell/Modules` @@ -766,7 +766,7 @@ On Linux and macOS, the [XDG Base Directory Specification][xdg-bds] is respected Note that because macOS is a derivation of BSD, instead of `/opt`, the prefix used is `/usr/local`. -Thus, `$PSHOME` is `/usr/local/microsoft/powershell/6.0.0-beta.8/`, +Thus, `$PSHOME` is `/usr/local/microsoft/powershell/6.0.0-beta.9/`, and the symlink is placed at `/usr/local/bin/pwsh`. [releases]: https://github.com/PowerShell/PowerShell/releases/latest diff --git a/tools/download.sh b/tools/download.sh index 277ca325a..30230f97c 100755 --- a/tools/download.sh +++ b/tools/download.sh @@ -13,7 +13,7 @@ get_url() { } fork="PowerShell" -release=v6.0.0-beta.8 +release=v6.0.0-beta.9 # Get OS specific asset ID and package name case "$OSTYPE" in linux*) @@ -26,7 +26,7 @@ case "$OSTYPE" in sudo yum install -y curl fi - powershell-6.0.0_beta.8-1.rhel.7.x86_64.rpm + powershell-6.0.0_beta.9-1.rhel.7.x86_64.rpm ;; ubuntu) if ! hash curl 2>/dev/null; then @@ -36,10 +36,10 @@ case "$OSTYPE" in case "$VERSION_ID" in 14.04) - package=powershell_6.0.0-beta.8-1.ubuntu.14.04_amd64.deb + package=powershell_6.0.0-beta.9-1.ubuntu.14.04_amd64.deb ;; 16.04) - package=powershell_6.0.0-beta.8-1.ubuntu.16.04_amd64.deb + package=powershell_6.0.0-beta.9-1.ubuntu.16.04_amd64.deb ;; *) echo "Ubuntu $VERSION_ID is not supported!" >&2 @@ -52,7 +52,7 @@ case "$OSTYPE" in sudo zypper install -y curl fi - + case "$VERSION_ID" in 42.1) package=powershell-6.0.0_beta.6-1.suse.42.1.x86_64.rpm @@ -70,7 +70,7 @@ case "$OSTYPE" in ;; darwin*) # We don't check for curl as macOS should have a system version - package=powershell-6.0.0-beta.8-osx.10.12-x64.pkg + package=powershell-6.0.0-beta.9-osx.10.12-x64.pkg ;; *) echo "$OSTYPE is not supported!" >&2 From 44f0296f85b653c327a0a4f6268fbe2f3a0756fd Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Tue, 24 Oct 2017 17:35:13 -0700 Subject: [PATCH 3/4] Update ChangeLog for beta.9 release (#5216) --- .spelling | 17 ++++++++- CHANGELOG.md | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+), 2 deletions(-) diff --git a/.spelling b/.spelling index fe3276e55..6ad047837 100644 --- a/.spelling +++ b/.spelling @@ -237,6 +237,7 @@ beta.4 beta.5 beta.6 beta.8 +beta.9 binding bool CDXML @@ -245,6 +246,7 @@ CI cleanup CodeMethod CodeOwner +codepage CommandNotFoundException ContentType ConvertTo-Html @@ -252,11 +254,14 @@ CoreConsoleHost crossgen'ing DarwinJS dchristian3188 +DdWr deserialization deserialize +dlwyatt +dotnet enums -ExecutionPolicy EXE's +ExecutionPolicy FileCatalog FilterHashtable foreach @@ -280,9 +285,11 @@ KeyHandler KirkMunro kittholland kwiknick +kylesferrazza LDSpits Lee303 libpsl-native +libunwind8 LoadFrom markekraus meta @@ -295,6 +302,7 @@ nanoserver-insider non-22 non-CIM non-R2 +OAuth oising oneget.org PetSerAl @@ -310,9 +318,10 @@ PSScriptAnalyzer PSVersion PVS-Studio Pwrshplughin.dll +raghav710 +Raspbian rc2-24027 rc3-24011 -Raspbian README.md RelationLink richardszalay @@ -330,14 +339,17 @@ system.manage Tadas TestCase TheFlyingCorpse +thezim TimCurwick timestamp TimeZone TPA Travis +travisty TTY's UserAgent UserData +UserVoice Utf8 UTF8NoBOM v0.1.0 @@ -351,6 +363,7 @@ ValidateNotNullOrEmpty WebListener WebRequest win7-x86 +Windos WindowsVersion WSManCredSSP XPath diff --git a/CHANGELOG.md b/CHANGELOG.md index 59b29f0d1..91da20210 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,106 @@ # Changelog +## v6.0.0-beta.9 - 2017-10-24 + +### Breaking changes + +- Fix `ValueFromRemainingArguments` to have consistent behavior between script and C# cmdlets. (#2038) (Thanks @dlwyatt) +- Remove parameters `-importsystemmodules` and `-psconsoleFile` from `powershell.exe`. (#4995) +- Removed code to show a GUI prompt for credentials as PowerShell Core prompts in console. (#4995) +- Remove `-ComputerName` from `Get/Set/Remove-Service`. (#5094) +- Rename the executable name from `powershell` to `pwsh`. (#5101) +- Remove `RunspaceConfiguration` support. (#4942) +- Remove `-ComputerName` support since .NET Core `Process.GetProcesses(computer)` returns local processes. (#4960) +- Make `-NoTypeInformation` the default on `Export-Csv` and `ConvertTo-Csv`. (#5164) (Thanks @markekraus) +- Unify cmdlets with parameter `-Encoding` to be of type `System.Text.Encoding`. (#5080) + +### Engine updates and fixes + +- Fix PowerShell to update the `PATH` environment variable only if `PATH` exists. (#5021) +- Enable support of folders and files with colon in name on Unix. (#4959) +- Fix detection of whether `-LiteralPath` was used to suppress wildcard expansion for navigation cmdlets. (#5038) +- Enable using filesystem from a UNC location. (#4998) +- Escape trailing backslash when dealing with native command arguments. (#4965) +- Change location of `ModuleAnalysisCache` so it isn't shared with Windows PowerShell. (#5133) +- Put command discovery before scripts for Unix. (#5116) + +### General cmdlet updates and fixes + +- Correct comma position in `SecureStringCommands.resx`. (#5033) (Thanks @markekraus) +- User Agent of Web Cmdlets now reports the OS platform (#4937) (Thanks @LDSpits) +- Add the positional parameter attribute to `-InputObject` for `Set-Service`. (#5017) (Thanks @travisty-) +- Add `ValidateNotNullOrEmpty` attribute to `-UFormat` for `Get-Date`. (#5055) (Thanks @DdWr) +- Add `-NoNewLine` switch for `Out-String`. (#5056) (Thanks @raghav710) +- Improve progress messages written by Web Cmdlets. (#5078) (Thanks @markekraus) +- Add verb descriptions and alias prefixes for `Get-Verb`. (#4746) (Thanks @Tadas) +- Fix `Get-Content -Raw` to not miss the last line feed character. (#5076) +- Add authentication parameters to Web Cmdlets. (#5052) (Thanks @markekraus) + - Add `-Authentication` that provides three options: Basic, OAuth, and Bearer. + - Add `-Token` to get the bearer token for OAuth and Bearer options. + - Add `-AllowUnencryptedAuthentication` to bypass authentication that is provided for any transport scheme other than HTTPS. +- Fix `MatchInfoContext` clone implementation (#5121) (Thanks @dee-see) +- Exclude `PSHostProcess` cmdlets from Unix platforms. (#5105) +- Fix `Add-Member` to fetch resource string correctly. (#5114) +- Enable `Import-Module` to be case insensitive. (#5097) +- Add exports for `syslog` APIs in `libpsl-native`. (#5149) +- Fix `Get-ChildItem` to not ignore `-Depth` parameter when using with `-Include` or `-Exclude`. (#4985) (Thanks @Windos) +- Added properties `UserName`, `Description`, `DelayedAutoStart`, `BinaryPathName` and `StartupType` to the `ServiceController` objects returned by `Get-Service`. (#4907) (Thanks @joandrsn) + +### Build and Packaging Improvements + +- Treat `.rtf` files as binary so EOL don't get changed. (#5020) +- Improve the output of `tools/installpsh-osx.sh` and update Travis-CI to use Ruby 2.3.3. (#5065) +- Improve `Start-PSBootstrap` to locate dotnet SDK before installing it. (#5059) (Thanks @PetSerAl) +- Fix the prerequisite check of the MSI package. (#5070) +- Support creating `tar.gz` package for Linux and macOS. (#5085) +- Add release builds that produce symbols for compliance scans. (#5086) +- Update existing Docker files for the Linux package changes. (#5102) +- Add compiler switches and replace dangerous function with safer ones. (#5089) +- Add macOS launcher. (#5138) (Thanks @thezim) +- Replace `httpbin.org/response-headers` Tests with WebListener. (#5058) (Thanks @markekraus) +- Update `appimage.sh` to reflect the new name `pwsh`. (#5172) +- Update the man help file used in packaging. (#5173) +- Update to use `pwsh` in macOS launcher. (#5174) (Thanks @thezim) +- Add code to send web hook for Travis-CI daily build. (#5183) +- Add `global.json` to pick correct SDK version. (#5118) (Thanks @rkeithhill) +- Update packaging to only package PowerShell binaries when packaging symbols. (#5145) +- Update Docker files and related due to the name change. (#5156) + +### Code Cleanup + +- Clean up Json cmdlets. (#5001) (Thanks @iSazonov) +- Remove code guarded by `RELATIONSHIP_SUPPORTED` and `SUPPORTS_IMULTIVALUEPROPERTYCMDLETPROVIDER`, which has never been used. (#5066) +- Remove PSMI code that has never been used. (#5075) +- Remove unreachable code for `Stop-Job`. (#5091) (Thanks @travisty-) +- Removed font and codepage handling code that is only applicable to Windows PowerShell. (#4995) + +### Test + +- Fix a race condition between `WebListener` and Web Cmdlets tests. (#5035) (Thanks @markekraus) +- Add warning to `Start-PSPester` if Pester module is not found (#5069) (Thanks @DdWr) +- Add tests for DSC configuration compilation on Windows. (#5011) +- Test fixes and code coverage automation fixes. (#5046) + +### Documentation and Help Content + +- Update Pi demo instructions about installing libunwind8. (#4974) +- Add links on best practice guidelines in coding guideline. (#4983) (Thanks @iSazonov) +- Reformat command line help for `powershell -help` (#4989) (Thanks @iSazonov) +- Change logo in readme to current black icon. (#5030) +- Fix RPM package name in `README.md`. (#5044) +- Update `docs/building/linux.md` to reflect the current status of powershell build. (#5068) (Thanks @dee-see) +- Add black version of `.icns` file for macOS. (#5073) (Thanks @thezim) +- Update Arch Linux installation instructions. (#5048) (Thanks @kylesferrazza) +- Add submodule reminder to `testing-guidelines.md`. (#5061) (Thanks @DdWr) +- Update instructions in `docs/building/internals.md` for building from source. (#5072) (Thanks @kylesferrazza) +- Add UserVoice link to Issue Template. (#5100) (Thanks @markekraus) +- Add `Get-WebListenerUrl` Based Examples to WebListener `README.md`. (#4981) (Thanks @markekraus) +- Add document about how to create cmdlet with dotnet CLI. (#5117) (Thanks @rkeithhill) +- Update the help text for PowerShell executable with the new name `pwsh`. (#5182) +- Add new forward links for PowerShell 6.0.0 help content. (#4978) +- Fix VSCode `launch.json` to point to `pwsh`. (#5189) +- Add example of how to create .NET Core cmdlet with Visual Studio. (#5096) + ## v6.0.0-beta.8 - 2017-10-05 ### Breaking changes From bfce69ed837e022f8b199680d92492d474cbdb7d Mon Sep 17 00:00:00 2001 From: Dongbo Wang Date: Wed, 25 Oct 2017 08:25:35 -0700 Subject: [PATCH 4/4] Update install/build scripts and dockerfiles (#5222) --- .travis.yml | 4 ++-- tools/debug.sh | 2 +- tools/installpsh-debian.sh | 2 +- tools/installpsh-osx.sh | 4 ++-- tools/installpsh-redhat.sh | 2 +- .../Images/microsoft_powershell_centos7/Dockerfile | 2 +- .../Images/microsoft_powershell_ubuntu14.04/Dockerfile | 2 +- .../Images/microsoft_powershell_ubuntu16.04/Dockerfile | 2 +- tools/releaseBuild/vstsbuild.sh | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index b0a5387a2..ddbdf11f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,10 +35,10 @@ install: npm install -g markdown-spellcheck@0.11.0; fi - ulimit -n 4096 - - powershell -File tools/travis.ps1 -Bootstrap + - pwsh -File tools/travis.ps1 -Bootstrap script: - - powershell -File tools/travis.ps1 + - pwsh -File tools/travis.ps1 # spellcheck - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mdspell '**/*.md' '!powershell/**/*.md' --ignore-numbers --ignore-acronyms --report; diff --git a/tools/debug.sh b/tools/debug.sh index 6a542ab92..68a22edc3 100755 --- a/tools/debug.sh +++ b/tools/debug.sh @@ -18,5 +18,5 @@ Most useful commands are 'clrstack', 'clrthreads', and 'pe'. EOF pushd debug -lldb-3.6 -o "plugin load libsosplugin.so" -- ./powershell $@ +lldb-3.6 -o "plugin load libsosplugin.so" -- ./pwsh $@ popd diff --git a/tools/installpsh-debian.sh b/tools/installpsh-debian.sh index acec6402b..2d82ff600 100755 --- a/tools/installpsh-debian.sh +++ b/tools/installpsh-debian.sh @@ -132,7 +132,7 @@ $SUDO apt-get update # Install PowerShell $SUDO apt-get install -y powershell -powershell -noprofile -c '"Congratulations! PowerShell is installed at $PSHOME"' +pwsh -noprofile -c '"Congratulations! PowerShell is installed at $PSHOME"' success=$? if [[ "$success" != 0 ]]; then diff --git a/tools/installpsh-osx.sh b/tools/installpsh-osx.sh index e3b2ae0a5..7dc223b77 100755 --- a/tools/installpsh-osx.sh +++ b/tools/installpsh-osx.sh @@ -141,7 +141,7 @@ if [[ ! -d $(brew --prefix cask) ]]; then fi fi -if ! hash powershell 2>/dev/null; then +if ! hash pwsh 2>/dev/null; then echo "Installing PowerShell..." if ! brew cask install powershell; then echo "ERROR: PowerShell failed to install! Cannot install powershell..." >&2 @@ -165,7 +165,7 @@ if [[ "'$*'" =~ includeide ]] ; then code --install-extension ms-vscode.PowerShell fi -powershell -noprofile -c '"Congratulations! PowerShell is installed at $PSHOME"' +pwsh -noprofile -c '"Congratulations! PowerShell is installed at $PSHOME"' success=$? if [[ "$success" != 0 ]]; then diff --git a/tools/installpsh-redhat.sh b/tools/installpsh-redhat.sh index cc70d18d3..40e29844d 100755 --- a/tools/installpsh-redhat.sh +++ b/tools/installpsh-redhat.sh @@ -129,7 +129,7 @@ echo "*** Setting up PowerShell Core repo..." $SUDO curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/microsoft.repo $SUDO yum install -y powershell -powershell -noprofile -c '"Congratulations! PowerShell is installed at $PSHOME"' +pwsh -noprofile -c '"Congratulations! PowerShell is installed at $PSHOME"' success=$? if [[ "$success" != 0 ]]; then diff --git a/tools/releaseBuild/Images/microsoft_powershell_centos7/Dockerfile b/tools/releaseBuild/Images/microsoft_powershell_centos7/Dockerfile index a49a7cc8f..b7a599718 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_centos7/Dockerfile +++ b/tools/releaseBuild/Images/microsoft_powershell_centos7/Dockerfile @@ -24,4 +24,4 @@ RUN yum install -y \ COPY PowerShellPackage.ps1 / # Use PowerShell as the default shell -ENTRYPOINT [ "powershell" ] +ENTRYPOINT [ "pwsh" ] diff --git a/tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile b/tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile index b27b3a331..debdc50b0 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile +++ b/tools/releaseBuild/Images/microsoft_powershell_ubuntu14.04/Dockerfile @@ -33,4 +33,4 @@ RUN apt-get update \ COPY PowerShellPackage.ps1 / # Use PowerShell as the default shell -ENTRYPOINT [ "powershell" ] +ENTRYPOINT [ "pwsh" ] diff --git a/tools/releaseBuild/Images/microsoft_powershell_ubuntu16.04/Dockerfile b/tools/releaseBuild/Images/microsoft_powershell_ubuntu16.04/Dockerfile index cfd7c076e..5c036ebab 100644 --- a/tools/releaseBuild/Images/microsoft_powershell_ubuntu16.04/Dockerfile +++ b/tools/releaseBuild/Images/microsoft_powershell_ubuntu16.04/Dockerfile @@ -31,4 +31,4 @@ RUN apt-get update \ COPY PowerShellPackage.ps1 / # Use PowerShell as the default shell -ENTRYPOINT [ "powershell" ] +ENTRYPOINT [ "pwsh" ] diff --git a/tools/releaseBuild/vstsbuild.sh b/tools/releaseBuild/vstsbuild.sh index d805992aa..d7d036374 100644 --- a/tools/releaseBuild/vstsbuild.sh +++ b/tools/releaseBuild/vstsbuild.sh @@ -1 +1 @@ -powershell -command ".\vstsbuild.ps1 $*" +pwsh -command ".\vstsbuild.ps1 $*"