All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
PSResourceGetdependency type providing first-class support for PowerShellGet v3 (Microsoft.PowerShell.PSResourceGet) alongside the existingPSGalleryModulehandler (#179).InstallLocalpsake task that stages files and installs the module toCurrentUserscope fromOutput\, useful for validating pre-release bits locally without publishing (#180).Chocolateydependency type with handler script and Pester coverage, enabling Chocolatey packages alongside PowerShell modules inrequirements.psd1.Nugetdependency type for arbitrary NuGet feeds (not just the PowerShell Gallery), including custom DLL name support and the ability to extract.exepayloads.- Credential support across
PSGalleryModule,PSGalleryNuget, andInvoke-PSDepend, including credentialed NuGet feed search and a warning when credential configuration looks wrong. - Core, macOS, and Linux platform tags on
NugetinPSDependMap.psd1, enabling cross-platform use. - SemVer / prerelease handling for module versions, with a PowerShell
version guard so PSDepend's
SemanticVersiondoes not collide with the nativeSystem.Management.Automation.SemanticVersionclass in PS 6+; falls back toSystem.Versionwhen a version string is not SemVer-compatible. AcceptLicenseparameter onPSRepositoryModuleand matchingAcceptLicense+AllowPrereleaseplumbing onPSGalleryModule, splatted only when explicitly specified to preserve compatibility with older PowerShellGet versions.- Stale workflow (
.github/workflows/stale.yml) for issues and PRs, with aworkflow_dispatchtrigger for on-demand sweeps. CONTEXT.mddocumenting the PSDepend domain lexicon (Dependency, DependencyType, Target, Scope,PSDependAction, etc.) for both human and AI contributors.
- Migrated the entire Pester test suite from v4 to v5 (#164), including new Pester v5 unit tests for individual dependency-type handler scripts and a reviewer checklist documenting the migration conventions (#166).
- Build system rewritten on top of
PowerShellBuildwith GitHub Actions replacing the prior AppVeyor pipeline (#163); CI workflow actions were updated to current major versions across the board (#168). - Test bootstrap now runs through
build.ps1(Bootstrap/StageFiles/Test) rather than ad-hoc setup, so tests always import fromOutput\and not the source tree (#171). SeeCLAUDE.mdfor the contract. FunctionsToExportinPSDepend.psd1is now an explicit list of the eight public commands instead of*, matching PowerShell module guidance and improving discoverability.- NuGet command-line bootstrap is now lazy: it runs only when a
NugetorPSGalleryNugetdependency is actually used, instead of on every module import (#175). - Default branch references updated from
mastertomainacrossREADME, examples, the manifest'sLicenseUri/ProjectUri/ReleaseNoteslinks, and build/CI scripts. - README and example dependency files updated to reflect the
PowerShellOrgownership of the project. Githubdependency type now allows overriding the imported name via the standardNamekey, instead of always deriving it from theowner/reposlug (#121).Githubversion matching now accepts avX.Y.Ztag when the dependency requestsX.Y.Z, so dependencies written without thevprefix resolve against the common GitHub release-tag convention (#123).PSGalleryModulemay now be invoked without an explicitRepository, in which case PSDepend defers to whatever repositories are currently registered viaGet-PSRepositoryrather than forcing the PowerShell Gallery.
Get-Dependencyoperator-precedence bug whenDependencyTypeis set insidePSDependOptions: parenthesization was incorrect, so the global default failed to apply to dependencies without an explicit type (#131, #173).Find-PSDependLocallynow consults all installed versions of a module before querying the remote when an explicit version is requested, rather than short-circuiting on the first non-matching local copy and re-downloading unnecessarily (#176).Import-PSDependModulenow sanitizes the version string before passing it toImport-Module, preventing failures when prerelease segments orvX.Y.Ztags appear in the resolved version (#140).Chocolateyinstall path now passes--yestochoco install(previously the script contained the typo--yess), so installs no longer hang waiting on confirmation, and the surrounding code was tidied for readability (#174).Githandler now uses the fullDependency.Targetpath when the target directory doesn't yet exist, fixing a regression where relative targets would resolve against the wrong working directory (#169).Githandler no longer depends on the.exeextension when invokinggit, so it works on macOS / Linux installations where the binary is justgit.Githubdownloads suppressInvoke-RestMethod's progress stream, yielding a measurable speed-up on large release-asset downloads (#122).PowerShellGetpackage handler now forwards-Scopecorrectly whenTarget=CurrentUser, instead of silently installing to the default scope (#167).- Version comparison logic for
'latest'upgrades inPSGalleryModuleandPackagescripts now compares[System.Version]values rather than strings, so10.0.0no longer sorts below9.0.0(#170). - Empty-string guard added alongside existing
$nullchecks in dependency-name handling, preventing silent skips when a malformedrequirements.psd1produces a zero-length name (#102). Test-Dependencyand friends now emit a clearer error message when*.depend.psd1is missing, instead of the previous opaque parse failure (#126).DotnetSdkinstall test now mocksInstall-Dotnetso the test suite no longer attempts a real SDK install on CI runners (#178).
- Added a note that
Save-Modulemay need to be rerun if a dependency'sTargetdirectory was removed between invocations (#177). - Credential help and a credential-misconfiguration warning added to
the relevant handler scripts and
Invoke-PSDependhelp.
DotnetSdkdependency type.
- TLS 1.2 is now added to existing security protocols rather than replacing them (#85).
- Parameterized help for
Get-PSDependType. - GitHub download performance improvements (#84).
AllowClobberplacement in thePSGalleryModulesplat (#83).- GitHub import path bug.
- PowerShell Core support (#79).
AllowClobberparameter onPSGalleryModule(#53).- Resolving of
PSDrives. - Error-handling parameters on dependency scripts.
- Local build-environment improvements (#78).
- Tests now use
TestDriveinstead ofTargetPath. psakebuild task allowspsd1version overrides.- Unmarked
Githubas experimental. - Honor arbitrary target path logic for
Githubtypes. - Removed
mkdirfrom the module.
- Path delimiter on Linux.
- Conditional logic for removing parameters from splats.
- Linux support (#72).
- Supported-platforms handling in
PSDependMap(windows,core,macos,linux). - Support for
.*requirements.psd1filenames and hidden dependency files. ImportNameto override the imported module name.- TLS 1.2 added to the security protocol list.
- Use capitalized
Noopto avoid case-sensitivity issues on Linux. - Improved verbosity, descriptions, and variable naming across scripts.
- Core-friendly
TargetPathhandling.
- Bug that missed hidden
*.depend.psd1files. - Alias resolution.
- GitHub dependency type rewrite: versioned folders, version targets, multiple-version support, "latest" GitHub version lookup, scope keyword support, examples.
SkipPublisherCheckfor PSGallery modules (#46, #64).
AddToPathnow applies on both install and subsequent imports (#60).- Performance: removed redundant
Get-PSRepositorycalls (#52); reduced calls to find the latest version of a module/package (#58).
- Ensure the correct version of a module is imported (#57).
- Doubled-folder bug, version bug, and import bug in the GitHub rewrite.
- Resolve
Targetcorrectly (#56).
Npmdependency type with unit tests.PreScriptsandPostScriptswith injected variables.- Module extraction in the
Gitdependency script. - Initial simple-syntax with namespaces (#41).
- Full-path resolution for
AddToPath, including when relative.
- Documentation typos.
PreScriptsandPostScriptsfeature bugs.
Githubdependency type with default target handling.Commanddependency type.Packagedependency type with examples and tests.FileSystemdependency type.- Hashtable input support for
Get-DependencyandInvoke-PSDepend. PSDependOptionsfor global defaults (including globalDependencyType, #15).Invoke-DependencyScriptand tests.$DependencyFolder,$PWD, and.substitutions inpsd1files.- Sanitized environment-variable substitution in dependency definitions.
- Per-dependency
Targetoverride. -Quietswitch onInvoke-PSDepend.- Extending-PSDepend documentation.
- Adjusted
-Forcebehavior on Module dependency types (#15). - Hardcoded
Repositoryremoved fromPSGalleryModule.ps1. - Changed NuGet download path in the curl/bash install.
- Dependency parsing /
DependencyTypeissue. - Missing dependency type detection.
- Comment-based help for
Invoke-PSDepend. - Link to
Install-PSDepend. AddToPathbehavior and example scenarios.- Module target doesn't exist +
-Force.
Test-Dependency,Import-Dependency, andInstall-Dependencyactions.Gitdependency type with branch/commit support.PSGalleryNugetdependency type.PSGalleryModulewithForce, import-on-install option, and NuGet package-provider bootstrap.FileDownloaddependency type.- Support for
requirements.psd1filename. - AppVeyor CI hookup and initial test suite.
about_PSDependhelp and notes about PSDeploy.
- Bug in
Gitaccount/repo regex. - Bug in
PSGalleryNuget. - Default Git dependency type discovery.
Invoke-PSDepend-Forceswitch bug.
- Initial scaffolding, adapted from PSDeploy.