Skip to content

Commit 993ae01

Browse files
πŸ“– [Docs]: PowerShell module support aligned to latest LTS (#86)
PSModule module authors now have one supported runtime target: the latest PowerShell Long Term Support release. Windows PowerShell 5.1 compatibility is explicitly out of scope. ## Changed: PowerShell version support Module implementations can use language and platform capabilities available in the latest LTS without preserving Windows PowerShell 5.1 compatibility. Ternary operators are allowed and `NoTernary` is no longer a framework requirement. ## Technical Details - Adds the supported PowerShell version policy to the module standard. - Removes `NoTernary` from the documented enforced framework tests. - Corrects the existing link to the canonical PowerShell standards page. --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent c5b6a65 commit 993ae01

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

β€Žsrc/docs/Modules/Standards.mdβ€Ž

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22

33
Standards for implementing and reviewing PowerShell modules in the PSModule organization. These rules apply to modules built with the [PSModule framework](https://github.com/PSModule/Process-PSModule).
44

5-
For general PowerShell coding standards (naming, style, function structure, documentation, readability, error handling), see [PowerShell Standards](../Standard/index.md). This page covers only module-specific conventions.
5+
For general PowerShell coding standards (naming, style, function structure, documentation, readability, error handling), see [PowerShell Standards](../PowerShell/Standard/index.md). This page covers only module-specific conventions.
6+
7+
## Supported PowerShell version
8+
9+
PSModule modules support only the latest PowerShell Long Term Support (LTS) release. Do not preserve compatibility with Windows PowerShell 5.1; use language and platform capabilities available in the latest LTS when they improve the implementation.
610

711
> **Repo-local config wins.** Repo-level `.github/linters/.powershell-psscriptanalyzer.psd1` and `.github/PSModule.yml` override anything below. This standard fills the gap.
812
@@ -312,7 +316,6 @@ The CI pipeline automatically tests every source file against the following rule
312316
| `NumberOfProcessors` | Use `[System.Environment]::ProcessorCount`, not `$env:NUMBER_OF_PROCESSORS` |
313317
| `Verbose` | Do not pass `-Verbose` to commands unless explicitly silenced with `-Verbose:$false` |
314318
| `OutNull` | Use `$null = ...` instead of `\| Out-Null` |
315-
| `NoTernary` | No ternary operators β€” maintain PowerShell 5.1 compatibility |
316319
| `LowercaseKeywords` | All PowerShell keywords must be lowercase |
317320
| `FunctionCount` | Each file must contain exactly one function or filter |
318321
| `FunctionName` | Filename must match the function or filter name |

0 commit comments

Comments
Β (0)