Releases: PSModule/Process-PSModule
v5.4.1
🩹 [Patch]: Update Document-PSModule action to v1.0.14 (#267)
Updates the PSModule/Document-PSModule action to version 1.0.14, which includes compatibility fixes for Node.js 24 runtime and incorporates the latest dependency updates. This ensures the documentation generation step runs on the latest supported runtime.
Updated Action
| Action | Old Version | New Version |
|---|---|---|
PSModule/Document-PSModule |
v1.0.12 | v1.0.14 |
Notable Changes
Node.js 24 Compatibility
- The updated action uses
actions/upload-artifact@v6.0.0internally, which requires Node.js 24
No Breaking Changes
This is a routine patch update with no user-facing changes required.
v5.4.0
🚀 [Feature]: Add PR Title and Description as Configurable Release Notes (#264)
Your pull request title and description are now automatically used as release notes when publishing modules. By default, merging a PR creates a GitHub release with your PR title as a heading and your PR description as the release notes content. Additionally, when a PR is closed without merging, the workflow now automatically cleans up any prerelease versions and tags, preventing orphaned prereleases in the PowerShell Gallery.
PR-based release notes are now the default
Release notes are now automatically generated from your pull request content. When you merge a PR, the workflow creates a GitHub release with:
- Your PR title as an H1 heading with a link to the PR (e.g.,
# Add retry logic (#123)) - Your PR description as the release notes body
No configuration needed—just write meaningful PR descriptions and they become your release notes.
Customizing release notes behavior
Three settings in PSModule.yml control this behavior:
| Setting | Default | Description |
|---|---|---|
Publish.Module.UsePRTitleAsReleaseName |
false |
Use the PR title as the GitHub release name instead of version string |
Publish.Module.UsePRBodyAsReleaseNotes |
true |
Use the PR description as the release notes content |
Publish.Module.UsePRTitleAsNotesHeading |
true |
Prepend PR title as H1 heading with PR number link in release notes |
To disable PR-based release notes and use GitHub's auto-generated notes instead:
Publish:
Module:
UsePRBodyAsReleaseNotes: false
UsePRTitleAsNotesHeading: falseAbandoned PR cleanup
When a PR is closed without merging (abandoned), the workflow now:
- Skips all test and build jobs entirely
- Proceeds directly to cleanup
- Removes any prerelease versions and tags created for that PR
This saves CI resources and ensures abandoned work doesn't leave orphaned prereleases. Controlled by Publish.Module.AutoCleanup (enabled by default).
Action version pinning
All GitHub Actions references now use commit SHAs with version comments for improved security and reproducibility:
actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5PSModule/GitHub-Script@2010983167dc7a41bcd84cb88e698ec18eccb7ca # v1.7.8PSModule/Publish-PSModule@e1b338d1266dee28c6d6218756979597c8a77b7a # v2.2.0PSModule/Get-PSModuleSettings@28c1805d689dc5bfcfba7489e76c34a6d33d7da8 # v1.4.0
v5.3.20
v5.3.19
🩹 [Patch]: Update Get-PSModuleSettings action to version 1.0.3 (#261)
This pull request updates the Get-PSModuleSettings GitHub Action to a newer version in the workflow configuration file. This ensures the workflow uses the latest improvements and bug fixes from the action's upstream repository.
- Fixes #260
Workflow update:
- Updated the
Get-PSModuleSettingsaction in.github/workflows/Get-Settings.ymlfrom versionv1.0.2tov1.0.3to incorporate the latest changes and fixes.
v5.3.18
v5.3.17
Bump super-linter/super-linter from 8.3.1 to 8.3.2 (#253)
Bumps super-linter/super-linter from 8.3.1 to 8.3.2.
Release notes
Sourced from super-linter/super-linter's releases.
v8.3.2
8.3.2 (2025-12-24)
🐛 Bugfixes
- centralize file array additions and fix type (#7323) (ce80cf6), closes #7302
- create log groups for enabled languages only (#7329) (7c85bf3), closes #7307
- initialize github_before_sha (#7120) (a93b722), closes #7118 #7275
⬆️ Dependency updates
- bundler: bump rubocop in /dependencies in the rubocop group (#7313) (7fab96c)
- docker: bump clj-kondo/clj-kondo in the docker group (#7325) (fa23c54)
- docker: bump the docker group with 4 updates (#7318) (dc49a6d)
- java: bump com.puppycrawl.tools:checkstyle (#7312) (ab58437)
- npm: bump next from 16.0.10 to 16.1.0 in /dependencies (#7316) (a8572e2)
- npm: bump renovate (#7300) (191338a)
- npm: bump the npm group across 1 directory with 10 updates (#7322) (24d9e00)
- npm: bump the npm group across 1 directory with 2 updates (#7296) (0697485)
- npm: bump the npm group across 1 directory with 2 updates (#7301) (4b2bf76)
- npm: bump the npm group across 1 directory with 4 updates (#7327) (07e73d6)
- python: bump ansible-lint (#7326) (47962ea)
- python: bump snakemake (#7295) (3f92589)
- python: bump the pip group across 1 directory with 2 updates (#7299) (0ca0315)
- python: bump the pip group across 1 directory with 6 updates (#7317) (ae7e8d8)
🧰 Maintenance
Changelog
Sourced from super-linter/super-linter's changelog.
Changelog
8.3.2 (2025-12-24)
🐛 Bugfixes
- centralize file array additions and fix type (#7323) (ce80cf6), closes #7302
- create log groups for enabled languages only (#7329) (7c85bf3), closes #7307
- initialize github_before_sha (#7120) (a93b722), closes #7118 #7275
⬆️ Dependency updates
- bundler: bump rubocop in /dependencies in the rubocop group (#7313) (7fab96c)
- docker: bump clj-kondo/clj-kondo in the docker group (#7325) (fa23c54)
- docker: bump the docker group with 4 updates (#7318) (dc49a6d)
- java: bump com.puppycrawl.tools:checkstyle (#7312) (ab58437)
- npm: bump next from 16.0.10 to 16.1.0 in /dependencies (#7316) (a8572e2)
- npm: bump renovate (#7300) (191338a)
- npm:
v5.3.16
🩹 [Patch]: Bump Get-PSModuleSettings action to version 1.0.1 (#257)
Fixed
- Bumped
PSModule/Get-PSModuleSettingsto v1.0.1. - Super-linter summary now reads
super-linteroutcome via an environment variable to avoid expression parsing quirks. - Workflow tests now pass explicit secrets instead of using
secrets: inherit.
Changed
- Dependabot update cadence is now daily with a 7-day cooldown.
- Auto-Release now runs on
pull_requestand checks out withpersist-credentials: false. - Removed unused linter env toggles for Biome lint and enabled Zizmor for GitHub Actions.
v5.3.15
🩹 [Patch]: Make secrets available in BeforeAll and AfterAll jobs (#254)
This patch release makes test secrets available in the BeforeAll-ModuleLocal and AfterAll-ModuleLocal workflow jobs, enabling proper test setup and teardown operations that require authentication credentials.
Changes
- Updated workflow files to pass test secrets through reusable workflow calls:
- .github/workflows/BeforeAll-ModuleLocal.yml - Added secrets input and environment variable mapping
- .github/workflows/AfterAll-ModuleLocal.yml - Added secrets input and environment variable mapping
- .github/workflows/workflow.yml - Configured secret passing to BeforeAll and AfterAll jobs
v5.3.14
🩹 [Patch]: Establish Settings as integration channel (#233)
This release refactors the internal GitHub Actions workflow architecture to improve maintainability and consistency. No user-facing changes or breaking changes are included.
What Changed
All major workflows (Build-Docs.yml, Build-Module.yml, Build-Site.yml, Get-CodeCoverage.yml) have been refactored to use a unified configuration approach:
- Unified Configuration: Workflows now accept a single
SettingsJSON object instead of multiple individual parameters, reducing complexity and potential configuration errors - Streamlined Access Patterns: All workflow steps and environment variables now extract values from the centralized
Settingsobject usingfromJson - Code Maintenance: Removed redundant output definitions from the
Get-Settings.ymlworkflow - Consistency: Standardized configuration access patterns across all workflows
Technical Details
This is a purely internal refactoring focused on improving the workflow infrastructure. The changes make future workflow modifications easier to implement and maintain while ensuring consistency across the entire automation pipeline.
v5.3.13
Add documentation for skipping individual PSModule framework tests (#252)
The Test-PSModule framework runs style and standards tests against source code (e.g., enforcing one function per file, requiring CmdletBinding attributes). Users needed guidance on skipping specific tests per-file when framework rules don't apply.
Changes
- New documentation section "Skipping Individual Framework Tests" added to README
- Syntax:
#SkipTest:<TestID>:<Reason>comment at file top - Complete reference table of 10 SourceCode test IDs with descriptions
- Module test overview (import/manifest validation)
- Code example demonstrating skip usage
- Best practices and configuration cross-references
- Syntax:
Available Test IDs
| Test ID | What It Enforces |
|---|---|
NumberOfProcessors |
Use [System.Environment]::ProcessorCount not $env:NUMBER_OF_PROCESSORS |
Verbose |
Don't pass -Verbose to commands (overrides user preference) |
OutNull |
Use $null = ... not | Out-Null |
FunctionCount |
One function per file |
FunctionName |
Filename matches function name |
CmdletBinding |
All functions have [CmdletBinding()] |
ParamBlock |
All functions have param() block |
FunctionTest |
Public functions have tests |
Example
#SkipTest:FunctionCount:Contains helper functions for main function
function Get-ComplexData {
[CmdletBinding()]
param([string]$Path)
$data = Get-RawData -Path $Path
return Format-ComplexData -Data $data
}
function Get-RawData { ... }
function Format-ComplexData { ... }Based on analysis of Test-PSModule framework tests.
Original prompt
This section details on the original issue you should resolve
<issue_title>🩹 [Patch]: Add doc for how to skip framework (PSModule) tests</issue_title>
<issue_description>### Describe the changeBased on the code in PSModule/Test-PSModule, we need to recreate guidance in the readme on Process-PSModule for how users can skip individual tests from the framework, i.e. number of functions to have in a file.</issue_description>
Comments on the Issue (you are @copilot in this section)
- Fixes #251
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.