Skip to content

Commit 29d99cb

Browse files
committed
Merge branch 'development' of https://github.com/PowerShell/PSScriptAnalyzer into Performance_RunspacePool_AndSpeedupAvoidAlias
Resolved by taking upstream changes # Conflicts: # Rules/AvoidAlias.cs
2 parents 757e307 + 9d19209 commit 29d99cb

File tree

151 files changed

+4265
-3343
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+4265
-3343
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,5 +216,5 @@ PSScriptAnalyzer/
216216
# Test result file
217217
TestResults.xml
218218

219-
# PSCompatibilityAnalyzer module
220-
PSCompatibilityAnalyzer/out/
219+
# PSCompatibilityCollector module
220+
PSCompatibilityCollector/out/

CHANGELOG.MD

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,96 @@
1-
## [1.17.1](https://github.com/PowerShell/PSScriptAnalyzer/tree/1.17.1) - 2018-06-06
1+
# CHANGELOG
2+
3+
## [1.18.0](https://github.com/PowerShell/PSScriptAnalyzer/tree/1.18.0) - 2019-03-21
4+
5+
### Breaking Changes
6+
7+
- Minimum required version of `PowerShell Core` was raised from `6.0.2` to `6.1.0` due to `6.0` having reached the end of its support life-cycle. (#1165)
8+
- Updated used version of `Newtonsoft.Json` to `11.0.2`. (#1165) (by @bergmeister)
9+
- Command data files of PowerShell `6.0` were removed. Updated files for PowerShell `6.1` were added. This means that users that have customized the `UseCompatibleCmdlets` rule, need to either adapt the version string as per rule documentation or can alternatively copy in the old command data files into the `Settings` installation folder (#1075) (by @bergmeister)
10+
- The minimum required runtime of the full .Net Framework was raised from `4.5.1` to `4.5.2` as `4.5.1` is not supported any more. If the OS is patched then Windows update will have ensured that the newer runtime patch is available. (#1108) (by @bergmeister)
11+
- Emit parsing errors as diagnostic records (#1130) (by @JamesWTruher)
12+
13+
### Formatter Rules
14+
15+
- Add `UseCorrectCasing` formatting rule for cmdlet/function name (#1117) (by @bergmeister)
16+
- Fix `PSUseConsistentIndentationRule` to handle pipes correctly when there is a multi-line statement after a pipe and add `PipelineIndentation` customisation option for it (#1102) (by @bergmeister)
17+
- Add `CheckInnerBrace` and `CheckPipe` options to `PSUseConsistentWhitespace` (#1092) (by @bergmeister)
18+
19+
### Script Analysis Rules
20+
21+
- Add command data file for PowerShell `2.0` (#1091) (by @bergmeister)
22+
- Add command data files of PowerShell `6.1.0` (#1075) (by @bergmeister)
23+
- New PowerShell compatibility rules: `UseCompatibleCommands`, `UseCompatibleSyntax` and `UseCompatibleTypes` (#1156, #1133, #1176 and #1179) (by @rjmholt and @JamesWTruher)
24+
- Make `PossibleIncorrectComparisonWithNull` rule return a `SuggestCorrection` for auto-fixes in VS-Code or via the -Fix switch (#1115) (by @bergmeister)
25+
- Make UseCompatibleCmdlets not throw if default reference desktop-5.1.14393.206-windows is specified in the list of platforms and use core-6.1.0-windows as an alternative default reference (#1043 and #1075) (by @bergmeister)
26+
27+
### Custom Rules
28+
29+
- Translate `RuleSuppressionID` for custom rules as well (#1144) (by @bergmeister)
30+
- Allow for suppression of custom rules (#1145) (by @bergmeister)
31+
32+
### DSC
33+
34+
- Add support for Hashtable syntax of `Import-DscRessource` for `-SaveDscDependency` switch (#1138) (by @bergmeister)
35+
- Take module version into account for `-SaveDscDependency` switch (#1094) (by @bergmeister)
36+
37+
### Performance
38+
39+
Multi-threading efficiency was highly improved leading to a speedup whilst keeping the CPU usage roughly the same. One can expect `PSScriptAnalyzer` (PSSA) 1.18.0 to be more than twice as fast in most situations (including 'cold' runs) compared to its predecessor 1.17.0.
40+
41+
- Increase lock granularity for CommandInfo cache #1166 (by @bergmeister and @rjmholt)
42+
- Restore caching in Helper.GetCommandInfo (#1074) (Thanks @SeeminglyScience!)
43+
44+
### Fixes and General Improvements
45+
46+
- Fix bug when culture was set to Turkish (#1095) (by @bergmeister)
47+
- Fix settings file array parsing when no commas are present (#1161) (by @rjmholt)
48+
- Ensure correct disposal with using statement (#1164) (by @bergmeister)
49+
- Fix bug that caused Invoke-ScriptAnalyzer to not run any rule after an execution of Invoke-Formatter in the same session (but Invoke-ScriptAnalyzer would've recovered when being called again) (#1121) (by @bergmeister)
50+
- Fix parsing of empty hashtable when string is provided as settings object (#1073) (by @bergmeister)
51+
- Fix AlignAssignment rule to calculate alignment position correctly and avoid crash (#1070) (by @bergmeister)
52+
- Don't crash on CIM classes with no superclass (#1046) (Thanks @edyoung!)
53+
- Trigger AvoidPositionalParameters rule for function defined and called inside a script. (#963 and #1175) (Thanks @kalgiz! and @bergmeister)
54+
- Add OutputType attributes to cmdlets to enhance tab completion (#1020) (by @bergmeister)
55+
- Allow paths to be pipelined to Invoke-ScriptAnalyzer (#1040) (Thanks @edyoung!)
56+
- PSGallery will no longer use PSAvoidUsingConvertToSecureStringWithPlainText and PSAvoidUsingUserNameAndPasswordParams rules (#1037) (Thanks @edyoung!)
57+
58+
### Build
59+
60+
- Update platyps to 0.13 (#1172) (by @bergmeister)
61+
- Raise minimum required PS version of PS 6 to `6.1.0` due to 6.0 running out of support now and update Newtonsoft.Json to `11.0.2` (#1165) (by @bergmeister)
62+
- Unify reference to `Microsoft.Management.Infrastructure` and update `System.Reflection.TypeExtensions` NuGet package (#1105) (by @bergmeister)
63+
- Update .Net Core SDK from 2.2.103 to `2.2.104` (latest patch) (#1158) (by @bergmeister)
64+
- Make it easier to install the dotnet CLI tools (#1139) (by @JamesWTruher)
65+
- Simplify build scripts even more and upgrade platyPS in Appveyor #1088 (by @bergmeister)
66+
- Upgrade .Net SDK to 2.2.102 to fix new test failures on AppVeyor's Ubuntu image due an image update (#1128) (by @bergmeister)
67+
- Mark setting files as content for easier out-of-the-box debugging (#1104) (by @bergmeister)
68+
- Upgrade from net451 to net452 since net451 is not supported any more and net452 is an in-place upgrade anyway (#1108) (by @bergmeister)
69+
- Install dotnet sdk if missing on Unix as well to fix failing Ubuntu build due to image update and Pester/PowerShell bug (#1107) (by @bergmeister)
70+
- Removes update of pwsh since appveyor images are updated (#1084) (Thanks @wilmardo!)
71+
- Update, simplify, and consolidate build scripts (#1082) (by @JamesWTruher)
72+
- Bump .Net Core SDK version to 2.1.401 (#1086) (Thanks @wilmardo!)
73+
- Use RTM version of `Microsoft.Management.Infrastructure` (#1059) (by @bergmeister)
74+
- Upgrade `Microsoft.PowerShell.5.ReferenceAssemblies` from 1.0.0 to `1.1.0` and remove redundant/transitive references (#1050) (by @bergmeister)
75+
- Remove RuntimeFrameworkVersion as this is given by the running version of PS anyway and .Net would upgrade automatically anyway if possible (#1052) (by @bergmeister)
76+
- Upgrade Nuget packages (`System.Reflection.TypeExtensions` and `Microsoft.CSharp`) and make them more consistent (#1051) (by @bergmeister)
77+
- give explicit error on unsupported versions of pscore and document it (#1049) (by @bergmeister)
78+
- Remove old and redundant test settings file core-6.0.0-alpha-windows.json (#1044) (by @bergmeister)
79+
- Use `TLS 1.2` for bootstrapping dotnet in CI (#1047) (by @bergmeister)
80+
- Remove redundant/outdated build scripts and cleanup (#1011) (by @bergmeister)
81+
- Upload only out folder as artifact, which is the actual PSSA artifact (#1009) (by @bergmeister)
82+
83+
### Documentation
84+
85+
- Fix the "How" section #1127 (Thanks @alexandair!)
86+
- Make the correct example use the declared variable (#1111) (Thanks @f0nt4!)
87+
- Correcting CommunityRules to `CommunityAnalyzerRules` (#1119) (Thanks @kvprasoon!)
88+
- Add summary comment to some rules with short description (#1087) (Thanks @pedrocodacy!)
89+
- Update PR template to be more similar to the one of PowerShell but still distinguish where necessary (#1077)
90+
- Update documentation of `PSUseConsistentWhiteSpace`: enhance example and correct argument type. #1069 (Thanks @TheIncorrigible1!)
91+
- Update AvoidNullOrEmptyHelpMessageAttribute.md fix typo (#1068) (Thanks @TheIncorrigible1!)
92+
93+
## [1.17.1](https://github.com/PowerShell/PSScriptAnalyzer/tree/1.17.1) - 2018-06-06
294

395
### Fixes
496

DeprecatedRules/AvoidUninitializedVariable.cs

Lines changed: 0 additions & 156 deletions
This file was deleted.

DeprecatedRules/AvoidUnloadableModule.cs

Lines changed: 0 additions & 131 deletions
This file was deleted.

0 commit comments

Comments
 (0)