Skip to content

Releases: luigilink/SPSCleanDependencies

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 14:49
40728c1

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>.json is archived into Results\history\ with a yyyyMMdd-HHmm timestamp:
    • 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 = 0 disables pruning.
  • HTML reportExport-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 helpers ConvertTo-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 current Results\<FileName>.json stays 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; 0 disables 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

Choose a tag to compare

@github-actions github-actions released this 09 Jul 14:29
9a26e5e

SPSCleanDependencies - Release Notes

[1.3.0] - 2026-07-09

Changed

  • Restructure the helper module into src/Modules/SPSCleanDependencies.Common (aligned on the SPSUpdate pattern):
    • One function per file under Public/, internal SQL helpers under Private/ (Get-SQLMissing*, no longer exported).
    • A loader .psm1 dot-sourcing Private/ + Public/, and a clean .psd1 manifest (ModuleVersion 1.3.0, correct FunctionsToExport) replacing the mis-named, never-imported SPSCleanDependencies.util.util.psd1.
    • The former module-level classes / ArrayList collections / jsonObject are folded into Get-SPSMissingServerDependencies, so the module holds no mutable state.
  • 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 of src/ 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

Choose a tag to compare

@github-actions github-actions released this 12 Jun 09:13

SPSCleanDependencies - Release Notes

[1.2.0] - 2026-06-11

Added

  • SPSCleanDependencies.util.psm1:

    • Add Get-SQLMissingWebPartInfo helper to resolve missing WebPart class IDs to per-page locations.
    • Add Remove-SPSMissingWebPart cleanup function (uses GetLimitedWebPartManager and temporarily clears the site ReadOnly flag).
    • Extend SPMissingWebPartInfo class with location fields (StorageKey, SiteID, WebID, ListID, DirName, LeafName).
    • All Remove-SPS* functions now support -WhatIf / -Confirm via SupportsShouldProcess.
    • Import-time prelude (admin check, powercfg, SharePoint snap-in load) is now gated behind the SPSCD_SKIP_PRELUDE environment variable so the module can be imported on CI / non-SharePoint hosts.
  • SPSCleanDependencies.ps1:

    • Implement the MissingWebPart cleanup branch (previously a no-op).
    • Implement the SiteOrphan cleanup branch by wiring up the existing Remove-SPSOrphanedSite function.
  • Pester test suite under tests/ covering the script and helper module, including SupportsShouldProcess coverage on every Remove-SPS* function.

  • .github/workflows/pester.yml CI workflow running Pester 5.3+ and PSScriptAnalyzer on windows-latest.

Fixed

  • Replace Write-Host with Write-Output in Remove-SPSMissingSetupFile and clear remaining PSScriptAnalyzer warnings via a new PSScriptAnalyzerSettings.psd1 at the repo root (excluding PSUseSingularNouns to preserve the public Get-SPSMissingServerDependencies name).
  • Stop hiding real Import-Module failures 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

Choose a tag to compare

@github-actions github-actions released this 21 Oct 12:40
ed7c9d9

SPSCleanDependencies - Release Notes

[1.1.0] - 2025-10-21

Changed

  • SPSCleanDependencies.ps1:

    • Resolve Invoke-Sqlcmd does not work because sqlserver is not present issue #2
    • Resolve Performing the operation "Set-SPSite" on target "sitemaster-" issue #3
  • 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

Choose a tag to compare

@github-actions github-actions released this 04 Apr 07:34

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