Evotec

Project

PSPublishModule

PSPublishModule is an open-source PowerShell and .NET project with packages, release history, and technical documentation.

Stars 43
Forks 13
Open issues 1
PowerShell Gallery downloads 13,876
Release v3.0.3
Language: C# Updated: 2026-04-14

API Reference

Cmdlet

New-ConfigurationCompatibility

Namespace PSPublishModule
Inputs
None
Outputs
System.Object

Creates configuration for PowerShell compatibility checking during module build.

Remarks

Adds a compatibility validation step to the build pipeline. This can be used to enforce that the module source is compatible with Windows PowerShell 5.1 and/or PowerShell 7+.

Examples

Authored help example

Require cross-version compatibility and fail the build on issues

PS>


New-ConfigurationCompatibility -Enable -RequireCrossCompatibility -FailOnIncompatibility -MinimumCompatibilityPercentage 95 -ExportReport
        

Enables validation and exports a CSV report when issues are detected.

Require PowerShell 7 compatibility only

PS>


New-ConfigurationCompatibility -Enable -RequirePS7Compatibility -FailOnIncompatibility -ExportReport
        

Common Parameters

This command supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable.

For more information, see about_CommonParameters.

Syntax

New-ConfigurationCompatibility [-Enable] [-ExcludeDirectories <String[]>] [-ExportReport] [-FailOnIncompatibility] [-MinimumCompatibilityPercentage <Int32>] [-ReportFileName <String>] [-RequireCrossCompatibility] [-RequirePS51Compatibility] [-RequirePS7Compatibility] [-Severity <Nullable`1>] [<CommonParameters>]
#
Parameter set: All Parameter Sets

Parameters

Enable SwitchParameter optionalposition: namedpipeline: False
Enable PowerShell compatibility checking during build.
ExcludeDirectories String[] optionalposition: namedpipeline: False
Directory names to exclude from compatibility analysis.
ExportReport SwitchParameter optionalposition: namedpipeline: False
Export detailed compatibility report to the artifacts directory.
FailOnIncompatibility SwitchParameter optionalposition: namedpipeline: False
Fail the build if compatibility issues are found.
MinimumCompatibilityPercentage Int32 optionalposition: namedpipeline: False
Minimum percentage of files that must be cross-compatible. Default is 95.
ReportFileName String optionalposition: namedpipeline: False
Custom filename for the compatibility report.
RequireCrossCompatibility SwitchParameter optionalposition: namedpipeline: False
Require cross-version compatibility (both PS 5.1 and PS 7).
RequirePS51Compatibility SwitchParameter optionalposition: namedpipeline: False
Require PowerShell 5.1 compatibility.
RequirePS7Compatibility SwitchParameter optionalposition: namedpipeline: False
Require PowerShell 7 compatibility.
Severity Nullable`1 optionalposition: namedpipeline: False
Severity for compatibility issues (overrides FailOnIncompatibility when specified).

Outputs

System.Object