Skip to content

release: 1.4.0 - #12

Merged
yandersr merged 1 commit into
mainfrom
1.4.0
Oct 13, 2026
Merged

yandersr merged 1 commit into
mainfrom
1.4.0

Conversation

@yandersr

Copy link
Copy Markdown
Contributor

Promotes 1.4.0-rc.2 unchanged. No code moves in this PR — the five packages drop their prerelease suffix and the two release-candidate changelog entries become one.

Package From To
DSoftStudio.Mediator 1.4.0-rc.2 1.4.0
DSoftStudio.Mediator.Abstractions 1.4.0-rc.2 1.4.0
DSoftStudio.Mediator.FluentValidation 1.0.10-rc.2 1.0.10
DSoftStudio.Mediator.HybridCache 1.0.10-rc.2 1.0.10
DSoftStudio.Mediator.OpenTelemetry 1.1.1-rc.2 1.1.1

The changelog merge is not a copy-and-paste

The repository keeps one entry per release — 1.3.0 had candidates and left no trace of them — so the two rc entries consolidate rather than accumulate.

Two Fixed bullets are dropped rather than merged. Both repaired code that the rc cycle itself introduced, so no released version ever carried the defect. Listing them would describe a failure nobody could have suffered, and make the release read as buggier than it was. Checked against the v1.3.0 tree rather than assumed:

DSOFT011                             0 occurrences in v1.3.0
MediatorNotificationTracingObserver  file absent in v1.3.0

Everything else from rc.2 stays, because it is genuinely pre-existing. MediatorStreamTracingBehavior exists in v1.3.0, so its five telemetry defects are real for anyone upgrading from there, and so is the hand-rolled accessibility check in StreamGenerator.

The merge also left cross-references dangling, and those are resolved. "The equivalent guard on the request side shipped in rc.1" says nothing in an entry where rc.1 does not exist; both halves now land together, which is what a reader of 1.4.0 actually sees.

Verified

  • Build clean, 9 test projects green
  • Packed and inspected the dependency graph: the three companions resolve DSoftStudio.Mediator 1.4.0, and the core resolves Abstractions 1.4.0
  • No rc.1 / rc.2 references survive inside the [1.4.0] entry

After merge

Tag v1.4.0, then the Release, then the publish workflow. The tag guard requires the tag to be reachable from main, so the merge has to land first.

One decision left: whether the 1.4.0 Release is marked Latest. It would displace v1.3.0, which is normal for a stable — but it is the first thing a visitor sees, so it is worth being deliberate rather than defaulted.

Promotes rc.2 unchanged. No code moves in this commit — the five packages drop
their prerelease suffix and the two release-candidate changelog entries become
one.

  DSoftStudio.Mediator                  1.4.0-rc.2  -> 1.4.0
  DSoftStudio.Mediator.Abstractions     1.4.0-rc.2  -> 1.4.0
  DSoftStudio.Mediator.FluentValidation 1.0.10-rc.2 -> 1.0.10
  DSoftStudio.Mediator.HybridCache      1.0.10-rc.2 -> 1.0.10
  DSoftStudio.Mediator.OpenTelemetry    1.1.1-rc.2  -> 1.1.1

The changelog follows what 1.3.0 did: one entry per release, with the candidates
leaving no trace. Merging them is not a copy-and-paste, because two of rc.2's
fixes repaired code that the rc cycle itself introduced. No released version ever
carried those defects, so listing them would describe a failure nobody could have
suffered and make the release read as buggier than it was. Both were checked
against the v1.3.0 tree rather than assumed:

  DSOFT011                             0 occurrences in v1.3.0
  MediatorNotificationTracingObserver  file absent in v1.3.0

Everything else from rc.2 stays, because it is genuinely pre-existing: the stream
tracing behaviour and the hand-rolled accessibility check both exist in v1.3.0,
so their defects are real for anyone upgrading from it.

Also resolves the cross-references the merge left dangling. "The equivalent guard
on the request side shipped in rc.1" says nothing in an entry where rc.1 does not
exist; both halves now land together, which is what a reader of 1.4.0 sees.

Verified after packing that the graph is coherent: the three companions resolve
DSoftStudio.Mediator 1.4.0 and the core resolves Abstractions 1.4.0.
@github-actions

Copy link
Copy Markdown
Contributor

Summary

Summary
Generated on: 10/13/2026 - 12:37:25
Coverage date: 10/13/2026 - 12:36:55 - 10/13/2026 - 12:37:18
Parser: MultiReport (10x Cobertura)
Assemblies: 6
Classes: 96
Files: 81
Line coverage: 91.8% (5703 of 6212)
Covered lines: 5703
Uncovered lines: 509
Coverable lines: 6212
Total lines: 16119
Branch coverage: 80% (2562 of 3202)
Covered branches: 2562
Total branches: 3202
Method coverage: Feature is only available for sponsors
Tag: 171_38398409568

