Merge release-v6.2.0-preview.2 to master

Merge Release-v6.2.0-preview.2
This commit is contained in:
Aditya Patwardhan
2018-11-15 17:59:42 -08:00
committed by GitHub
11 changed files with 180 additions and 51 deletions
+18 -3
View File
@@ -783,14 +783,29 @@ tommymaynard
vmsilvamolina
fbehrens
- CHANGELOG.md
aavdberg
azkarmoulana
chucklu
Claustn
CVE-2018-8256
CVE-2018-8415
daviddreher2
honour
iGotenz
jeis2497052
Jocapear
lassehastrup
markwragg
nycjan
paalbra
SeeminglyScience
StingyJack
ThreeFive-O
tobvil
uninstallation
vongrippen
yurko7
zhenggu
Claustn
ThreeFive-O
uninstallation
- docs/debugging/README.md
corehost
- docs/testing-guidelines/TestRoadmap.md
+116
View File
@@ -1,5 +1,121 @@
# Changelog
## v6.2.0-preview.2 - 2018-11-15
### Breaking Changes
- Honor `-OutputFormat` if specified in non-interactive, redirected, encoded command used with `pwsh` (#8115)
- Load assembly from module base path before trying to load from the `GAC` (#8073)
- Remove tilde from Linux preview packages (#8244)
- Move processing of `-WorkingDirectory` before processing of profiles (#8079)
### Known Issues
- PowerShell WSMan remoting does not work on Debian 9 due to missing symbolic links.
For more information and a workaround see issue [#7598](https://github.com/PowerShell/PowerShell/issues/7598)
### Engine Updates and Fixes
- Enable case-insensitive tab completion for files and folders on case-sensitive filesystem (#8128)
- Experimental feature: Implicit remoting batching performance improvements (#8038)
- Add a path for checking `ZoneInformation` without throwing an exception (#8025) (Thanks @powercode!)
- Fix [CVE-2018-8256](https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-8256),
issues with expanding `ZIP` files with relative paths (#8252)
- Fix [CVE-2018-8415](https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-8415),
issue logging when the `scriptblock` has a null character (#8253)
- Make `PSVersionInfo.PSVersion` and `PSVersionInfo.PSEdition` public (#8054) (Thanks @KirkMunro!)
- Enable distinct `ModuleAnalysisCache` files for each installation of `pwsh` (#8174)
- Consolidation of all Windows PowerShell work ported to PowerShell Core (#8257)
- Fix incorrect name check when auto-loading required modules (#8218)
- Adding verbose output for experimental implicit remoting batching feature (#8166)
- Add Type Inference for `$_ / $PSItem in catch{ }` blocks (#8020) (Thanks @vexx32!)
- Fix static method invocation type inference (#8018) (Thanks @SeeminglyScience!)
### General Cmdlet Updates and Fixes
- Reduce allocations in `Get-Content` cmdlet (#8103) (Thanks @iSazonov!)
- Enable `Set-Location -LiteralPath` to work with folders named `-` and `+` (#8089)
- Enable `Add-Content` to share read access with other tools while writing content (#8091)
- Add new `Offset` and `Count` parameters to `Format-Hex` and refactor the cmdlet (#7877) (Thanks @iSazonov!)
- Add `-Name`, `-NoUserOverrides` and `-ListAvailable` parameters to `Get-Culture` cmdlet (#7702) (Thanks @iSazonov!)
- Allow dynamic parameter to be returned even if path does not match any provider (#7957)
- Style fixes in `Format-Hex` (#8083) (Thanks @iSazonov!)
- Fix logic to rely on PowerShell major and minor version instead of build number to determine whether to output `formatdata` (#8063)
- Fix `Rename-Item -Path` with wildcard `char` (#7398) (Thanks @kwkam!)
- When using `Start-Transcript` and file exists, empty file rather than deleting (#8131) (Thanks @paalbra!)
- Error message enhancement for `Clear-Content` cmdlet when targeting a directory (#8134) (Thanks @kvprasoon!)
- Make `Select-String` faster by not doing extra work (#7673) (Thanks @powercode!)
- Remove `ShouldProcess` from `Format-Hex` (#8178)
### Code Cleanup
- Remove clone of command-line arguments array (#7910) (Thanks @iSazonov!)
- Use `DefaultPathSeparator` `char` instead of `DefaultPathSeparatorString` (#8082) (Thanks @iSazonov!)
- Replace `StringComparision.CurrentCulture` with `StringComparision.Ordinal` (#8068) (Thanks @iSazonov!)
- Fix typo in `-icontains` description from `incase sensitive` to `case insensitive` (#7840) (Thanks @StingyJack!)
- Refactor module version/`GUID` comparison logic (#7125)
### Tools
- Update `installpsh-amazonlinux.sh` for container specific issues (#7907) (Thanks @DarwinJS!)
- Update the `codeowners` file (#8017)
### Tests
- Filter the `TestPackage` artifact upload by name to avoid other `ZIP` files being uploaded (#8116)
- Adding `fxdependent` PowerShell package tests (#7830)
- Fix Windows Feature tests running in Azure DevOps (#8220)
- Create `$PROFILE` if it does not exist for `-WorkingDirectory` processing test (#8152)
- Add test coverage for additional `Get-Module` parameters (#8137) (Thanks @KevinMarquette!)
- Fix conflict with `Get-AdlStoreChildItem` from `az` module in tab completion tests (#8167)
- Fix static secret in code (#8186)
### Build and Packaging Improvements
- Bump `xunit.runner.visualstudio` from `2.4.0` to `2.4.1` (#8139)
- Bump `xunit` from `2.4.0` to `2.4.1` (#8140)
- Bump `Microsoft.ApplicationInsights` from `2.8.0` to `2.8.1` (#8104)
- Bump `NJsonSchema` from `9.11.1` to `9.12.1` (#8183, #8248)
- Fix `Start-PSBuild -Output` (#7504) (Thanks @kwkam!)
- Adding `YML` for Linux builds (#8168)
- Publish test package at `AGENT_WORKFOLDER` if `TEMP` is not available (#8108)
- Fix `psmodulerestore` path when built in Visual Studio Code (#8075)
- Use approved verb instead of `Generate-CrossGenAssembly` (#8151) (Thanks @kvprasoon!)
- Add path filters to CI `YAML` (#8222)
- Update `SignType` in `signing.xml` (#8223)
- Update metadata for `6.0.5` and `6.1.1` releases (#8259)
- Port changes to allow Azure DevOps NuGet feeds for Mac build (Internal 5818)
- Update version for dependencies (Internal 5822)
- Add code to use private NuGet feeds when running in internal CI system (#8187)
- Add title to `Open Here` window for `MSI` installer (#8164)
- Remove build and documentation references to `git` submodules (#8177) (Thanks @andschwa!)
- Add function to create a new `nuget.config` file (#8170)
- Update macOS release build to create the `nuget.config` (#8185)
- Workaround for accessing Azure Artifacts (#8188)
- Fix script path for `PowerShellPackageVsts.ps1` (#8189)
- `Microsoft.PowerShell.Native` now has `MUSL` binaries for Alpine.
### Documentation and Help Content
- Fix grammar in `README.md` (#8059) (Thanks @daviddreher2!)
- Update `powershell-beginners-guide.md` to add alias for `Clear-Host` (#7912) (Thanks @aavdberg!)
- Add Microsoft Docs link to FAQ (#8133) (Thanks @vongrippen!)
- Added updated photo of Visual Studio Code due to new version of Code (#8084) (Thanks @lassehastrup!)
- Update `license.rtf` to only have major version (#8127)
- Updated Pester Syntax in Writing Tests Guide (#8039) (Thanks @markwragg!)
- Remove duplicate parts from license file (#8143) (Thanks @azkarmoulana!)
- Fix spellings in `CHANGELOG.md` (#8062)
- Update license RTF to 6.2 (#8065)
- Combine notes about `ITuple` changes in Change Log (#8077) (Thanks @Jocapear!)
- Correct typos in `powershell-beginners-guide.md` (#8088) (Thanks @nycjan!)
- Added `Learn Windows PowerShell in a Month of Lunches` as recommended reading (#8067) (Thanks @tobvil!)
- Update `README.md` for `v6.1.1` (#8255)
- Fix some typos (#8206) (Thanks @jeis2497052!)
- Promote `HTTPS` (#8160) (Thanks @RDIL!)
- Simple grammatical correction in `README.md` file (#7978) (Thanks @iGotenz!)
- Update URLs to use `HTTPS` instead of `HTTP` in the documentation (#8165) (Thanks @RDIL!)
- Remove #7633 from `v6.2.0-preview.1` `CHANGELOG.md` updates. (#8101) (Thanks @stknohg!)
## v6.2.0-preview.1 - 2018-10-18
### Breaking Changes
+16 -16
View File
@@ -77,22 +77,22 @@ You can also download the PowerShell binary archives for Windows, macOS and Linu
[rl-raspbian]: https://github.com/PowerShell/PowerShell/releases/download/v6.1.1/powershell-6.1.1-linux-arm32.tar.gz
[rl-snap]: https://snapcraft.io/powershell
[pv-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/PowerShell-6.2.0-preview.1-win-x64.msi
[pv-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/PowerShell-6.2.0-preview.1-win-x86.msi
[pv-ubuntu18]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell_6.2.0-preview.1-1.ubuntu.18.04_amd64.deb
[pv-ubuntu16]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell_6.2.0-preview.1-1.ubuntu.16.04_amd64.deb
[pv-ubuntu14]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell_6.2.0-preview.1-1.ubuntu.14.04_amd64.deb
[pv-debian8]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell_6.2.0-preview.1-1.debian.8_amd64.deb
[pv-debian9]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell_6.2.0-preview.1-1.debian.9_amd64.deb
[pv-centos]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell-6.2.0-preview.1-1.rhel.7.x86_64.rpm
[pv-macos]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell-6.2.0-preview.1-osx-x64.pkg
[pv-winarm]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/PowerShell-6.2.0-preview.1-win-arm32.zip
[pv-winarm64]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/PowerShell-6.2.0-preview.1-win-arm64.zip
[pv-winx86-zip]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/PowerShell-6.2.0-preview.1-win-x86.zip
[pv-winx64-zip]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/PowerShell-6.2.0-preview.1-win-x64.zip
[pv-macos-tar]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell-6.2.0-preview.1-osx-x64.tar.gz
[pv-linux-tar]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell-6.2.0-preview.1-linux-x64.tar.gz
[pv-raspbian]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.1/powershell-6.2.0-preview.1-linux-arm32.tar.gz
[pv-windows-64]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/PowerShell-6.2.0-preview.2-win-x64.msi
[pv-windows-86]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/PowerShell-6.2.0-preview.2-win-x86.msi
[pv-ubuntu18]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell_6.2.0-preview.2-1.ubuntu.18.04_amd64.deb
[pv-ubuntu16]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell_6.2.0-preview.2-1.ubuntu.16.04_amd64.deb
[pv-ubuntu14]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell_6.2.0-preview.2-1.ubuntu.14.04_amd64.deb
[pv-debian8]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell_6.2.0-preview.2-1.debian.8_amd64.deb
[pv-debian9]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell_6.2.0-preview.2-1.debian.9_amd64.deb
[pv-centos]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell-6.2.0-preview.2-1.rhel.7.x86_64.rpm
[pv-macos]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell-6.2.0-preview.2-osx-x64.pkg
[pv-winarm]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/PowerShell-6.2.0-preview.2-win-arm32.zip
[pv-winarm64]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/PowerShell-6.2.0-preview.2-win-arm64.zip
[pv-winx86-zip]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/PowerShell-6.2.0-preview.2-win-x86.zip
[pv-winx64-zip]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/PowerShell-6.2.0-preview.2-win-x64.zip
[pv-macos-tar]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell-6.2.0-preview.2-osx-x64.tar.gz
[pv-linux-tar]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell-6.2.0-preview.2-linux-x64.tar.gz
[pv-raspbian]: https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.2/powershell-6.2.0-preview.2-linux-arm32.tar.gz
[pv-snap]: https://snapcraft.io/powershell-preview
[in-windows]: https://docs.microsoft.com/powershell/scripting/setup/installing-powershell-core-on-windows?view=powershell-6
+1 -1
View File
@@ -563,7 +563,7 @@ function Restore-PSPester
[ValidateNotNullOrEmpty()]
[string] $Destination = ([IO.Path]::Combine((Split-Path (Get-PSOptions -DefaultToNew).Output), "Modules"))
)
Save-Module -Name Pester -Path $Destination -Repository PSGallery -RequiredVersion "4.4.2"
Save-Module -Name Pester -Path $Destination -Repository PSGallery -RequiredVersion "4.4.1"
}
function Compress-TestContent {
@@ -67,7 +67,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.9.0" />
<PackageReference Include="NJsonSchema" Version="9.12.1" />
<PackageReference Include="NJsonSchema" Version="9.12.2" />
</ItemGroup>
</Project>
@@ -23,7 +23,7 @@
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.0" />
<!-- the following package(s) are from the powershell org -->
<PackageReference Include="Microsoft.Management.Infrastructure" Version="1.0.0" />
<PackageReference Include="Microsoft.PowerShell.Native" Version="6.2.0-preview.1" />
<PackageReference Include="Microsoft.PowerShell.Native" Version="6.2.0-preview.2" />
</ItemGroup>
<PropertyGroup>
+1 -1
View File
@@ -18,7 +18,7 @@
<PackageReference Include="xunit" Version="2.4.0" />
<PackageReference Include="XunitXml.TestLogger" Version="2.0.0" />
<!-- The version of Microsoft.PowerShell.SDK should be the version we are releasing, so the tests use the correct SDK before publishing to NuGet.org -->
<PackageReference Include="Microsoft.PowerShell.SDK" Version="6.2.0-preview.1" />
<PackageReference Include="Microsoft.PowerShell.SDK" Version="6.2.0-preview.2" />
<PackageReference Include="Xunit.SkippableFact" Version="1.3.6" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
</ItemGroup>
+2 -2
View File
@@ -1,7 +1,7 @@
{
"StableReleaseTag": "v6.1.1",
"PreviewReleaseTag": "v6.2.0-preview.1",
"PreviewReleaseTag": "v6.2.0-preview.2",
"ServicingReleaseTag": "v6.0.5",
"ReleaseTag": "v6.1.1",
"NextReleaseTag": "v6.2.0-preview.1"
"NextReleaseTag": "v6.2.0-preview.2"
}
+8 -1
View File
@@ -767,6 +767,7 @@ function New-UnixPackage {
$ManGzipInfo = New-ManGzip -IsPreview:$IsPreview
# Change permissions for packaging
Write-Log "Setting permissions..."
Start-NativeExecution {
find $Staging -type d | xargs chmod 755
find $Staging -type f | xargs chmod 644
@@ -779,6 +780,7 @@ function New-UnixPackage {
# Add macOS powershell launcher
if ($Type -eq "osxpkg")
{
Write-Log "Adding macOS launch opplication..."
if ($pscmdlet.ShouldProcess("Add macOS launch application"))
{
# Generate launcher app folder
@@ -816,10 +818,12 @@ function New-UnixPackage {
# Build package
try {
if ($pscmdlet.ShouldProcess("Create $type package")) {
Write-Log "Creating package with fpm..."
$Output = Start-NativeExecution { fpm $Arguments }
}
} finally {
if ($Environment.IsMacOS) {
Write-Log "Starting Cleanup for mac packaging..."
if ($pscmdlet.ShouldProcess("Cleanup macOS launcher"))
{
Clear-MacOSLauncher
@@ -1203,6 +1207,7 @@ function New-ManGzip
$IsPreview
)
Write-Log "Creating man gz..."
# run ronn to convert man page to roff
$RonnFile = "$RepoRoot/assets/pwsh.1.ronn"
if ($IsPreview.IsPresent)
@@ -1215,7 +1220,8 @@ function New-ManGzip
$RoffFile = $RonnFile -replace "\.ronn$"
# Run ronn on assets file
Start-NativeExecution { ronn --roff $RonnFile } -VerboseOutputOnError
Write-Log "Creating man gz - running ronn..."
Start-NativeExecution { ronn --roff $RonnFile }
if ($IsPreview.IsPresent)
{
@@ -1224,6 +1230,7 @@ function New-ManGzip
# gzip in assets directory
$GzipFile = "$RoffFile.gz"
Write-Log "Creating man gz - running gzip..."
Start-NativeExecution { gzip -f $RoffFile } -VerboseOutputOnError
$ManFile = Join-Path "/usr/local/share/man/man1" (Split-Path -Leaf $GzipFile)
@@ -29,27 +29,15 @@ param (
[switch] $Build
)
# We must build in /PowerShell
$repoRoot = '/PowerShell'
if ($BootStrap.IsPresent) {
$repoRoot = $location
}
$repoRoot = $location
if ($Build.IsPresent) {
# cleanup the folder but don't delete it or the build agent will loose ownership of the folder
Write-Verbose -Message "cleaning /PowerShell" -Verbose
Get-ChildItem -Path /PowerShell/* -Attributes Hidden, Normal, Directory | Remove-Item -Recurse -Force
# clone the repository to the location we must build from
Write-Verbose -Message "cloning to /PowerShell" -Verbose
git clone $location /PowerShell
$releaseTagParam = @{}
if ($ReleaseTag) {
$releaseTagParam = @{ 'ReleaseTag' = $ReleaseTag }
}
}
Push-Location
try {
Write-Verbose -Message "Init..." -Verbose
+15 -12
View File
@@ -14,16 +14,6 @@ steps:
scriptPath: 'tools/releaseBuild/setReleaseTag.sh'
args: '-ReleaseTag $(ReleaseTagVar) -Variable "ReleaseTagVar"'
displayName: 'Calculate Release Tag'
- powershell: |
Import-Module $(Build.SourcesDirectory)/build.psm1 -Force
New-NugetConfigFile -NugetFeedUrl $(AzDevOpsFeed) -UserName $(AzDevOpsFeedUserName) -ClearTextPAT $(AzDevOpsFeedPAT) -FeedName AzDevOpsFeed -Destination $(Build.SourcesDirectory)/src/Modules
if(-not (Test-Path "$(Build.SourcesDirectory)/src/Modules/nuget.config"))
{
throw "nuget.config is not created"
}
displayName: 'Add nuget.config for AzDevOps feed for PSGallery modules '
condition: ne(Variable['SkipFxDependent'], 'true')
- task: ShellScript@2
inputs:
scriptPath: 'tools/installpsh-osx.sh'
@@ -32,13 +22,26 @@ steps:
inputs:
scriptPath: 'tools/releaseBuild/macOS/createPowerShell.sh'
displayName: 'Create /PowerShell'
- powershell: |
Write-Host "##vso[task.setvariable variable=PowerShellRoot]/PowerShell"
git clone $env:BUILD_REPOSITORY_LOCALPATH /PowerShell
displayName: Clone PowerShell Repo to /PowerShell
- task: ShellScript@2
inputs:
scriptPath: 'tools/releaseBuild/macOS/PowerShellPackageVsts.sh'
args: '-location $(Build.SourcesDirectory) -BootStrap'
args: '-location $(PowerShellRoot) -BootStrap'
displayName: 'Bootstrap VM'
- powershell: |
Import-Module $(Build.SourcesDirectory)/build.psm1 -Force
New-NugetConfigFile -NugetFeedUrl $(AzDevOpsFeed) -UserName $(AzDevOpsFeedUserName) -ClearTextPAT $(AzDevOpsFeedPAT) -FeedName AzDevOpsFeed -Destination "$(PowerShellRoot)/src/Modules"
if(-not (Test-Path "$(PowerShellRoot)/src/Modules/nuget.config"))
{
throw "nuget.config is not created"
}
displayName: 'Add nuget.config for AzDevOps feed for PSGallery modules '
- powershell: |
$env:AZDEVOPSFEEDPAT = '$(AzDevOpsFeedPAT)'
$(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -ExtraPackage "tar" -location $(Build.SourcesDirectory) -Build
$(Build.SourcesDirectory)/tools/releaseBuild/macOS/PowerShellPackageVsts.ps1 -ReleaseTag $(ReleaseTagVar) -Destination $(System.ArtifactsDirectory) -ExtraPackage "tar" -location $(PowerShellRoot) -Build
$env:AZDEVOPSFEEDPAT = $null
displayName: 'Build and Package'