* Remove AllScope from most default aliases
To speed up scope creation, I removed AllScope from most default
aliases.
This results in a 15-20% speedup for:
function foo {}
for ($i = 0; $i -lt 100kb; $i++) { & { foo } }
I left AllScope of a few frequently used aliases because it does
make command lookup faster. If we introduce something like dynamic
sites for command lookup, then we could probably remove the rest
of the AllScope aliases.
This is a low-risk breaking change. One can ask for aliases at
a particular scope:
Get-Alias -Scope 1 nsn
This could now fail if the scope number doesn't correspond to global
scope.
The class CommandFactory served no real purpose in command lookup
other than to unnecessarily add a few frames to the call stack,
introduce an extra indirection, and add a couple of unnecessary
checks that essential instances like ExecutionContext are not null.
if something goes wrong during the build, we might exit and not update the badge or fire the webhook.
Enable the after_success and after_failure stages of the travis-ci build so we can have a better chance of getting these done.
pwsh.exe today doesn't contain file version information and the icon is only associated with the shortcut file and not the exe
Fix is to use rcedit to embed:
icon
product version
file version
product name
copyright
Fix#2883Fix#5166Fix#5034
Address #3623.
Implementation symmetric to traditional code path that returns a PSCustomObject. Code is shared on the top level but 2 low level methods were difficult to share, therefore 2 separate but similar methods were created for HashTables.
All existing tests related to this change were adapted to also test against this new switch and were slightly improved.
-AsHashtable is an existing pattern used in Group-Object
Added the following to the Get-Service command:
•BinaryPathName (Was suggested as ServicePath )
•Description
•UserName (Was suggested as LogOnAs )
•DelayedAutoStart
•ServiceStartupType
The ServiceStartupType was also added, providing the user access to use services like in services.msc , having Automatic , Automatic (Delayed Start) , Manual and Disabled as options (Also includes InvalidValue as an initial value for ServiceStartupType )
This unifies file encoding across the inbox cmdlets to be UTF-8 without a BOM for all platforms. This is a breaking change as cmdlets on windows have a number of different encodings. This supports better interoperability with tradition Linux shells as we are using the same encoding.
Validate that files are created with UTF-8 encoding without BOM
Update tests to validate Encoding parameter to new type and create new tests for
parameter type validation.
[Breaking Change] The '-Encoding Byte' has been removed from the filesystem provider cmdlets. A new parameter '-AsByteStream' is now added to indicate that a byte stream is required as input, or output will be a stream of bytes.
* Update packaging script to only package PowerShell binaries when creating symbols zip. disallow all other package types for symbols
* remove instrumentation used for debugging during development
* Add error action silently continue to cleanup for reliability.
* Add comment about why folder is being deleted.
* Add depth to ProcessPathItems
* Honors capped recursion when using Include or Exclude filters with Get-ChildItem
* Including test cases to test include/exclude recursion
* Swap optional parameter for overload
Updated fwlinks to pull new help content for PSv6.
Fwlink for Microsoft.PowerShell.Core module is not updated since about_*help.txt is not available yet.
•Sets -NoTypeInformation as the default behavior for Export-Csv and ConvertTo-Csv
•Hides the -NoTypeInformation parameter switch
•Adds -IncludeTypeInformation switch to Export-Csv and ConvertTo-Csv to enable legacy behavior
•Provides a terminating error when both -NoTypeInformation and -IncludeTypeInformation are supplied
•adds tests for the new behavior
•fixes existing tests to align with new behavior
The new behavior will need to be documented.
Unwrapping of 'ValueFromRemainingArguments' was being performed only for 'object[]' arrays (which covers the most common PowerShell binding scenarios) but could be skipped if a collection of any other type were passed to the parameter. This change unwraps 'ValueFromRemainingArguments' if the single element is a collection.