Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge changes of 1.17.1 (including 1.17.0) into Master #1018

Merged
merged 132 commits into from
Jun 5, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
ef494a0
Add launch.json file
Aug 19, 2017
14121d1
Fix range validation in TextEdit.ApplyEdit
Aug 19, 2017
0637a36
Ignore no whitespace if new line after binary operator
Aug 19, 2017
088b27b
Merge pull request #815 from PowerShell/kapilmb/fix-formatter
Aug 22, 2017
77ff614
Add AutoFix switch parameter for 'File' parameter set, which uses the…
bergmeister Aug 30, 2017
08896da
Update changelog
Sep 1, 2017
0f09ec4
Update module manifest
Sep 1, 2017
e46e146
Bump version to 1.16.1
Sep 1, 2017
b82f57c
Merge pull request #818 from PowerShell/kapilmb/v1.16.1
Sep 1, 2017
ef75719
PR 817: Name switch 'Fix' and preserver Encoding of the file. However…
bergmeister Sep 12, 2017
24732ee
PR 817 Minor syntax fix for markdown file
bergmeister Sep 12, 2017
aeead84
Add PSAvoidTrailingWhitespace rule
dlwyatt Sep 28, 2017
b457755
Fix other tests that failed as a result of adding a new default rule
dlwyatt Sep 29, 2017
6512285
Fix one other test file with trailing whitespace
dlwyatt Sep 29, 2017
02f3bfd
Merge branch 'master' into development
Sep 30, 2017
4dc4aeb
Improve encoding handling by not using the detectEncodingFromByteOrde…
bergmeister Sep 30, 2017
5480c14
Add documentation file
dlwyatt Oct 6, 2017
792fe30
improve wording of help as suggested in PR
bergmeister Nov 6, 2017
5a2f47b
Add simple test for -Fix switch
bergmeister Nov 6, 2017
023f9e3
improve test by restoring original file and also asserting against th…
bergmeister Nov 6, 2017
5d0b52d
Merge branch 'master' of https://github.com/PowerShell/PSScriptAnalyz…
bergmeister Nov 6, 2017
78d9663
Merge branch 'development' of https://github.com/PowerShell/PSScriptA…
bergmeister Nov 6, 2017
6edeef4
Clean up test
bergmeister Nov 6, 2017
e7e01b9
Merge pull request #820 from dlwyatt/AvoidTrailingWhitespace
Nov 8, 2017
f129846
Refactor 'fix' switch out of AnalyzePath method as requested in PR
bergmeister Nov 8, 2017
bfa1c54
Implement SupportShouldProcess for InvokeScriptAnalyzerCommand down t…
bergmeister Nov 8, 2017
50af5d2
Adapt the full .net wrapper in LibraryUsage.tests.ps1 with the -fix s…
bergmeister Nov 8, 2017
771ffb6
Fix Func wrapper in LibraryUsage.tests.ps1
bergmeister Nov 8, 2017
701c264
Another fix to LibraryUsage.tests.ps1 to accomodate -Fix switch and a…
bergmeister Nov 8, 2017
a16c232
Always return true for shouldprocess
bergmeister Nov 9, 2017
e64335f
Add supportshouldprocess to full .net wrapper library
bergmeister Nov 9, 2017
4297ff4
Add 'WhatIf' to common words for help tests
bergmeister Nov 9, 2017
9785993
Add 'Confirm' to common words for help tests
bergmeister Nov 9, 2017
14197ce
Add debug line to debug failing test
bergmeister Nov 9, 2017
fffcd76
Add more debug info for test failure
bergmeister Nov 9, 2017
c707a1e
Add comment about deliberate whitespace warning
bergmeister Nov 9, 2017
9d4e8ef
Number of expected warnings now 5 in -fix test due to PSAvoidTrailin…
bergmeister Nov 9, 2017
c0f881d
Update expected test file
bergmeister Nov 9, 2017
c59b6b0
Remove trailing whitespace in expected file since this gets fixed now
bergmeister Nov 9, 2017
6f6896a
Remove debugging line since test passes now
bergmeister Nov 9, 2017
f5ac9eb
Set-Content -NoNewline was only introduced in PS v5 and would therefo…
bergmeister Nov 9, 2017
8e46750
Syntax fix of last commit
bergmeister Nov 9, 2017
e184e3b
Another small syntax fix (sorry, I am commiting from my mobile)
bergmeister Nov 9, 2017
0df445b
Return $pscmdlet.shouldprocess in .net test wrapper
bergmeister Nov 9, 2017
8525e03
Optimize -Fix switch to only write the fixed file to disk if any fixe…
bergmeister Nov 13, 2017
e12c4a6
Merge branch 'AutoFixWarnings' of https://github.com/bergmeister/PSSc…
bergmeister Nov 13, 2017
2056fe0
Merge pull request #817 from bergmeister/AutoFixWarnings
Nov 30, 2017
667aea5
Fix PSUseDeclaredVarsMoreThanAssignments when variable is assigned mo…
bergmeister Dec 3, 2017
faf4886
Fix FixPSUseDeclaredVarsMoreThanAssignments to also detect variables …
bergmeister Dec 3, 2017
68840ac
Add PSUseDeclaredVarsMoreThanAssignments test for strongly typed vari…
bergmeister Dec 3, 2017
f7e4637
add tests to PSUseDeclaredVarsMoreThanAssignments to check that it fl…
bergmeister Dec 3, 2017
7aa15bb
Add instuctions to make a release (#843)
Dec 15, 2017
5051bd3
Fix typo in README
misterGF Dec 29, 2017
06732fd
Add Justification to the first example
KevinMarquette Jan 18, 2018
fbc5046
added colon
KevinMarquette Jan 18, 2018
4c25c54
Merge pull request #845 from misterGF/patch-1
JamesWTruher Jan 20, 2018
49e3fbe
Merge pull request #848 from KevinMarquette/kevinmarquette/justification
JamesWTruher Jan 20, 2018
8fdb7ae
Merge pull request #836 from bergmeister/FixPSUseDeclaredVarsMoreThan…
JamesWTruher Jan 20, 2018
a2ab2de
Merge pull request #837 from bergmeister/FixPSUseDeclaredVarsMoreThan…
JamesWTruher Jan 20, 2018
26f623a
Fix NullReferenceException in AlignAssignmentStatement rule when Chec…
bergmeister Jan 21, 2018
cfea14f
Add documentation for -Fix switch to README.md (#852)
bergmeister Jan 21, 2018
e973047
Add -EnableExit switch to Invoke-ScriptAnalyzer for exit and return e…
bergmeister Jan 21, 2018
9ea3810
Upgrade .Net Core SDK from '1.0 Preview 2' to '1.1.5' (this is the LT…
bergmeister Jan 21, 2018
9e37dd3
Upgrade from .Net Core SDK 1.1 to 2.1.4 (#854)
bergmeister Jan 22, 2018
1cda9d3
Use the typewriter apostrophe ( ' ) instead the typographic apostroph…
alexandear Jan 22, 2018
3f08895
Fix Example 7 in Invoke-ScriptAnalyzer.md. (#862)
sethvs Feb 2, 2018
048c7f3
Warn when an if statement contains an assignment (#859)
bergmeister Feb 5, 2018
d918da8
Add a simple GitHub issue template based on the one of PowerShell Cor…
bergmeister Feb 5, 2018
3adb9df
Add simple GitHub Pull Request template based off the one for PowerSh…
bergmeister Feb 5, 2018
79fe37f
Fix PSAvoidUsingCmdletAliases warnings in root and Utils folder using…
bergmeister Feb 6, 2018
b5afd5d
Make documentation of AvoidUsingPositionalParameters match the implem…
bergmeister Feb 6, 2018
ed21cf8
use https links where possible (tested) (#873)
bergmeister Feb 7, 2018
539e28e
Adapt release script and documentation due to upgrade to .Net Core 2.…
bergmeister Feb 7, 2018
d432e00
Warn against assignment to read-only automatic variables (#864)
bergmeister Feb 7, 2018
54c4bf7
Upgrade platyPS from Version 0.5 to 0.9 (#869)
bergmeister Feb 9, 2018
d424544
fix GitHub issue template (file ended in .md.txt instead of .md) (#884)
bergmeister Feb 12, 2018
c54c8fe
Fix typo in .Description for Measure-RequiresModules (#888)
TimCurwick Feb 15, 2018
de28e4f
Changes to allow tests to be run outside of CI (#882)
JamesWTruher Feb 16, 2018
8f20c98
Fix Markdown linting warnings so it now renders in GitHub (#898)
MWL88 Feb 20, 2018
22c062c
Fix regressions introduced by PR 882 (#891)
bergmeister Feb 20, 2018
5d818d1
remove unneeded restore tasks because .net core 2 does it automatical…
bergmeister Feb 20, 2018
ebc413a
Have a single point of reference for the .Net Core SDK version (#885)
bergmeister Feb 20, 2018
6aeb4f6
Fix Pester v4 installation for `Visual Studio 2017` image and use Pes…
bergmeister Feb 20, 2018
bdb8707
Update from Pester 4.1.1 to 4.3.1 and use new -BeTrue and -BeFalse op…
bergmeister Feb 26, 2018
30eb91a
Fix AvoidDefaultValueForMandatoryParameter documentation, rule and te…
bergmeister Feb 26, 2018
cad6f47
Shorten contribution section in ReadMe and make it more friendly (#911)
bergmeister Feb 27, 2018
d4ba947
Allow relative settings path (#909)
bergmeister Feb 28, 2018
304d300
Remove old, redundant DNX relict (#912)
bergmeister Mar 2, 2018
367384a
Finalise new -ReportSummary switch (#895)
bergmeister Mar 2, 2018
6421cc9
Remove redundant Readme of RuleDocumentation folder, which is out of …
bergmeister Mar 4, 2018
bc5b2dd
Fix parsing the -Settings object as a path when the path object origi…
bergmeister Mar 5, 2018
f002c1c
Do not trigger UseShouldProcessForStateChangingFunctions rule for wor…
bergmeister Mar 6, 2018
7fa645c
update syntax to be the correct one from get-help (#932)
bergmeister Mar 12, 2018
79d8b5e
Update .Net Core SDK from 2.1.4 to 2.1.101 (#936)
bergmeister Mar 16, 2018
03ee3c4
Make licence headers consistent across all files by using the recomme…
bergmeister Mar 16, 2018
3cd2910
Update Newtonsoft.Json NuGet package of Rules project from 9.0.1 to 1…
bergmeister Mar 20, 2018
6146546
Remove unused using statements and sort them (#931)
bergmeister Mar 20, 2018
d6dc001
Fix typo (#942)
MWL88 Mar 21, 2018
021711e
Add PowerShell Core Build+Test to Appveyor CI (#939)
bergmeister Mar 21, 2018
a7d23f7
Fix PlaceOpenBrace rule correction to take comment at the end of line…
bergmeister Mar 23, 2018
7fd10cd
Add macos detection to New-CommandDataFile (#947)
GavinEke Mar 27, 2018
a503078
Warn when 'Get-' prefix was omitted as part of the PSAvoidUsingCmdlet…
bergmeister Mar 28, 2018
d1bec74
Allow -Setting parameter to resolve setting presets as well when obje…
bergmeister Mar 28, 2018
00c4787
Tweak UseConsistentWhitespace formatting rule to exclude first unary …
bergmeister Mar 28, 2018
2427610
Add Ubuntu Build+Test to Appveyor CI (#940)
bergmeister Mar 30, 2018
6a8e828
Fix PSUseDeclaredVarsMoreThanAssignments to not give false positives …
bergmeister Mar 30, 2018
1a8d285
Make UseDeclaredVarsMoreThanAssignments not flag drive qualified vari…
bergmeister Apr 2, 2018
7304362
Upgrade 'System.Automation.Management' NuGet package of version 6.0.0…
bergmeister Apr 5, 2018
83af8ed
Remove extraneous import-module commands (#962)
JamesWTruher Apr 5, 2018
ac707f8
Move common test code into AppVeyor module (#961)
bergmeister Apr 9, 2018
6e892b9
Warn when using FileRedirection operator inside if/while statements a…
bergmeister Apr 9, 2018
2fc3911
Remove outdated about_scriptanalyzer help file (#951)
bergmeister Apr 9, 2018
7c1ca74
Add warnings about read-only automatic variables introduced in PowerS…
bergmeister Apr 9, 2018
6966d51
Add base changelog for 1.17.0 (#967)
bergmeister Apr 12, 2018
0e7cca6
Improve documentation, especially about parameter usage and the setti…
bergmeister Apr 23, 2018
c315bc5
Add Docker images that work with PSSA to ReadMe and give examples (#987)
bergmeister May 7, 2018
1479ed6
Scripts needed to build and sign PSSA via MS VSTS so it can be publis…
JamesWTruher May 8, 2018
9e38cdb
Fix table of contents (#980)
bergmeister May 11, 2018
b99ceb2
Add NanoServer Docker example and summarize all docker examples bette…
bergmeister May 11, 2018
ac22b0e
Allow TypeNotFound parser errors (#957)
bergmeister May 11, 2018
f02b392
Use multiple GitHub issue templates for bugs, feature requests and su…
bergmeister May 11, 2018
703ebe4
Do not trigger UseDeclaredVarsMoreThanAssignment for variables being …
bergmeister May 11, 2018
a035491
AvoidDefaultValueForMandatoryParameter triggers when the field has sp…
kalgiz May 11, 2018
7408fe2
Added Chocolatey Install help (#999)
pauby May 14, 2018
606c9eb
fix release script by building also for v3 and misc. improvements (#996)
bergmeister May 17, 2018
c632ea1
If no path is found or when using the -ScriptDefinition parameter set…
bergmeister May 17, 2018
f1222ef
Add CommandData files of PowerShell Core 6.0.2 for Windows/Linux/mac…
bergmeister May 17, 2018
e5ae9df
Support SuggestedCorrections property on DiagnosticRecord for script …
bergmeister May 17, 2018
a22fd0f
Fix table to refer to existing md files, add col for Configurable (#988)
rkeithhill Jun 5, 2018
23095f6
Fix NullReferenceException in AvoidAssignmentToAutomaticVariable rule…
bergmeister Jun 5, 2018
57879ca
Merge 1.17.0 branch into development (#1015)
bergmeister Jun 5, 2018
617476b
Update to 1.17.1 (Update changelog, ran New-Release and updated versi…
bergmeister Jun 5, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 14 additions & 44 deletions .build.ps1
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
param(
[ValidateSet("net451", "netstandard1.6")]
[ValidateSet("net451", "netstandard2.0")]
[string]$Framework = "net451",

[ValidateSet("Debug", "Release", "PSv3Debug", "PSv3Release")]
[ValidateSet("Debug", "Release", "PSv3Debug", "PSv3Release", "PSv4Release")]
[string]$Configuration = "Debug"
)

# todo remove aliases
# todo make each project have its own build script

$resourceScript = Join-Path $BuildRoot "New-StronglyTypedCsFileForResx.ps1"
$outPath = "$BuildRoot/out"
$modulePath = "$outPath/PSScriptAnalyzer"

Expand All @@ -18,9 +17,9 @@ if ($BuildTask -eq "release") {
$buildData = @{
Frameworks = @{
"net451" = @{
Configuration = @('Release', "PSV3Release")
Configuration = @('Release', "PSV3Release", "PSv4Release")
}
"netstandard1.6" = @{
"netstandard2.0" = @{
Configuration = @('Release')
}
}
Expand All @@ -39,20 +38,20 @@ function CreateIfNotExists([string] $folderPath) {
}

function Get-BuildInputs($project) {
pushd $buildRoot/$project
gci -Filter *.cs
gci -Directory -Exclude obj, bin | gci -Filter *.cs -Recurse
popd
Push-Location $buildRoot/$project
Get-ChildItem -Filter *.cs
Get-ChildItem -Directory -Exclude obj, bin | Get-ChildItem -Filter *.cs -Recurse
Pop-Location
}

function Get-BuildOutputs($project) {
$bin = "$buildRoot/$project/bin/$Configuration/$Framework"
$obj = "$buildRoot/$project/obj/$Configuration/$Framework"
if (Test-Path $bin) {
gci $bin -Recurse
Get-ChildItem $bin -Recurse
}
if (Test-Path $obj) {
gci $obj -Recurse
Get-ChildItem $obj -Recurse
}
}

Expand All @@ -79,14 +78,6 @@ function Get-BuildTaskParams($project) {
$taskParams
}

function Get-RestoreTaskParams($project) {
@{
Inputs = "$BuildRoot/$project/project.json"
Outputs = "$BuildRoot/$project/project.lock.json"
Jobs = {dotnet restore}
}
}

function Get-CleanTaskParams($project) {
@{
Jobs = {
Expand All @@ -109,20 +100,6 @@ function Get-TestTaskParam($project) {
}
}

function Get-ResourceTaskParam($project) {
@{
Inputs = "$project/Strings.resx"
Outputs = "$project/Strings.cs"
Data = $project
Jobs = {
Push-Location $BuildRoot
& $resourceScript $Task.Data
Pop-Location
}
Before = "$project/build"
}
}

function Add-ProjectTask([string]$project, [string]$taskName, [hashtable]$taskParams, [string]$pathPrefix = $buildRoot) {
$jobs = [scriptblock]::Create(@"
pushd $pathPrefix/$project
Expand All @@ -136,16 +113,12 @@ popd

$projects = @("engine", "rules")
$projects | ForEach-Object {
Add-ProjectTask $_ buildResource (Get-ResourceTaskParam $_)
Add-ProjectTask $_ build (Get-BuildTaskParams $_)
Add-ProjectTask $_ restore (Get-RestoreTaskParams $_)
Add-ProjectTask $_ clean (Get-CleanTaskParams $_)
Add-ProjectTask $_ test (Get-TestTaskParam $_) "$BuildRoot/tests"
}

task buildResource -Before build "engine/buildResource", "rules/buildResource"
task build "engine/build", "rules/build"
task restore "engine/restore", "rules/restore"
task clean "engine/clean", "rules/clean"
task test "engine/test", "rules/test"

Expand All @@ -172,7 +145,7 @@ task createModule {
$itemsToCopyBinaries = @("$solutionDir\Engine\bin\$Configuration\$Framework\Microsoft.Windows.PowerShell.ScriptAnalyzer.dll",
"$solutionDir\Rules\bin\$Configuration\$Framework\Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll")

if ($Framework -eq "netstandard1.6") {
if ($Framework -eq "netstandard2.0") {
$destinationDirBinaries = "$destinationDir\coreclr"
}
elseif ($Configuration -match 'PSv3') {
Expand Down Expand Up @@ -215,14 +188,11 @@ task buildDocs -Inputs $bdInputs -Outputs $bdOutputs {
$markdownDocsPath = Join-Path $docsPath 'markdown'
CreateIfNotExists($outputDocsPath)

# copy the about help file
Copy-Item -Path $docsPath\about_PSScriptAnalyzer.help.txt -Destination $outputDocsPath -Force

# Build documentation using platyPS
if ((Get-Module PlatyPS -ListAvailable) -eq $null) {
throw "Cannot find PlatyPS. Please install it from https://www.powershellgallery.com."
if ($null -eq (Get-Module platyPS -ListAvailable -Verbose:$verbosity | Where-Object { $_.Version -ge 0.9 })) {
throw "Cannot find platyPS of version greater or equal to 0.9. Please install it from https://www.powershellgallery.com/packages/platyPS/ using e.g. the following command: Install-Module platyPS"
}
Import-Module PlatyPS
Import-Module platyPS
if (-not (Test-Path $markdownDocsPath -Verbose:$verbosity)) {
throw "Cannot find markdown documentation folder."
}
Expand Down
45 changes: 45 additions & 0 deletions .github/ISSUE_TEMPLATE/Bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: Bug report 🐛
about: Report errors or unexpected behavior 🤔

---

Before submitting a bug report:

- Make sure you are able to repro it on the latest released version
- Perform a quick search for existing issues to check if this bug has already been reported

Steps to reproduce
------------------

```PowerShell

```

Expected behavior
-----------------

```none

```

Actual behavior
---------------

```none

```

If an unexpected error was thrown then please report the full error details using e.g. `$error[0] | Select-Object *`

Environment data
----------------

<!-- Provide the output of the following 2 commands -->

```PowerShell
> $PSVersionTable

> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }

```
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/Feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Feature request/idea 🚀
about: Suggest a new feature or improvement (this does not mean you have to implement it)

---

**Summary of the new feature**

A clear and concise description of what the problem is that the new feature would solve.
Try formulating it in user story style (if applicable):
'As a user I want X so that Y.' with X being the being the action and Y being the value of the action.

**Proposed technical implementation details (optional)**

A clear and concise description of what you want to happen.

**What is the latest version of PSScriptAnalyzer at the point of writing**

9 changes: 9 additions & 0 deletions .github/ISSUE_TEMPLATE/Support_Question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
name: Support Question ❓
about: If you have a question, you can try asking in the scriptanalyzer channel of the international PowerShell Slack channel first.

---

* Slack Community Chat: https://powershell.slack.com (you can sign-up at http://slack.poshcode.org/ for an invite)
* Also have a look at the `RoleDocumentation` folder for more information on each rule:
https://github.com/PowerShell/PSScriptAnalyzer/tree/development/RuleDocumentation
16 changes: 16 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## PR Summary

<!-- summarize your PR between here and the checklist -->

## PR Checklist

Note: Tick the boxes below that apply to this pull request by putting an `x` between the square brackets. Please mark anything not applicable to this PR `NA`.

- [ ] PR has a meaningful title
- [ ] Use the present tense and imperative mood when describing your changes
- [ ] Summarized changes
- [ ] User facing documentation needed
- [ ] Change is not breaking
- [ ] Make sure you've added a new test if existing tests do not effectively test the code changed
- [ ] This PR is ready to merge and is not work in progress
- If the PR is work in progress, please add the prefix `WIP:` to the beginning of the title and remove the prefix when the PR is ready
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ TestResult.xml
[Rr]eleasePS/
dlldata.c

# DNX
# .Net Core CLI
project.lock.json
artifacts/

Expand Down
30 changes: 30 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"version": "0.2.0",
"configurations": [

{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceRoot}/bin/Debug/<target-framework>/<project-name.dll>",
"args": [],
"cwd": "${workspaceRoot}",
"externalConsole": false,
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
},
{
"name": ".NET Full Attach",
"type": "clr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
}
98 changes: 97 additions & 1 deletion CHANGELOG.MD
Original file line number Diff line number Diff line change
@@ -1,4 +1,100 @@
## [1.16.0](https://github.com/PowerShell/PSScriptAnalyzer/tree/1.16.0) - 2017-08-15
## [1.17.1](https://github.com/PowerShell/PSScriptAnalyzer/tree/1.17.1) - 2018-06-06

### Fixes

- Fix signing so `PSScriptAnalyzer` can be installed without the `-SkipPublisherCheck` switch (#1014)
- Issues with rule `PSAvoidAssignmentToAutomaticVariable` were fixed (#1007, #1013, #1014)
- Rule documentation update and cleanup (#988)

## [1.17.0](https://github.com/PowerShell/PSScriptAnalyzer/tree/1.17.0) - 2018-06-02

### New Parameters

- Add `-ReportSummary` switch (#895) (Thanks @StingyJack! for the base work that got finalized by @bergmeister)
- Add `-EnableExit` switch to Invoke-ScriptAnalyzer for exit and return exit code for CI purposes (#842) (by @bergmeister)
- Add `-Fix` switch to `-Path` parameter set of `Invoke-ScriptAnalyzer` (#817, #852) (by @bergmeister)

### New Rules and Warnings

- Warn when 'Get-' prefix was omitted in `AvoidAlias` rule. (#927) (by @bergmeister)
- `AvoidAssignmentToAutomaticVariable`. NB: Currently only warns against read-only automatic variables (#864, #917) (by @bergmeister)
- `PossibleIncorrectUsageOfRedirectionOperator` and `PossibleIncorrectUsageOfAssignmentOperator`. (#859, #881) (by @bergmeister)
- Add PSAvoidTrailingWhitespace rule (#820) (Thanks @dlwyatt!)

### Fixes and Improvements

- AvoidDefaultValueForMandatoryParameter triggers when the field has specification: Mandatory=value and value!=0 (#969) (by @kalgiz)
- Do not trigger UseDeclaredVarsMoreThanAssignment for variables being used via Get-Variable (#925) (by @bergmeister)
- Make UseDeclaredVarsMoreThanAssignments not flag drive qualified variables (#958) (by @bergmeister)
- Fix PSUseDeclaredVarsMoreThanAssignments to not give false positives when using += operator (#935) (by @bergmeister)
- Tweak UseConsistentWhiteSpace formatting rule to exclude first unary operator when being used in argument (#949) (by @bergmeister)
- Allow -Setting parameter to resolve setting presets as well when object is still a PSObject in BeginProcessing (#928) (by @bergmeister)
- Add macos detection to New-CommandDataFile (#947) (Thanks @GavinEke!)
- Fix PlaceOpenBrace rule correction to take comment at the end of line into account (#929) (by @bergmeister)
- Do not trigger UseShouldProcessForStateChangingFunctions rule for workflows (#923) (by @bergmeister)
- Fix parsing the -Settings object as a path when the path object originates from an expression (#915) (by @bergmeister)
- Allow relative settings path (#909) (by @bergmeister)
- Fix AvoidDefaultValueForMandatoryParameter documentation, rule and tests (#907) (by @bergmeister)
- Fix NullReferenceException in AlignAssignmentStatement rule when CheckHashtable is enabled (#838) (by @bergmeister)
- Fix FixPSUseDeclaredVarsMoreThanAssignments to also detect variables that are strongly typed (#837) (by @bergmeister)
- Fix PSUseDeclaredVarsMoreThanAssignments when variable is assigned more than once to still give a warning (#836) (by @bergmeister)

### Engine, Building and Testing

- Support `SuggestedCorrections` property on DiagnosticRecord for script based rules #1000 (by @bergmeister)
- Add CommandData files of PowerShell Core 6.0.2 for Windows/Linux/macOS and WMF3/4 that are used by UseCompatibleCmdlets rule (#954) (by @bergmeister)
- If no path is found or when using the -ScriptDefinition parameter set, default to the current location for the directory search of the implicit settings file (#979) (by @bergmeister)
- Allow TypeNotFound parser errors (#957) (by @bergmeister)
- Fix release script by building also for v3 and misc. improvements (#996) (by @bergmeister)
- Scripts needed to build and sign PSSA via MS VSTS so it can be published in the gallery (#983) (by @JamesWTruher)
- Move common test code into AppVeyor module (#961) (by @bergmeister)
- Remove extraneous import-module commands in tests (#962) (by @JamesWTruher)
- Upgrade 'System.Automation.Management' NuGet package of version 6.0.0-alpha13 to version 6.0.2 from powershell-core feed, which requires upgrade to netstandard2.0. NB: This highly improved behavior on WMF3 but also means that the latest patched version (6.0.2) of PowerShell Core should be used. (#919) by @bergmeister)
- Add Ubuntu Build+Test to Appveyor CI (#940) (by @bergmeister)
- Add PowerShell Core Build+Test to Appveyor CI (#939) (by @bergmeister)
- Update Newtonsoft.Json NuGet package of Rules project from 9.0.1 to 10.0.3 (#937) (by @bergmeister)
- Fix Pester v4 installation for `Visual Studio 2017` image and use Pester v4 assertion operator syntax (#892) (by @bergmeister)
- Have a single point of reference for the .Net Core SDK version (#885) (by @bergmeister)
- Fix regressions introduced by PR 882 (#891) (by @bergmeister)
- Changes to allow tests to be run outside of CI (#882) (by @JamesWTruher)
- Upgrade platyPS from Version 0.5 to 0.9 (#869) (by @bergmeister)
- Build using .Net Core SDK 2.1.101 targeting `netstandard2.0` and `net451` (#853, #854, #870, #899, #912, #936) (by @bergmeister)
- Add instructions to make a release (#843) (by @kapilmb)

### Documentation, Error Messages and miscellaneous Improvements

- Added Chocolatey Install help, which has community support (#999) (Thanks @pauby)
- Finalize Release Logs and bump version to 1.17 (#1002) (by @bergmeister)
- Docker examples: (#987, #990) (by @bergmeister)
- Use multiple GitHub issue templates for bugs, feature requests and support questions (#986) (by @bergmeister
- Fix table of contents (#980) (by @bergmeister)
- Improve documentation, especially about parameter usage and the settings file (#968) (by @bergmeister)
- Add base changelog for 1.17.0 (#967) (by @bergmeister)
- Remove outdated about_scriptanalyzer help file (#951) (by @bergmeister)
- Fixes a typo and enhances the documentation for the parameters required for script rules (#942) (Thanks @MWL88!)
- Remove unused using statements and sort them (#931) (by @bergmeister)
- Make licence headers consistent across all .cs files by using the recommended header of PsCore (#930) (by @bergmeister)
- Update syntax in ReadMe to be the correct one from get-help (#932) by @bergmeister)
- Remove redundant, out of date Readme of RuleDocumentation folder (#918) (by @bergmeister)
- Shorten contribution section in ReadMe and make it more friendly (#911) (by @bergmeister)
- Update from Pester 4.1.1 to 4.3.1 and use new -BeTrue and -BeFalse operators (#906) (by @bergmeister)
- Fix Markdown in ScriptRuleDocumentation.md so it renders correctly on GitHub web site (#898) (Thanks @MWL88!)
- Fix typo in .Description for Measure-RequiresModules (#888) (Thanks @TimCurwick!)
- Use https links where possible (#873) (by @bergmeister)
- Make documentation of AvoidUsingPositionalParameters match the implementation (#867) (by @bergmeister)
- Fix PSAvoidUsingCmdletAliases warnings of internal build/release scripts in root and Utils folder (#872) (by @bergmeister)
- Add simple GitHub Pull Request template based off the one for PowerShell Core (#866) (by @bergmeister)
- Add a simple GitHub issue template based on the one of PowerShell Core. (#865, #884) (by @bergmeister)
- Fix Example 7 in Invoke-ScriptAnalyzer.md (#862) (Thanks @sethvs!)
- Use the typewriter apostrophe instead the typographic apostrophe (#855) (Thanks @alexandear!)
- Add justification to ReadMe (#848) (Thanks @KevinMarquette!)
- Fix typo in README (#845) (Thanks @misterGF!)

## [1.16.1](https://github.com/PowerShell/PSScriptAnalyzer/tree/1.16.1) - 2017-09-01
### Fixed
- (#815) Formatter crashes due to invalid extent comparisons

## [1.16.0](https://github.com/PowerShell/PSScriptAnalyzer/tree/1.16.0) - 2017-08-15
### Added
- (#803) `CustomRulePath`, `RecurseCustomRulePath` and `IncludeDefaultRules` parameters to settings file.

Expand Down
Loading