chore(release): 0.5.0 - #200
Conversation
There was a problem hiding this comment.
Pull request overview
Prepares the PSDepend module for the 0.5.0 release by bumping the module manifest version and publishing the corresponding changelog entry, aligning the repository metadata with the features/fixes delivered in the referenced PRs/issues.
Changes:
- Bumped
PSDependmodule manifestModuleVersionfrom0.4.1to0.5.0. - Added the
0.5.0section toCHANGELOG.mdwith summarized Added/Fixed items and issue/PR references.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| PSDepend/PSDepend.psd1 | Updates ModuleVersion to 0.5.0 for the release. |
| CHANGELOG.md | Adds the 0.5.0 release notes dated 2026-08-16, including issue/PR references. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Test Results 3 files 78 suites 1m 14s ⏱️ Results for commit 07b1626. ♻️ This comment has been updated with latest results. |
|
Pester 6.1.0 is now pre-installed so we need to update our requirements to make the tests pass. |
Pester 6.1.0 removed the v5 behavior where calls to a mocked command that don't match any -ParameterFilter silently fall through to the real command. Several Test-Path/Get-Command/Import-LocalizedData mocks in PSModuleGallery.Type.Tests.ps1 only had narrow filters with no default, so production code paths hitting those commands with other arguments (dependency-script resolution, path-container checks, manifest loading) started throwing 'No mock for command matched the call' instead of running for real. Add default (unfiltered) mocks that forward to the real module-qualified cmdlet, reproducing the old v5 fallback semantics. Two exact-count assertions gained -ParameterFilter since the new default mocks now legitimately track calls that previously fell through untracked.
[0.5.0] - 2026-08-16
Added
Versionfield using NuGet range syntax (e.g.'[2.2.3,3.0)','[2.0,)','(,3.0)') for thePSGalleryModule,PSResourceGet, andPSGalleryNugetdependency types. A bare version(e.g.
'3.2.1') still means that exact version; a range installs thehighest available version that satisfies it (Support version comparison operators #65, Support Minimum and Maximum Version for the Gallery #91, feat: support NuGet version ranges for gallery dependency types #199).
FileDownloadis now supported on all platforms (windows,core,macos,linux); there was no Windows-only code blocking this(Any reason FileDownload is windows only? #98, fix: FileDownload cross-platform support and target-path handling #193).
FileDownloadrelativeTargetpaths are now rooted against$PWDbefore resolution, matching the intuitive expectation of callers
(FileDownload Dependency Target Path #49, fix: FileDownload cross-platform support and target-path handling #193).
Fixed
Get-Dependency -InputObjectno longer mutates the caller's hashtable:PSDependOptionsis now preserved after the call, so a second invocationwith the same object still honors global options such as
Target(Object passed to InputObject parameter is modified by module #35, fix: InputObject hashtable no longer mutated by Get-Dependency (#35) #192).
FileDownloadno longer misidentifies a directory-likeTarget(nofile extension, or trailing slash) as a full file path when its parent
happens to exist; the handler now uses a file-extension heuristic to
distinguish file targets from container targets and creates the directory
when it does not yet exist (FileDownload Dependency Target Path #49, fix: FileDownload cross-platform support and target-path handling #193).
Githandler no longer silently ignores a pre-existing directory atthe clone target that is not a valid git repository; it now emits a
Write-Warningso the user knows why the install was skipped(Running PSDepend multiple times results in subfolders created instead #86, fix: warn when Git target exists but is not a valid git repository (#86) #194).