ποΈ Splat.DI.SourceGenerator 2.3.0
Consolidated modernization release (rolls in the superseded 2.2.2), signed with a valid Certum certificate.
π Supersedes 2.2.2.
Splat.DependencyInjection.SourceGeneratorandSplat.DependencyInjection.Analyzer2.2.2 were signed with a code-signing certificate that has since been revoked (NuGet restore fails withNU3012). 2.2.2 has been unlisted and deprecated; please move to 2.3.0. (2.1.x and earlier predate the affected certificate and are unaffected.)
β¨ Features
- Implemented the graph-level diagnostics that were previously declared but never reported β 775bed8:
- SPLATDI005 β circular dependency between registered constructor parameters
- SPLATDI006 β interface registered multiple times (warning)
- SPLATDI007 β a
Lazy<T>constructor parameter whoseTis not registered viaRegisterLazySingleton
π Fixes
- Fully qualify contract keys, skip
RegisterConstantin the analyzer, and improve code quality (#296)
π§ Splat 19.4.1 compatibility
- Generated registration code now targets the current Splat API β
Splat.AppLocatorreplaces the removedSplat.Locatorβ 775bed8
π¦ Dependencies
Updated to the latest valid builds (PRs across the 2.1.2 β 2.3.0 range collapsed per dependency):
- Splat β
19.4.1β 775bed8 - ReactiveUI β
23.2.28(#298, 775bed8) - ReactiveUI.SourceGenerators β
3.0.0β 775bed8 - Microsoft.CodeAnalysis.Analyzers β
5.3.0(RoslynMicrosoft.CodeAnalysis.CSharp*pinned at4.14, the VS 2022 baseline) β 775bed8 - TUnit β
1.49.0(#291, #294, 775bed8) - Verify.TUnit β
31.19.0(#293, #297, #300, 775bed8) - Basic.Reference.Assemblies β
1.8.8β 775bed8 - Microsoft.SourceLink.GitHub β
10.0.300(#301, 775bed8) - Add
Microsoft.Testing.Extensions.CodeCoverageβ f1c1995
π οΈ Build & CI
- Add a CodeQL Advanced workflow (C# + actions), bump
download-artifactto v8, randomise the lock-threads/CodeQL cron schedules, drop the redundantTUnitImplicitUsingsflags β 775bed8 - Make the test app non-packable; logo/readme refresh (#290)
- ci(release): allow releasing from a historical ref β dc54cac
- ci: drop redundant versioningTool input (MinVer is now unconditional) β d5bd036
- build: migrate versioning to MinVer and adopt container signing β 3e2f4c1
- ci(security): pin 3rd-party actions to commit SHAs (CodeQL
actions/unpinned-tag) β e30e7a5 - ci(release): migrate signing from SSL.com eSigner to Certum SimplySign β 43c96cf
π Full Changelog: 2.1.2...v2.3.0
π Contributions
π Thanks to all the contributors: @glennawatson
π€ Automated services that contributed: @renovate[bot]