Releases: luigilink/SPSCleanDependencies
Releases · luigilink/SPSCleanDependencies
Release list
v1.4.0
SPSCleanDependencies - Release Notes
[1.4.0] - 2026-07-09
Added
- Results history — the audit no longer overwrites its output blindly. Before each run the current
Results\<FileName>.jsonis archived intoResults\history\with ayyyyMMdd-HHmmtimestamp:Backup-SPSJsonFile(public) creates the timestamped copy.Clear-SPSLogFolder(public) is the single retention/rotation implementation, reused for both transcript logs (*.log) and archived snapshots (*.json).Retention = 0disables pruning.
- HTML report —
Export-SPSCleanDependenciesReport(public) renders the results JSON as a self-contained, dependency-free HTML file: one summary card per dependency category plus a filterable/sortable table per non-empty category, or a clean "nothing to clean" state. Backed by internal helpersConvertTo-SPSHtmlEncoded,Get-SPSReportHtmlHead,Get-SPSReportCardHtml,Get-SPSReportHtmlScript(pattern from SPSUpdate.Common). - Entry script — the audit run now archives the previous results, writes
Results\<FileName>.html, and prunes old history/logs. The currentResults\<FileName>.jsonstays stable (still the exact input consumed by-Clean); only the history copies are timestamped. New-HistoryRetentionDays(default 30) and-LogRetentionDays(default 180) parameters control retention;0disables pruning. - Pester coverage for the new functions and the audit-branch wiring.
A full list of changes in each version can be found in the change log
v1.3.0
SPSCleanDependencies - Release Notes
[1.3.0] - 2026-07-09
Changed
- Restructure the helper module into
src/Modules/SPSCleanDependencies.Common(aligned on theSPSUpdatepattern):- One function per file under
Public/, internal SQL helpers underPrivate/(Get-SQLMissing*, no longer exported). - A loader
.psm1dot-sourcingPrivate/+Public/, and a clean.psd1manifest (ModuleVersion1.3.0, correctFunctionsToExport) replacing the mis-named, never-importedSPSCleanDependencies.util.util.psd1. - The former module-level classes /
ArrayListcollections /jsonObjectare folded intoGet-SPSMissingServerDependencies, so the module holds no mutable state.
- One function per file under
- The entry script moves to
src/SPSCleanDependencies.ps1, imports the module through its manifest, and sources its version from(Get-Module SPSCleanDependencies.Common).Version. - The import-time prelude (administrator check, High Performance power plan, SharePoint snap-in load) moves from the module into the entry script, making the module import-safe by design.
- Behaviour on a real SharePoint farm is unchanged.
CI
- Workflows adapted to the
src/layout (paths, PSScriptAnalyzer targets, release ZIP ofsrc/contents). - Deprecated GitHub Actions bumped:
actions/checkout@v4->v7,actions/upload-artifact@v4->v7,softprops/action-gh-release@v2->v3.
A full list of changes in each version can be found in the change log
v1.2.0
SPSCleanDependencies - Release Notes
[1.2.0] - 2026-06-11
Added
-
SPSCleanDependencies.util.psm1:
- Add
Get-SQLMissingWebPartInfohelper to resolve missing WebPart class IDs to per-page locations. - Add
Remove-SPSMissingWebPartcleanup function (usesGetLimitedWebPartManagerand temporarily clears the siteReadOnlyflag). - Extend
SPMissingWebPartInfoclass with location fields (StorageKey,SiteID,WebID,ListID,DirName,LeafName). - All
Remove-SPS*functions now support-WhatIf/-ConfirmviaSupportsShouldProcess. - Import-time prelude (admin check,
powercfg, SharePoint snap-in load) is now gated behind theSPSCD_SKIP_PRELUDEenvironment variable so the module can be imported on CI / non-SharePoint hosts.
- Add
-
SPSCleanDependencies.ps1:
- Implement the
MissingWebPartcleanup branch (previously a no-op). - Implement the
SiteOrphancleanup branch by wiring up the existingRemove-SPSOrphanedSitefunction.
- Implement the
-
Pester test suite under
tests/covering the script and helper module, includingSupportsShouldProcesscoverage on everyRemove-SPS*function. -
.github/workflows/pester.ymlCI workflow running Pester 5.3+ andPSScriptAnalyzeronwindows-latest.
Fixed
- Replace
Write-HostwithWrite-OutputinRemove-SPSMissingSetupFileand clear remainingPSScriptAnalyzerwarnings via a newPSScriptAnalyzerSettings.psd1at the repo root (excludingPSUseSingularNounsto preserve the publicGet-SPSMissingServerDependenciesname). - Stop hiding real
Import-Modulefailures in the module Pester tests so future regressions surface immediately.
A full list of changes in each version can be found in the change log
v1.1.0
SPSCleanDependencies - Release Notes
[1.1.0] - 2025-10-21
Changed
-
SPSCleanDependencies.ps1:
-
Wiki Documentation in repository - Update :
- wiki/Home.md
- wiki/Getting-Started.md
- wiki/Usage.md
-
Issue Templates files:
- 1_bug_report.yml Update version
-
README.md
- Add Requirements for PowerShell 5 and SqlServer PowerShell Module
A full list of changes in each version can be found in the change log
v1.0.0
SPSCleanDependencies - Release Notes
[1.0.0] - 2025-04-04
Added
- Add RELEASE-NOTES.md file
- Add CHANGELOG.md file
- Add CONTRIBUTING.md file
- Add release.yml file
- Add scripts folder with first version of SPSCleanDependencies
- README.md
- Add code_of_conduct.md badge
- Add CODE_OF_CONDUCT.md file
- Add Issue Templates files:
- 1_bug_report.yml
- 2_feature_request.yml
- 3_documentation_request.yml
- 4_improvement_request.yml
- config.yml
- Wiki Documentation in repository - Add :
- wiki/Home.md
- wiki/Getting-Started.md
- wiki/Configuration.md
- wiki/Usage.md
- .github/workflows/wiki.yml
Changed
- SPSCleanDependencies.ps1:
- Update parameter description
- Add missing comments
A full list of changes in each version can be found in the change log