Skip to content

PowerStub v2.0.1

Choose a tag to compare

@devpossible-richard devpossible-richard released this 04 Oct 21:04
· 14 commits to main since this release

PowerStub 2.0.1

Fixes and upgrade guidance

  • Relative registration paths are saved as absolute filesystem paths; literal bracket characters work in tool and configuration paths. Existing registrations are retained. If an older registration contains a relative path, re-register it from the intended directory with New-PowerStub -Name <name> -Path <path> -Force.
  • Stub names help, search, and update are rejected because they are built-in commands. Register affected tools under another name. Existing configuration is not silently renamed.
  • A free, configured invocation alias is exported by normal manifest imports. Direct aliases still cannot replace existing commands, including when -Force is supplied (the 2.0 safety change).
  • Invalid top-level configuration data is preserved in a corrupt-file backup and ignored. A failed Git fetch is reported instead of claiming that a repository is current.
  • Installation, configuration, Git-check, and contribution instructions now match the exported API. PowerShell 7.0+ is required. GitHub ZIP downloads are source archives with a nested module folder; the Gallery package is separately version-stamped.
  • Gallery staging now includes the Apache license text and README, verifies the installed manifest in a fresh process, and waits for successful GitHub mirroring. GitLab test reports use JUnit XML. Duplicate-release responses are verified by exact tag rather than treating every HTTP 422 as success.

Native argument limitations

The 15 shared native argument mismatches and two additional Linux quoted-glob mismatches remain explicit known issues. Both pstb and direct aliases have the same function-boundary limitations. Quote '--', colon-form flags, and comma-containing values where appropriate. For exact native parsing, including quoted globs and caller-local native argument-passing preferences, invoke the resolved path directly:

& (Get-PowerStubCommand -Stub Tools -Command tool).Path <native arguments>

The matrix now also compares direct aliases and tests this resolved-path workaround against all 17 audited inputs. This release does not claim universal native transparency. See the README's Argument behavior section for details.

Validation scope

The active release pipeline runs Linux. It gates the passing matrix cases, installed-package smoke checks, documentation examples, and offline release-response cases. A Windows runner is not enabled by this change; Windows validation and the PowerShell 7.0 minimum still need separate execution. No new GitHub status integration or release ZIP asset is implied.

Whats Changed

  • fix: honor literal paths and installed configuration contracts
  • test: compare direct aliases across the native parsing matrix
  • fix(git): distinguish unavailable status and failed updates
  • fix(release): verify staged packages and constrain publication gates
  • fix(commands): resolve literal files without wildcard lookalikes
  • fix(help): share exact file patterns with command discovery
  • test: isolate alias discovery and accept Windows line endings

Full Changelog: v2.0.0...v2.0.1