Skip to content

Promote to stable 2.1.0 - #9

Merged
christaylorcodes merged 6 commits into
mainfrom
develop
Jun 18, 2026
Merged

Promote to stable 2.1.0#9
christaylorcodes merged 6 commits into
mainfrom
develop

Conversation

@christaylorcodes

Copy link
Copy Markdown
Owner

Promote to stable 2.1.0

Promotes develop to main, publishing the stable 2.1.0 release to the PowerShell Gallery.

⚠️ Merging this PR publishes a stable public release. Hold until prerelease testing of 2.1.0-alpha0005 is complete.

What ships in 2.1.0

Added

  • WMI dependency service enforcementConfirm-CWAADependencyService ensures winmgmt (WMI) is set to Automatic startup and Running before install, repair, and service-start operations. WMI underpins agent inventory, scripting, and check-in, and the module's own Get-CimInstance calls fail silently when it's disabled. Configurable via $Script:CWAADependencyServiceNames; respects -WhatIf; writes events 2030–2039.

Internal (not user-facing)

  • Fixed three pre-existing fragile tests that invoked real native commands without controlling their results (inert netstat mock ×3 via a new Get-CWAANetstat seam; schtasks $LASTEXITCODE leak). Surfaced on a machine running the real agent / on CI.
  • Reconciled CHANGELOG history (relabeled the mislabeled [1.0.0][2.0.0]).
  • Versioning config now requires an explicit +semver: prefix for major/minor bumps.

Release mechanics

  • On merge, GitVersion resolves the stable version to 2.1.0 (drops the prerelease tag on main).
  • The stable release job extracts notes from the ## [2.1.0] CHANGELOG section (added in Finalize CHANGELOG for 2.1.0 release #8) and creates the GitHub Release + Gallery publish.
  • Verified green on develop: Build, Smoke Test, PR Checks. Prerelease 2.1.0-alpha0005 is live for testing.

After merge

  • Confirm 2.1.0 (stable) on the Gallery: Find-Module ConnectWiseAutomateAgent
  • A v2.1.0 tag and GitHub Release are created automatically.

🤖 Generated with Claude Code

christaylorcodes and others added 6 commits February 3, 2026 22:19
Previous loose patterns matched common words like "major", "fix", and
"feature" anywhere in commit messages, causing unintended version bumps.
Now only explicit "+semver: major/minor/patch" triggers a bump.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Introduce Confirm-CWAADependencyService to ensure winmgmt (WMI) is set to
Automatic startup and Running before install, repair, and service start.
WMI underpins agent inventory, scripting, and check-in; when disabled,
Get-CimInstance calls silently no-op. Wired into Install/Repair/Start,
configurable via $Script:CWAADependencyServiceNames, respects -WhatIf.
Reserves event IDs 2030-2039. Includes coverage across
PrivateHelpers/Installation/ServiceOps/CrossCutting.

Also fix Test-CWAAPort port-availability tests that mocked Invoke-Expression
and a bare netstat function while the code called netstat.exe by full path,
making the mocks inert. The tests passed only on machines with nothing on
the tray port; on a box running the real agent (port 42000 in use) they
returned false. Extract the external call into Get-CWAANetstat as a mockable
seam and update the three affected tests to mock it.

Reconcile CHANGELOG: the released 2.0.0 was mislabeled [1.0.0]; rename it
and add the WMI feature under [Unreleased].

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The CrossCutting pipeline test mocked schtasks with a bare 'return $null',
which does not set $LASTEXITCODE. Register-CWAAHealthCheckTask checks
$LASTEXITCODE after the native /CREATE call, so the test inherited whatever
exit code a prior native command left behind. It passed locally and on lucky
CI runs but failed when the ambient code was non-zero (CI saw 1060). Use the
same conditional mock pattern already established in the Installation tests,
setting $global:LASTEXITCODE = 0 on the /CREATE branch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add WMI dependency service enforcement to agent lifecycle
Move the WMI dependency service enforcement entry from [Unreleased] into a
dated [2.1.0] section so the stable release job can extract proper GitHub
Release notes (it matches on "## [<version>]"). Leaves an empty [Unreleased]
for the next cycle.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@christaylorcodes
christaylorcodes merged commit 0d9a823 into main Jun 18, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant