ServiceComposition.NET v3.0.0
This release introduces a small breaking change to improve naming clarity and consistency within ServiceRegistrationPipeline.
This is a refinement release. If you are upgrading from v2.x, the only required change is renaming StartupLogger to Logger.
Service composition behavior and validation rules remain unchanged.
Breaking Change
🔄 StartupLogger → Logger
The StartupLogger property on ServiceRegistrationPipeline has been renamed to:
protected abstract ILogger Logger { get; }The previous name implied coupling to a specific startup model. Since ServiceComposition.NET is intentionally hosting-agnostic, the new name more accurately reflects its purpose: logging during pipeline execution.
Migration is mechanical:
Before:
protected override ILogger StartupLogger => NullLogger.Instance;After:
protected override ILogger Logger => NullLogger.Instance;No behavioral changes have been introduced.
Improvements
- Internal refactoring of expression validation logic (no functional changes)
- Expanded test coverage to strengthen reliability
- Minor documentation clarifications