Skip to content

Releases: PSModule/Process-PSModule

v5.4.5

27 Mar 22:33
4343d76

Choose a tag to compare

🩹 [Patch]: Setup/teardown jobs no longer waste runner time when scripts are absent (#300)

The BeforeAll-ModuleLocal and AfterAll-ModuleLocal workflow jobs no longer allocate runners when the corresponding tests/BeforeAll.ps1 or tests/AfterAll.ps1 scripts do not exist in the repository. Repositories without setup/teardown scripts now skip these jobs entirely, saving runner time on every workflow run.

Changed: Runner allocation for setup/teardown jobs

With the Get-PSModuleSettings v1.4.4 update, repositories without tests/BeforeAll.ps1 or tests/AfterAll.ps1 no longer allocate runners for the BeforeAll-ModuleLocal and AfterAll-ModuleLocal jobs. These jobs are now skipped entirely at the settings evaluation stage, before any runner is provisioned.

Previously, both jobs always spun up a runner — even when there was nothing to execute. The runner would check out the repo, invoke the GitHub-Script action, find no script, and exit gracefully. This wasted runner time on every workflow run for the majority of repositories.

Additionally, AfterAllModuleLocal was previously set to $true unconditionally. It now uses the same base conditions as BeforeAllModuleLocal combined with the script existence check. The workflow-level always() condition remains as an additional safeguard for cleanup-after-failure scenarios.

Technical Details

  • Bumps PSModule/Get-PSModuleSettings from v1.4.3 (3d53e12) to v1.4.4 (21c88f4) in Get-Settings.yml.
  • The action change (PSModule/Get-PSModuleSettings#18) adds Test-Path checks for the setup/teardown scripts and sets the Run.BeforeAllModuleLocal / Run.AfterAllModuleLocal flags accordingly, which the existing workflow if: conditions already respect.
  • No structural changes to any reusable workflow files — only a SHA pin update.

v5.4.4

27 Mar 20:37
645cb19

Choose a tag to compare

🩹 [Patch]: Workflow dependencies updated to latest versions (#298)

Reusable workflows now reference the latest versions of all action dependencies, picking up upstream bug fixes and improvements.

Changed: Dependency versions in workflows

The following dependencies have been bumped across all workflow files:

Dependency Previous New
actions/download-artifact v7.0.0 v8.0.0
actions/upload-artifact v6.0.0 v7.0.0
PSModule/Build-PSModule v4.0.12 v4.0.13
PSModule/Invoke-Pester v4.2.3 v4.2.4
PSModule/Publish-PSModule v2.2.2 v2.2.3

Affected workflows:

  • Build-Docs.yml
  • Build-Module.yml
  • Build-Site.yml
  • Publish-Module.yml
  • Test-Module.yml
  • Test-ModuleLocal.yml

Technical Details

All references use pinned commit SHAs with version comments. No workflow logic or input/output changes — only the pinned SHAs and version comments were updated.

v5.4.3

18 Feb 00:46
60bdf8a

Choose a tag to compare

Bump super-linter/super-linter from 8.3.2 to 8.5.0 (#284)

Bumps super-linter/super-linter from 8.3.2 to 8.5.0.

Release notes

Sourced from super-linter/super-linter's releases.

v8.5.0

8.5.0 (2026-02-06)

🚀 Features

  • update codespell skip patterns for go modules (#7465) (ff76a00)

🐛 Bugfixes

⬆️ Dependency updates

  • bundler: bump rubocop in /dependencies in the rubocop group (#7480) (c0b4a56)
  • docker: bump the docker group across 1 directory with 3 updates (#7474) (b8cb189)
  • docker: bump the docker group across 1 directory with 3 updates (#7490) (147e829)
  • docker: bump the docker group with 2 updates (#7463) (adc2836)
  • docker: bump the docker group with 3 updates (#7455) (a1b44ab)
  • java: bump com.google.googlejavaformat:google-java-format (#7489) (8758d94)
  • java: bump com.puppycrawl.tools:checkstyle (#7475) (929cd66)
  • java: bump com.puppycrawl.tools:checkstyle (#7498) (c285101)
  • npm: bump @​isaacs/brace-expansion in /dependencies (#7482) (c15b8ac)
  • npm: bump @​modelcontextprotocol/sdk in /dependencies (#7488) (675cbf6)
  • npm: bump fast-xml-parser and @​aws-sdk/xml-builder (#7491) (7012368)
  • npm: bump the npm group across 1 directory with 2 updates (#7457) (962a22b)
  • npm: bump the npm group across 1 directory with 2 updates (#7501) (ae44688)
  • npm: bump the npm group across 1 directory with 5 updates (#7487) (9be025d)
  • npm: bump the npm group across 1 directory with 6 updates (#7477) (b44fb3f)
  • python: bump ruff (#7486) (7e9df59)
  • python: bump snakemake (#7456) (5989994)
  • python: bump the pip group across 1 directory with 2 updates (#7476) (6b3b830)
  • python: bump the pip group across 1 directory with 2 updates (#7500) (4452db3)

🧰 Maintenance

v8.4.0

8.4.0 (2026-01-28)

🚀 Features

... (truncated)

Changelog

Sourced from super-linter/super-linter's changelog.

Changelog

8.5.0 (2026-02-06)

🚀 Features

  • update codespell skip patterns for go modules (#7465) (ff76a00)

🐛 Bugfixes

⬆️ Dependency updates

  • bundler: bump rubocop in /dependencies in the rubocop group (
Read more

v5.4.2

28 Jan 16:54
a152498

Choose a tag to compare

🩹 [Patch]: Update workflow action versions and rename release action (#275)

This release updates all workflow action dependencies to their latest versions and completes the migration from Auto-Release to Release-GHRepository.

Summary

  • Updated workflow action dependencies to latest versions for improved stability and features
  • Migrated release action from deprecated PSModule/Auto-Release to PSModule/Release-GHRepository
  • Added workflow permission for PR label management
  • Cleaned up deprecated configuration files
  • Important file change detection now determines whether a release should be created

What's Changed for Module Developers

Updated Workflow Dependencies

All reusable workflow files have been updated to use the latest action versions. This ensures your module CI/CD pipeline benefits from recent bug fixes and improvements across the PSModule action ecosystem.

Action Previous New
actions/checkout v6.0.1 v6.0.2
PSModule/GitHub-Script v1.7.8 v1.7.10
PSModule/Build-PSModule v4.0.9 v4.0.12
PSModule/Document-PSModule v1.0.14 v1.0.16
PSModule/Get-PSModuleSettings v1.4.0 v1.4.3
PSModule/Get-PesterCodeCoverage v1.0.3 v1.0.4
PSModule/Get-PesterTestResults v1.0.7 v1.0.8
PSModule/Install-PSModuleHelpers v1.0.6 v1.0.7
PSModule/Invoke-ScriptAnalyzer v4.1.1 v4.1.2
PSModule/Invoke-Pester v4.2.2 v4.2.3
PSModule/Publish-PSModule v2.2.0 v2.2.2
PSModule/Test-PSModule v3.0.7 v3.0.8

Release Action Migration

The deprecated PSModule/Auto-Release action has been replaced with PSModule/Release-GHRepository@v2.0.2. This is a direct replacement that provides the same release functionality with improved maintainability.

No action required by module developers - the reusable workflow handles this internally.

Important File Change Detection

The Get-PSModuleSettings action now automatically detects whether a PR contains changes to "important" files that warrant a new release. This addresses the long-standing request (#85) to only publish when meaningful changes occur.

Files that trigger releases:

Path Description
src/** Module source code
README.md Module documentation

Files that do NOT trigger releases:

  • .github/workflows/* (workflow configurations)
  • .github/linters/* (linter configs)
  • tests/** (test files)
  • examples/** (example scripts)
  • .gitignore, .editorconfig, etc.

When no important files are changed:

  • A comment is automatically added to the PR explaining why
  • ReleaseType is set to None
  • Build, test, and publish stages are skipped
  • The PR can still be merged for non-release changes

Label-Based Release Control

Module developers can also explicitly control releases via labels:

Change Type Label Release Behavior
Breaking changes Major Creates major version release
New features Minor Creates minor version release
Bug fixes Patch Creates patch version release
Documentation only NoRelease No release created
CI/CD maintenance NoRelease No release created

Workflow Permissions Update

The Get-Settings workflow now requests pull-requests: write permission. This enables:

  • Automatic label management on PRs
  • Adding comments when no important files changed

No action required by module developers - repos using this workflow already grant the necessary permissions via the main workflow file.

Configuration Cleanup

Removed unused configuration files from the repository:

  • .github/linters/.jscpd.json - JSCPD linter config (not used in current linting setup)
  • .github/release.yml - GitHub auto-generated release notes config (release notes are now fully managed by the Release-GHRepository action)

Upgrade Impact

Impact Description
Breaking Changes None - all changes are backward compatible
Required Actions None - updates are automatically applied when using the reusable workflow
Behavior Change PRs without important file changes will no longer trigger releases

Related

  • Part of ongoing workflow modernization efforts
  • Foundation for future smart release detection enhancements (tracked in #184)

v5.4.1

22 Jan 13:00
be7d5dc

Choose a tag to compare

🩹 [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.0 internally, which requires Node.js 24

No Breaking Changes

This is a routine patch update with no user-facing changes required.

v5.4.0

20 Jan 00:34
7c92b2f

Choose a tag to compare

🚀 [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: false

Abandoned PR cleanup

When a PR is closed without merging (abandoned), the workflow now:

  1. Skips all test and build jobs entirely
  2. Proceeds directly to cleanup
  3. 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.0
  • actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
  • PSModule/GitHub-Script@2010983167dc7a41bcd84cb88e698ec18eccb7ca # v1.7.8
  • PSModule/Publish-PSModule@e1b338d1266dee28c6d6218756979597c8a77b7a # v2.2.0
  • PSModule/Get-PSModuleSettings@28c1805d689dc5bfcfba7489e76c34a6d33d7da8 # v1.4.0

v5.3.20

17 Jan 17:52
3d14498

Choose a tag to compare

🪲[Fix]: Fix permissions to allow commenting on pull requests and make releases (#262)

This release fixes a bug to the GitHub Actions workflow permissions. The change grants write access to pull requests, which will allow the workflow to:

  • comment on PRs
  • manage releases

v5.3.19

17 Jan 17:21
6388a88

Choose a tag to compare

🩹 [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.

Workflow update:

  • Updated the Get-PSModuleSettings action in .github/workflows/Get-Settings.yml from version v1.0.2 to v1.0.3 to incorporate the latest changes and fixes.

v5.3.18

17 Jan 16:19
9b31a40

Choose a tag to compare

🩹[Patch]: Update Get-PSModuleSettings action to v1.0.2 (#258)

Corrects the way the workflow gets info about the pull request.

Patch

  • Update Get-PSModuleSettings action to v1.0.2.

v5.3.17

17 Jan 14:34
705af47

Choose a tag to compare

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

⬆️ 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

⬆️ 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:
Read more