Coverage

DSoftStudio.Mediator - 91.6%
Name Line Branch
DSoftStudio.Mediator 91.6% 85.7%
DSoftStudio.Mediator.AggressiveDispatch`2 91.6% 76.6%
DSoftStudio.Mediator.AggressiveDispatchEventSource 25.9% 20%
DSoftStudio.Mediator.AggressiveDispatchLatch 98.7% 95.8%
DSoftStudio.Mediator.AggressiveNotificationDispatch`1 93.3% 80.7%
DSoftStudio.Mediator.BehaviorChainRegistry`2 100% 100%
DSoftStudio.Mediator.BehaviorHandlerAdapter`2 100% 100%
DSoftStudio.Mediator.CompositeDispatchObserver 82.7% 80%
DSoftStudio.Mediator.CompositeNotificationObserver 78.8% 72.2%
DSoftStudio.Mediator.DispatchCacheability 66.6% 50%
DSoftStudio.Mediator.DispatchCacheReleaser 95.8% 85.7%
DSoftStudio.Mediator.DispatchCacheSlot`1 100% 100%
DSoftStudio.Mediator.DispatchLifetimeMap 95.8% 92.8%
DSoftStudio.Mediator.DispatchLifetimeSnapshot 60% 16.6%
DSoftStudio.Mediator.HandlerCache`2 95.4% 93.7%
DSoftStudio.Mediator.HandlerLifetimeOptimizer 98.1% 93.7%
DSoftStudio.Mediator.LateComponentRegistry 96.1% 87.5%
DSoftStudio.Mediator.LatePipelineComponentReport 100%
DSoftStudio.Mediator.Mediator 100% 94.4%
DSoftStudio.Mediator.MediatorBuilder 100% 100%
DSoftStudio.Mediator.MediatorObservation 95.6% 88.8%
DSoftStudio.Mediator.MediatorScopeRelease 100%
DSoftStudio.Mediator.NotificationCachedDispatcher 76% 78.2%
DSoftStudio.Mediator.NotificationDispatch`1 100%
DSoftStudio.Mediator.NotificationHandlerCache`1 100% 90.9%
DSoftStudio.Mediator.NotificationObjectDispatch 92% 87.5%
DSoftStudio.Mediator.NotificationPublisherFlag 94.1% 83.3%
DSoftStudio.Mediator.ParallelNotificationPublisher 100% 100%
DSoftStudio.Mediator.PipelineChainCache`2 100% 100%
DSoftStudio.Mediator.PipelineChainHandler`2 96.6% 90.7%
DSoftStudio.Mediator.RequestDispatch`2 100%
DSoftStudio.Mediator.RequestObjectDispatch 90.9% 50%
DSoftStudio.Mediator.SequentialNotificationPublisher 100% 100%
DSoftStudio.Mediator.ServiceCollectionExtensions 100%
DSoftStudio.Mediator.StreamBehaviorHandlerAdapter`2 100% 100%
DSoftStudio.Mediator.StreamDispatch`2 100%
DSoftStudio.Mediator.StreamHandlerCache`2 100% 100%
DSoftStudio.Mediator.StreamPipelineChainCache`2 100% 100%
DSoftStudio.Mediator.StreamPipelineChainHandler`2 92.8% 75%
DSoftStudio.Mediator.StreamPipelineInvoker 100% 100%
DSoftStudio.Mediator.Abstractions - 91.3%
Name Line Branch
DSoftStudio.Mediator.Abstractions 91.3% ****
DSoftStudio.Mediator.Abstractions.HandlerLifetimeAttribute 0%
DSoftStudio.Mediator.Abstractions.MediatorHandlerRegistrationAttribute 100%
DSoftStudio.Mediator.Abstractions.RequestExceptionHandlerState`1 100%
DSoftStudio.Mediator.Abstractions.Unit 100%
DSoftStudio.Mediator.FluentValidation - 100%
Name Line Branch
DSoftStudio.Mediator.FluentValidation 100% 91.6%
DSoftStudio.Mediator.FluentValidation.FluentValidationServiceCollectionExte
nsions
100% 100%
DSoftStudio.Mediator.FluentValidation.MediatorValidationException 100% 83.3%
DSoftStudio.Mediator.FluentValidation.ValidationBehavior`2 100% 90%
DSoftStudio.Mediator.Generators - 91.5%
Name Line Branch
DSoftStudio.Mediator.Generators 91.5% 76.8%
DSoftStudio.Mediator.Generators.BehaviorNameabilityAnalyzer 77.6% 45.4%
DSoftStudio.Mediator.Generators.BehaviorRegistration 43.7% 0%
DSoftStudio.Mediator.Generators.BehaviorRegistrationScanner 80.9% 68.4%
DSoftStudio.Mediator.Generators.BehaviorTypeInfo 100% 100%
DSoftStudio.Mediator.Generators.CachedResponseSerializerAnalyzer 82.3% 63%
DSoftStudio.Mediator.Generators.CqrsSemanticAnalyzer 86.7% 61.5%
DSoftStudio.Mediator.Generators.DependencyInjectionGenerator 90.6% 77.1%
DSoftStudio.Mediator.Generators.DiagnosticDescriptors 100%
DSoftStudio.Mediator.Generators.EquatableArray`1 100% 100%
DSoftStudio.Mediator.Generators.HandlerAccessibilityAnalyzer 84.9% 56.8%
DSoftStudio.Mediator.Generators.HandlerDiscovery 94.7% 82%
DSoftStudio.Mediator.Generators.InterceptorHelpers 96.3% 88%
DSoftStudio.Mediator.Generators.MediatorExtensionsGenerator 94.8% 77%
DSoftStudio.Mediator.Generators.MediatorPipelineGenerator 95.9% 84.8%
DSoftStudio.Mediator.Generators.MixedRegistrationApiAnalyzer 94.9% 87.7%
DSoftStudio.Mediator.Generators.MockDetectionAnalyzer 100% 100%
DSoftStudio.Mediator.Generators.NotificationCachePlan 30.7% 0%
DSoftStudio.Mediator.Generators.NotificationFastPath 98.2% 92.4%
DSoftStudio.Mediator.Generators.NotificationGenerator 95.1% 92.5%
DSoftStudio.Mediator.Generators.NotificationHandlerEntry 63.6% 20%
DSoftStudio.Mediator.Generators.PublishInterceptorGenerator 91.9% 74.4%
DSoftStudio.Mediator.Generators.ReferencedAssemblyScanner 82% 77.1%
DSoftStudio.Mediator.Generators.SelfHandlerDetail 100% 83.3%
DSoftStudio.Mediator.Generators.SelfHandlerParam 100% 83.3%
DSoftStudio.Mediator.Generators.SendFastPath 81% 77.7%
DSoftStudio.Mediator.Generators.SendInterceptorGenerator 91.5% 76.4%
DSoftStudio.Mediator.Generators.StreamGenerator 96.9% 86.2%
DSoftStudio.Mediator.Generators.StreamInterceptorGenerator 91.6% 75%
DSoftStudio.Mediator.HybridCache - 96.8%
Name Line Branch
DSoftStudio.Mediator.HybridCache 96.8% 93.7%
DSoftStudio.Mediator.HybridCache.CachingBehavior`2 93.5% 87.5%
DSoftStudio.Mediator.HybridCache.CachingBehaviorGuidance 100%
DSoftStudio.Mediator.HybridCache.HybridCacheServiceCollectionExtensions 100% 100%
DSoftStudio.Mediator.HybridCache.ICachedRequest 100%
DSoftStudio.Mediator.OpenTelemetry - 92.9%
Name Line Branch
DSoftStudio.Mediator.OpenTelemetry 92.9% 86.8%
DSoftStudio.Mediator.OpenTelemetry.ActivityHelper 100% 100%
DSoftStudio.Mediator.OpenTelemetry.DatabaseSpanEnrichmentProcessor 95% 92.3%
DSoftStudio.Mediator.OpenTelemetry.InstrumentedNotificationPublisher 97.4% 89.5%
DSoftStudio.Mediator.OpenTelemetry.MediatorDispatchTracingObserver 100% 93.7%
DSoftStudio.Mediator.OpenTelemetry.MediatorInstrumentation 100% 50%
DSoftStudio.Mediator.OpenTelemetry.MediatorInstrumentationOptions 100%
DSoftStudio.Mediator.OpenTelemetry.MediatorMetrics 100%
DSoftStudio.Mediator.OpenTelemetry.MediatorMetricsBehavior`2 100% 100%
DSoftStudio.Mediator.OpenTelemetry.MediatorNotificationMetadata`1 100%
DSoftStudio.Mediator.OpenTelemetry.MediatorNotificationTracingObserver 68.5% 55.5%
DSoftStudio.Mediator.OpenTelemetry.MediatorStreamMetadata`2 100%
DSoftStudio.Mediator.OpenTelemetry.MediatorStreamMetricsBehavior`2 100% 87.5%
DSoftStudio.Mediator.OpenTelemetry.MediatorStreamTracingBehavior`2 98.7% 89.2%
DSoftStudio.Mediator.OpenTelemetry.MediatorTelemetryMetadata`2 100% 100%
DSoftStudio.Mediator.OpenTelemetry.OpenTelemetryServiceCollectionExtensions 94.3% 90%
DSoftStudio.Mediator.OpenTelemetry.SqlStatementParser 95.2% 94.2%
OpenTelemetry.Metrics.MediatorMeterProviderBuilderExtensions 100%
OpenTelemetry.Trace.MediatorTracerProviderBuilderExtensions 100%

@yandersr
yandersr merged commit 2e6dff1 into main Oct 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant