Release SPSUpdate for version 3.2.1#16
Merged
Merged
Conversation
…ent database distribution, add distribution report and timestamped snapshots, update patch installation method, and fix edge case in database assignment; bump version to 3.2.1 and add corresponding tests.
Pester Test Results92 tests 92 ✅ 5s ⏱️ Results for commit 906b342. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request (PR) description
Release
3.2.1of SPSUpdate. A focused, additive maintenance release — nopublic surface changes, JSON contract preserved.
This Pull Request (PR) fixes the following issues
Highlights
Balanced ContentDatabase distribution (
Initialize-SPSContentDbJsonFile).Replaces the previous
floor(count / 4)splitter with a Longest ProcessingTime First (LPT) scheduler that distributes databases across the four
sequences by
DiskSizeRequired. Parallel upgrade workloads now finish closerto the same time. This also fixes a silent edge case where fewer than 4
databases caused
groupSizeto evaluate to0and dumped every databaseinto
SPContentDatabase4.Transcript distribution report. After building the inventory,
Initialize-SPSContentDbJsonFileprints a per-sequence summary(count, MB, %) so the balancing decision is auditable from the log:
Timestamped inventory snapshots. Each run now also writes
<basename>_yyyy-MM-dd_HH-mm-ss.jsonnext to the canonical inventory file,so previous inventories accumulate in
scripts/Config/for review orrollback. The canonical file (consumed by
SPSUpdate.ps1) is stilloverwritten in place — the JSON contract is unchanged. Snapshot
failures are logged via
Write-Verboseand never block the canonical write.Patch installer switched from
/quietto/passiveinStart-SPSProductUpdate. The patch still installs without userinteraction, but a progress UI is now displayed when the script is run
interactively. Exit-code handling and the post-install service-restoration
logic are unchanged.
Pester coverage added for
Initialize-SPSContentDbJsonFile(4 tests):Get-SPContentDatabasereturns$nullfloor(count / 4)edge case (3 DBs → 3 distinct sequences)SPContentDatabase1..4JSON property contract consumed bySPSUpdate.ps1Files changed
scripts/Modules/sps.util.psm1scripts/SPSUpdate.ps1/passivepatch install;$SPSUpdateVersion→3.2.1;.NOTESheader bumpedtests/Modules/sps.util.Tests.ps1Describe 'Initialize-SPSContentDbJsonFile'blocktests/SPSUpdate.Tests.ps13.2.1CHANGELOG.md,RELEASE-NOTES.md[3.2.1] - 2026-06-11entryCompatibility
SPContentDatabase1..4JSON property names and per-entry shape(
Name,Server,WebAppUrl) consumed bySPSUpdate.ps1are unchanged.are unchanged.
pwshonwindows-latest, Pester 5.3+) will validate Windows PowerShell behavioron this PR.
This Pull Request (PR) fixes the following issues
None.
Task list
file CHANGELOG.md. Entry should say what was changed and how that
affects users (if applicable), and reference the issue being resolved
(if applicable).