Skip to content

Releases: PSModule/Process-PSModule

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

v5.3.16

17 Jan 13:35
1ca649a

Choose a tag to compare

🩹 [Patch]: Bump Get-PSModuleSettings action to version 1.0.1 (#257)

Fixed

  • Bumped PSModule/Get-PSModuleSettings to v1.0.1.
  • Super-linter summary now reads super-linter outcome 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_request and checks out with persist-credentials: false.
  • Removed unused linter env toggles for Biome lint and enabled Zizmor for GitHub Actions.

v5.3.15

12 Jan 22:57
9bf1a23

Choose a tag to compare

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

v5.3.14

11 Jan 19:59
bf70b29

Choose a tag to compare

🩹 [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 Settings JSON 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 Settings object using fromJson
  • Code Maintenance: Removed redundant output definitions from the Get-Settings.yml workflow
  • 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.