From e26f67345ee8aee925732a6007aabea956219bba Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sun, 26 Jul 2026 00:05:03 +0200 Subject: [PATCH 1/2] Clarify latest LTS support policy Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- src/docs/Modules/Standards.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/docs/Modules/Standards.md b/src/docs/Modules/Standards.md index 0651cc5..75d4136 100644 --- a/src/docs/Modules/Standards.md +++ b/src/docs/Modules/Standards.md @@ -2,7 +2,11 @@ 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). -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. +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. + +## Supported PowerShell version + +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. > **Repo-local config wins.** Repo-level `.github/linters/.powershell-psscriptanalyzer.psd1` and `.github/PSModule.yml` override anything below. This standard fills the gap. @@ -312,7 +316,7 @@ The CI pipeline automatically tests every source file against the following rule | `NumberOfProcessors` | Use `[System.Environment]::ProcessorCount`, not `$env:NUMBER_OF_PROCESSORS` | | `Verbose` | Do not pass `-Verbose` to commands unless explicitly silenced with `-Verbose:$false` | | `OutNull` | Use `$null = ...` instead of `\| Out-Null` | -| `NoTernary` | No ternary operators — maintain PowerShell 5.1 compatibility | +| `NoTernary` | No ternary operators — use explicit conditional statements for readability | | `LowercaseKeywords` | All PowerShell keywords must be lowercase | | `FunctionCount` | Each file must contain exactly one function or filter | | `FunctionName` | Filename must match the function or filter name | From d2dc1afe432c8b0f5e68b5cf84ff990b3b3f43a9 Mon Sep 17 00:00:00 2001 From: Marius Storhaug Date: Sun, 26 Jul 2026 00:39:53 +0200 Subject: [PATCH 2/2] Remove ternary restriction from module standard Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- src/docs/Modules/Standards.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/docs/Modules/Standards.md b/src/docs/Modules/Standards.md index 75d4136..43a0382 100644 --- a/src/docs/Modules/Standards.md +++ b/src/docs/Modules/Standards.md @@ -316,7 +316,6 @@ The CI pipeline automatically tests every source file against the following rule | `NumberOfProcessors` | Use `[System.Environment]::ProcessorCount`, not `$env:NUMBER_OF_PROCESSORS` | | `Verbose` | Do not pass `-Verbose` to commands unless explicitly silenced with `-Verbose:$false` | | `OutNull` | Use `$null = ...` instead of `\| Out-Null` | -| `NoTernary` | No ternary operators — use explicit conditional statements for readability | | `LowercaseKeywords` | All PowerShell keywords must be lowercase | | `FunctionCount` | Each file must contain exactly one function or filter | | `FunctionName` | Filename must match the function or filter name |