Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,27 @@
The format is based on and uses the types of changes according to [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [3.0.0] - 2026-08-28

### Removed

- **BREAKING**: dropped support for SharePoint Server 2016 and 2019 (both reached end of
support on 14 July 2026). The deprecated `Microsoft.SharePoint.PowerShell` PSSnapin path
(`Add-PSSnapin`) has been removed from the CredSSP remoting base script.

### Changed

- **BREAKING**: the remoting base script now loads the Subscription Edition
`SharePointServer` module (`Import-Module SharePointServer`, idempotent) as the only
supported code path.
- Documentation (README, wiki) updated to state compatibility with SharePoint Server
Subscription Edition only.

### Migration

- Users still running SharePoint Server 2016 or 2019 must stay on the previous major
release (**v2.1.0**), which retains the PSSnapin code path.

## [2.1.0] - 2026-07-10

### Added
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ Topology and published service-application permissions, and connecting service a
proxies across farms.

It follows the Microsoft guidance [Share service applications across farms in SharePoint Server](https://learn.microsoft.com/en-us/sharepoint/administration/share-service-applications-across-farms)
and is compatible with all supported on-premises versions (SharePoint Server 2016 to
Subscription Edition).
and is compatible with **SharePoint Server Subscription Edition**.

> [!NOTE]
> SharePoint Server 2016 and 2019 reached end of support on 14 July 2026. For those
> versions, use the previous major release ([v2.1.0](https://github.com/luigilink/SPSTrust/releases/tag/v2.1.0)).

[Download the latest release here!](https://github.com/luigilink/SPSTrust/releases/latest)

Expand Down
44 changes: 20 additions & 24 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,29 @@
# SPSTrust - Release Notes

## [2.1.0] - 2026-07-10

This release adds a read-only **trust matrix** report, produced both at the end of a
normal run and in a new dedicated audit mode. It is fully backward compatible with 2.0.0.

### Added

- **`-ReportOnly`** — read-only audit mode: skips all configuration stages and only
collects the current trust state and writes the report (changes nothing).
- **Trust matrix report** — every run now writes a JSON snapshot
(`Results\<Application>-<Environment>.json`) and a self-contained, offline HTML report
(`Reports\<Application>-<Environment>.html`) showing, per publishing-farm /
consuming-farm / service, the state of each trust dimension (ROOT, STS, Published,
Topology permission, SA permission, Proxy) as Present / Absent / N/A / Error.
- New public functions in `SPSTrust.Common`: `Get-SPSTrustStatus` (read-only collector),
`Export-SPSTrustReport` (HTML renderer, also usable standalone via `-InputFile`) and
`Backup-SPSJsonFile`.
- **`-HistoryRetentionDays`** (default 30) — rotation of archived result snapshots in
`Results\history\`.
- Wiki: new **Reports & Audit** page.
## [3.0.0] - 2026-08-28

> [!IMPORTANT]
> This is a major release with a breaking change: support for SharePoint Server 2016 and
> 2019 has been removed. If you still run SharePoint Server 2016 or 2019, stay on the
> previous major release (v2.1.0).

### Removed

- **BREAKING**: dropped support for SharePoint Server 2016 and 2019 (both reached end of
support on 14 July 2026). The deprecated `Microsoft.SharePoint.PowerShell` PSSnapin path
(`Add-PSSnapin`) has been removed from the CredSSP remoting base script.

### Changed

- `.gitignore` excludes the runtime `Logs/`, `Results/` and `Reports/` folders.
- **BREAKING**: the remoting base script now loads the Subscription Edition
`SharePointServer` module (`Import-Module SharePointServer`, idempotent) as the only
supported code path.
- Documentation (README, wiki) updated to state compatibility with SharePoint Server
Subscription Edition only.

### Compatibility
### Migration

- No breaking changes. Existing `-ConfigFile` / `-FarmAccount` / `-CleanServices` usage is
unchanged; the reporting stage is additive and read-only.
- Users still running SharePoint Server 2016 or 2019 must stay on the previous major
release (**v2.1.0**), which retains the PSSnapin code path.

A full list of changes in each version can be found in the [change log](CHANGELOG.md).
6 changes: 3 additions & 3 deletions src/Modules/SPSTrust.Common/Private/Invoke-SPSCommand.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ function Invoke-SPSCommand {
$Server # Target server where the commands will be executed
)
$VerbosePreference = 'Continue'
# Base script to ensure the SharePoint snap-in is loaded
# Base script to ensure the SharePoint Server module is loaded on the remote host
$baseScript = @"
if (`$null -eq (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue))
if (`$null -eq (Get-Module -Name SharePointServer))
{
Add-PSSnapin Microsoft.SharePoint.PowerShell
Import-Module -Name SharePointServer -Verbose:`$false -WarningAction SilentlyContinue -DisableNameChecking
}
"@

Expand Down
2 changes: 1 addition & 1 deletion src/Modules/SPSTrust.Common/SPSTrust.Common.psd1
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@{
RootModule = 'SPSTrust.Common.psm1'
ModuleVersion = '2.1.0'
ModuleVersion = '3.0.0'
GUID = 'e1cce4f2-12de-4923-8e67-f37a081944aa'
Author = 'Jean-Cyril DROUHIN'
CompanyName = 'luigilink'
Expand Down
4 changes: 2 additions & 2 deletions tests/Modules/SPSTrust.Common.Tests.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ Describe 'SPSTrust.Common Module' {
(Test-ModuleManifest -Path $script:moduleManifest).Version | Should -Not -BeNullOrEmpty
}

It 'manifest ModuleVersion is 2.0.0 or higher' {
(Test-ModuleManifest -Path $script:moduleManifest).Version | Should -BeGreaterOrEqual ([version]'2.0.0')
It 'manifest ModuleVersion is 3.0.0 or higher' {
(Test-ModuleManifest -Path $script:moduleManifest).Version | Should -BeGreaterOrEqual ([version]'3.0.0')
}

It 'module loads successfully' {
Expand Down
5 changes: 4 additions & 1 deletion wiki/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

SPSTrust is a PowerShell script tool to configure trust relationships between SharePoint Server farms — exchanging STS/ROOT certificates, publishing service applications, granting Topology and published service-application permissions, and connecting service application proxies across farms.

It follows the Microsoft guidance [Share service applications across farms in SharePoint Server](https://learn.microsoft.com/en-us/sharepoint/administration/share-service-applications-across-farms) and is compatible with all supported on-premises versions (SharePoint Server 2016 to Subscription Edition).
It follows the Microsoft guidance [Share service applications across farms in SharePoint Server](https://learn.microsoft.com/en-us/sharepoint/administration/share-service-applications-across-farms) and is compatible with **SharePoint Server Subscription Edition**.

> [!NOTE]
> SharePoint Server 2016 and 2019 reached end of support on 14 July 2026. For those versions, use the previous major release (v2.1.0).

## Key Features

Expand Down
Loading