Releases: PowerShellOrg/PSDepend
Releases · PowerShellOrg/PSDepend
Release 0.4.0-alpha
Added
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, and
Invoke-PSDepend, including credentialed NuGet feed search and a
warning when credential configuration looks wrong. - Core, macOS, and Linux platform tags on
Nugetin
PSDependMap.psd1, enabling cross-platform use. - SemVer / prerelease handling for module versions, with a PowerShell
version guard so PSDepend'sSemanticVersiondoes not collide with
the nativeSystem.Management.Automation.SemanticVersionclass in
PS 6+; falls back toSystem.Versionwhen a version string is not
SemVer-compatible. AcceptLicenseparameter onPSRepositoryModuleand matching
AcceptLicense+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.
Changed
- 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 from
Output\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
mastertomainacross
README, 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 the
owner/reposlug (#121).Githubversion matching now accepts avX.Y.Ztag when the
dependency requestsX.Y.Z, so dependencies written without the
vprefix resolve against the common GitHub release-tag convention
(#123).PSGalleryModulemay now be invoked without an explicit
Repository, in which case PSDepend defers to whatever repositories
are currently registered viaGet-PSRepositoryrather than forcing
the PowerShell Gallery.
Fixed
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 in
PSGalleryModuleandPackagescripts 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 malformed
requirements.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).
Docs
- 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 andInvoke-PSDependhelp.