Commit graph

5555 commits

Author SHA1 Message Date
Steve Lee
d8eb4c5601 updated install link and instructions for R-Pi (#5495)
* updated install link and instructions for R-Pi
* remove libicu57 as it's not needed
2017-11-27 10:52:25 -08:00
PRASOON KARUNAN V
32286ed22a Added more helpful message for AmbiguousParameterSet exception (#5537) 2017-11-24 18:37:20 +04:00
Ilya
d8e1f8dff3 Fix the path to 'powershell_xxx.inc' in Start-Build (#5538) 2017-11-24 02:42:41 -08:00
bergmeister
71e588d223 Disambiguate icon for daily builds on Windows (#5467)
* Disambiguate icon for daily builds on Windows.
Some code had to be borrowed from build.psm1 because this script has to be self contained in case it gets executed by only downloading this file via the published download link https://twitter.com/Steve_MSFT/status/930585082451992576
2017-11-22 14:14:32 +04:00
Mark Kraus
7778941b40 Fix Import-CliXml Tests (#5521)
Add checks that ProcessName is not null or empty.
2017-11-22 13:34:05 +04:00
Travis Plunk
9559694191
Replace strlen with strnlen in native code (#5510)
* fix expected vs actual for easier troubleshooting
* replace strlen calls with strnlen
2017-11-21 16:20:25 -08:00
Travis Plunk
227da48490
Fix docker tests (#5508)
* update expected version
* update container list
2017-11-21 13:52:10 -08:00
Travis Plunk
e1a57e5194
Update target tag for master CI to 6.1.0-preview.1 (#5513)
* use metadata JSON to create release tag in CI
2017-11-21 13:51:10 -08:00
Mark Kraus
3ff495dc0b [Feature] Fix AppVeyor Fails (#5520) 2017-11-21 13:09:27 -08:00
Travis Plunk
cc24b88a1e Fix mac packaging (#5496) 2017-11-20 16:00:22 -08:00
Travis Plunk
16e8a86175 update version regex for nanoserver docker (#5494) 2017-11-20 16:00:22 -08:00
bergmeister
5702081ae6 Change synopsis of install-powershell.ps1 to reflect that it works cross-platform (#5465) 2017-11-20 12:28:17 -08:00
Travis Plunk
cb048ea9f4
Merge pull request #5493 from PowerShell/release
Merge v6.0.0-rc release
2017-11-17 16:12:51 -08:00
Aditya Patwardhan
9e99d59621 Updated docs and scripts for rc release (#5481) 2017-11-17 09:09:28 -08:00
Dongbo Wang
f8bb55fa78
Minor update to releasing.md (#5489) 2017-11-17 09:05:42 -08:00
Ilya
7e3a2a23e4
Remove AddTypeCommandBase class (#5407)
It is technically a breaking change but it is only a public api surface of a cmdlet _implementation_ and don't  documented class.
2017-11-17 07:49:32 +04:00
Dongbo Wang
58f978001b
Update the ChangeLog.md for RC release (#5483) 2017-11-16 17:19:30 -08:00
Travis Plunk
e2c7e02099 Fix semantic version parsing (#5480) 2017-11-16 10:17:31 -08:00
Travis Plunk
90f455b9ec
fix MSI version parsing (#5475) 2017-11-15 18:43:14 -08:00
Travis Plunk
35a46a75bc
add mac release build scripts (#5474) 2017-11-15 17:10:19 -08:00
Dongbo Wang
97511a9e2a
Fix the regex for '-ReleaseTag' (#5473) 2017-11-15 16:55:13 -08:00
Aditya Patwardhan
381134ba59 Updated csproj to use the latest help package (#5454) 2017-11-15 16:29:04 -08:00
Dan Travison
f7206690f1 Update PSRP version dependency (#5469) 2017-11-15 14:43:04 -08:00
Dongbo Wang
5f72faab54
Change to query for metadata from our file (#5468) 2017-11-15 13:54:30 -08:00
Travis Plunk
4007470403
Package signing (#5463)
* add template xml for package signing

* Add script to generate package signing XML

* remove uploading artifact, it always fails.

* Allow the XML to be updated to be specified
2017-11-15 13:03:32 -08:00
Steve Lee
2f8e691e05 Fix build in vscode (#5453)
- Fix build in vscode
- Add v2.0.0 tasks.json thanks to Keith Hill
- Add '/property:GenerateFullPaths=true' to build to fix the $mscompile 'problem matcher' not working issue.
2017-11-15 11:40:49 -08:00
bergmeister
019cfee82c Fix Start-PSBuild on WSL if repository was already built on Windows (#5346)
Replace the static `powershell.inc` filename with a name based on the current RID, so that the build doesn't confuse when running in the same local repository on WSL.
2017-11-15 10:52:06 -08:00
Travis Plunk
3c7cd11152 Get PowerShellGet from the PowerShell Gallery (#5452) 2017-11-15 10:19:25 -08:00
Travis Plunk
5d8999e8b5 Add HighEntropyVA to building pwsh (#5455)
Specify that the images (pwsh.dll in particular) support high-entropy 64-bit address space layout randomization (ASLR).
2017-11-15 10:12:03 -08:00
Darwin
0f41c185d7 Add support for installing powershell on Amazon Linux (#5461)
- Support for Amazon Linux
- Ensure both tarball installs will reinstall/upgrade
- Clean up comments with incorrect urls
2017-11-15 09:51:52 -08:00
Dongbo Wang
c4f0d1c893
Add a test for the powershell hang fix (#5451)
- Add test for the powershell hang fix
- Ignore the 'Sync-PSTags' warning
2017-11-15 09:41:11 -08:00
Keith Hill
cef7762d18 Add standard set of vscode workspace setting files (#5457)
* Add standard set of vscode workspace setting files

Add an extensions.json file that will prompt folks to install extensions that are recommended for this workspace (c++, c#, powershell, cmake (editing syntax) and markdown linter.

Add settings.json to start to configure C# syntax, PoweShell trim trailing whitespace and configure the markdown lint extension.

Update launch.json to provide ability to debug PowerShell scripts.

* Clean up grammar

* Instruct VSCode to ensure a final newline.

If this is not wanted for certain file types, we can restrict this option to only specified file types.
2017-11-15 11:18:37 +04:00
Paul Higinbotham
1962c273c6 Fix for PowerShell hang on exit (#5356)
CoreCLR doesn't call finalizer on process exit. PowerShell relies on the CLR finalizer to clean up state on exit. In this case, a Runspace pool was not closed or disposed and any pipeline worker threads created to run concurrent scripts won't end, causing the hang. The same thing can happen if any individual Runspace is created to run a concurrent script and is not closed.

We cannot use the `AppDomain.DomainUnload` event because it's not supported by the default load context. The `AppDomain.ProcessExit` event is also not helpful since it is only called during application exit which means threads already have to be cleaned up.

The fix introduces a static property called `PrimaryRunspace` to `Runspace`. When the PrimaryRunspace is closing it means that the PowerShell session is ending and on exit clean should be performed. The static property `PrimaryRunspace` can only be set once per process.
2017-11-14 14:01:11 -08:00
Steve Lee
89d1d92151 Update governance.md (#5437) 2017-11-14 11:15:31 -08:00
Mark Kraus
c832e1687d Add PSTypeName Support for Import-Csv and ConvertFrom-Csv (#5389)
closes #5134

Adds PSTypeName preservation on Import-Csv and ConvertFrom-Csv
2017-11-14 11:15:18 -08:00
Steve Lee
83e1d64669 Enable install-powershell.ps1 to update the current running powershell (#5429)
1. Remove `[validate]` attribute from parameter so this script can be invoked directly from the web. This doesn't have any negative impact as the $Destination parameter will have a default value if null or empty.
2. Move removal of destination folder later as installing the package requires package management module and archive module (on Windows)
3. On Windows, because files have open handles when run from existing powershell-daily install, I rename the existing files and copy over the new ones.  User needs to exit and restart `pwsh` to take effect (similar to macOS/Linux where you have to exit and restart anyways)
2017-11-14 10:45:08 -08:00
Travis Plunk
31f7639552
Add compliance label description (#5355) 2017-11-14 10:37:24 -08:00
Travis Plunk
1d64cad068
Signing fixes (#5439)
* Add two files that need to be signed
* make sure to set PSModuleRestore to true when expanding a signed build because we run PSModuleRestore at that point.
* suppress output of CmdLets which are noisy
2017-11-14 10:30:17 -08:00
Mark Kraus
87bcd4132a Fix Single Value JSON null in Invoke-RestMethod (#5338)
* [Feature] Fix Single Value JSON null in Invoke-WebRequest

* [Feature] Switch from Regex to JToken.Parse()

* [Feature] Address PR Feedback: use `n
2017-11-14 07:53:43 +04:00
Dongbo Wang
da0b384b2a Try fixing the 'brew update' issue in bootstrap script (#5400)
* Try fixing the 'brew update' issue in bootstrap script

* Add a log message

* Add a comment
2017-11-13 12:21:53 -08:00
Mark Kraus
ecf0f8c151 Add SslProtocol Support to WebCmdlets (#5329)
closes #2662

This feature adds the ability to restrict the SSL/TLS protocol used when making the web request. In 5.1 the user could make use of .NET API's to enforce this on the Web Cmdlets. With the move to HttpClient in PowerShell Core, those APIs have no impact. The user still has requirements to ensure specific protocols are used.

The public enum WebSslProtocol is added as a wrapper to the underlying SslProtocols enum. Neither it nor SecurityProtocolType can be used because Ssl3 and Ssl2 are not supported by HttpClientHandler.SslProtocols. While it may not be intuitive to a PowerShell user to use -bor or "Tls, Tls11" to set multiple options, the general use case for this will be a single protocol.

Adds -SslProtocol parameter to Web Cmdlets
Adds WebSslProtocol Enum to support limited subset of SslProtocol enum supported by HttpClientHandler
Adds TLS 1.1 and TLS 1.0 listening ports to WebListener
2017-11-13 10:45:46 -08:00
Dan Travison
d5a974ffd4 Add dependency nuget instructions for PowerShell.Core.Instrumentation resource binary (#5396)
* Add dependency nuget packaging instructions for PowerShell.Core.Instrumentation ETW resource binary.

* Fix markdown MD031 Fenced code blocks errors.

* Fix MD022 Headers should be surrounded by blank lines

* Add a note about Authenticode Dual-signing requirement.

* PR Feedback.

* Set version to Beta.10
2017-11-13 10:40:31 -08:00
Andrew
06d3114763 Automation for PS package validation using Docker containers (#5401)
This automation is used for basic validation of PS packages during a release;
Covered configs:

ubuntu14.04
ubuntu16.04
ubuntu17.04
debian.8
debian.9
centos7
fedora25
fedora26
kalilinux
opensuse42.2
During the process Docker files are filled out and executed with Docker build;
During the build PS packages are downloaded onto Docker containers, installed and selected Pester tests from PowerShell Github repo are executed.
2017-11-13 10:25:09 -08:00
Travis Plunk
36fac11f29 Allow packaging from a zip package to allow for signing (#5418)
- Include a serialized version of PSOptions in an includesymbols zip
- Add a function which will create a zip package from the expanded includesymbols zip and a folder of signed files
- Add a function to restore an includesymbols zip as a build and populated PSOptions with the options
2017-11-13 10:10:51 -08:00
Mark Kraus
592cd384e8 Fix spelling in web cmdlet errors (#5427) 2017-11-12 17:48:40 -08:00
Steve Lee
0f223c00d2 Move the 'rcedit' step to build rather than packaging (#5404) 2017-11-11 10:32:10 -08:00
Dongbo Wang
2f399e233c
Enhance 'install-powershell.ps1' to work on Linux/MacOS (#5411)
Enhance 'install-powershell.ps1' to work on Linux and macOS too. A user can install release version or daily powershell core on Linux and macOS.
When `-AddToPath` is specified:
- On Windows, add the absolute destination path to the 'User' scope environment variable 'Path';
- On Linux, make the symlink '/usr/bin/pwsh' points to "$Destination/pwsh";
- On MacOS, make the symlink '/usr/local/bin/pwsh' points to "$Destination/pwsh".
2017-11-10 17:54:24 -08:00
Steve Lee
54f34a0bac Support '[package]' tag in PR CI and fix nightly build on macOS (#5410)
- Support '[package]' tag in PR CI to validate packaging changes in PR CI runs.
  When using '[package]' tag, regular CI tests will run and packaging steps will also run.
- Fix nightly build on macOS.
2017-11-10 17:28:55 -08:00
Travis Plunk
b1d312317c
make name a dynamic parameter (#5415) 2017-11-10 15:28:38 -08:00
Ilya
c86f243ca0 Make Import-Csv support CR, LF and CRLF as line delimiters (#5363)
With the fix, `Import-Csv` support CR (\r), LF (\n), CRLF (\r\n) as line delimiters.
2017-11-10 14:02:45 -08:00