diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8b28f2d..ddac09b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
+- **`Microsoft.SourceLink.GitHub` package reference restored** (§1.7), at the
+ estate-wide version 10.0.400 and with `PrivateAssets="All"` so it is never a
+ consumer dependency. It had been removed as redundant — the .NET 8+ SDK does emit
+ repository metadata and a source-link document map without it, which is accurate as
+ far as it goes — but the standard requires the explicit reference so that source
+ linking is pinned to a version the estate controls rather than moving with whichever
+ SDK feature band happens to build. The `.nuspec`, README, icon and XML docs are
+ unaffected; the assembly and symbols shift slightly (see below).
- **Canonical CI shape, CodeQL and Dependabot** per
[NextIteration.Standards](https://github.com/StuartMeeks/NextIteration.Standards)
`STANDARD.md` section 3 and 4. `ci.yml` now splits into `build`, a three-platform
@@ -26,6 +34,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
+- **Central Package Management completed and shared build properties centralised.**
+ `Directory.Packages.props` gains `CentralPackageVersionOverrideEnabled=false`, so a
+ stray inline `Version=` alongside CPM is now a hard build failure instead of being
+ silently ignored (§1.3). The seventeen properties every project restated now live in
+ the root `Directory.Build.props` (§1.2); each csproj keeps only what is genuinely its
+ own. Non-shipping projects (tests, demo) set `GenerateDocumentationFile=false` to opt
+ back out. Verified behaviour-preserving: packed before and after from a clean `obj/`
+ at the same commit, every entry in both the `.nupkg` and `.snupkg` is byte-identical
+ bar the per-pack `.psmdcp` name.
- **Adopted the standards baseline docs, editor config and SDK pin.**
`SECURITY.md`, `CONTRIBUTING.md`, `CLAUDE.md` and a pull request template added;
`.gitignore` and `.editorconfig` replaced with the canonical copies; `global.json`
@@ -38,7 +55,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **`SplashTagline.RandomBuiltIn`'s XML doc corrected** from "~200 quotes" to
"~300": the built-in pool holds 313 entries. Documentation only; the pool itself
is unchanged.
-
- **Test suite migrated to xUnit.net v3 (`xunit.v3` 4.0.0)** from `xunit` 2.9.3.
Contributor-facing only — no library code, public API, or shipped package
contents changed. v3 test projects are self-executing console apps and run on
@@ -53,19 +69,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
the suite ran on `net10.0` only. Running the full suite locally now requires
the .NET 8 runtime alongside the .NET 10 SDK.
-### Removed
-
-- **`Microsoft.SourceLink.GitHub` package reference.** The .NET SDK has bundled
- SourceLink since .NET 8; the explicit reference was redundant. Verified
- byte-identical `.nuspec` and `.snupkg` output either way — consumers still get
- repository metadata and step-through sources.
-
### Fixed
-- **`PackageOutputPath` no longer breaks non-Windows builds.** The hardcoded
- `C:\nuget-local\` local dev feed is now guarded to Windows; previously every
- `dotnet build` on Linux/macOS and in CI created a literal `C:\nuget-local\`
- directory under `src/`.
+- **`PackageOutputPath` no longer points at a machine-local path.** Pack output
+ goes to `artifacts/packages` on every platform (§1.8). It previously pointed at
+ a hardcoded `C:\nuget-local\` dev feed; unguarded that created a literal
+ `C:\nuget-local\` directory under `src/` on Linux, macOS and in CI, and even
+ guarded to Windows it made one contributor's machine layout part of repo config.
- **CI publish job could not check out the repo.** Its `permissions` block listed
only `id-token: write`, and GitHub sets every unlisted scope to `none`, leaving
`actions/checkout` without `contents: read`.
diff --git a/Directory.Build.props b/Directory.Build.props
index 08993bb..8447737 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -1,8 +1,41 @@
+
+
enable
+ enable
+ en
+ latest
+ true
+ true
+ true
+ snupkg
+ portable
+ true
+ true
+ true
+ MIT
+ © Stuart Meeks
true
Stuart Meeks
Next Iteration
+
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 266a47c..36b9c02 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -1,12 +1,26 @@
true
+
+ false
+
+
+
diff --git a/demo/NextIteration.SpectreConsole.Splash.Demo/NextIteration.SpectreConsole.Splash.Demo.csproj b/demo/NextIteration.SpectreConsole.Splash.Demo/NextIteration.SpectreConsole.Splash.Demo.csproj
index 2151a8a..0bc124c 100644
--- a/demo/NextIteration.SpectreConsole.Splash.Demo/NextIteration.SpectreConsole.Splash.Demo.csproj
+++ b/demo/NextIteration.SpectreConsole.Splash.Demo/NextIteration.SpectreConsole.Splash.Demo.csproj
@@ -3,9 +3,11 @@
Exe
net10.0
- enable
- enable
false
+
+ false
diff --git a/src/NextIteration.SpectreConsole.Splash/NextIteration.SpectreConsole.Splash.csproj b/src/NextIteration.SpectreConsole.Splash/NextIteration.SpectreConsole.Splash.csproj
index 153949d..12625cf 100644
--- a/src/NextIteration.SpectreConsole.Splash/NextIteration.SpectreConsole.Splash.csproj
+++ b/src/NextIteration.SpectreConsole.Splash/NextIteration.SpectreConsole.Splash.csproj
@@ -1,37 +1,26 @@
+
net8.0;net10.0
- enable
- en
- true
- latest
NextIteration.SpectreConsole.Splash
0.3.0
Configurable Figgle + Spectre.Console splash screen for .NET CLIs — gradient palette, pluggable tagline strategy, single-markup-call render path.
- true
-
- C:\nuget-local\
+ true
+ $(MSBuildThisFileDirectory)..\..\artifacts\packages
true
- MIT
README.md
https://github.com/StuartMeeks/NextIteration.SpectreConsole.Splash
https://github.com/StuartMeeks/NextIteration.SpectreConsole.Splash.git
git
spectre;cli;splash;figgle;ascii-art
icon.png
- © Stuart Meeks
- true
- true
- true
- true
- snupkg
- portable
- true
@@ -42,6 +31,7 @@
+
diff --git a/tests/NextIteration.SpectreConsole.Splash.Tests/NextIteration.SpectreConsole.Splash.Tests.csproj b/tests/NextIteration.SpectreConsole.Splash.Tests/NextIteration.SpectreConsole.Splash.Tests.csproj
index 0a1b375..8f03bba 100644
--- a/tests/NextIteration.SpectreConsole.Splash.Tests/NextIteration.SpectreConsole.Splash.Tests.csproj
+++ b/tests/NextIteration.SpectreConsole.Splash.Tests/NextIteration.SpectreConsole.Splash.Tests.csproj
@@ -6,7 +6,6 @@
net8.0;net10.0
Exe
- enable
false
true