Bump the dotnet group with 13 updates#79
Closed
dependabot[bot] wants to merge 1 commit into
Closed
Conversation
Bumps AWSSDK.S3 from 4.0.100.1 to 4.0.101 Bumps Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.0 Bumps Npgsql.EntityFrameworkCore.PostgreSQL from 10.0.2 to 10.0.3 Bumps NSubstitute from 5.3.0 to 6.0.0 Bumps OpenTelemetry.Instrumentation.Runtime from 1.15.1 to 1.16.0 Bumps Testcontainers.LocalStack from 4.12.0 to 4.13.0 Bumps Testcontainers.PostgreSql from 4.12.0 to 4.13.0 Bumps Testcontainers.RabbitMq from 4.12.0 to 4.13.0 Bumps WolverineFx from 6.16.0 to 6.18.0 Bumps WolverineFx.EntityFrameworkCore from 6.16.0 to 6.18.0 Bumps WolverineFx.Postgresql from 6.16.0 to 6.18.0 Bumps WolverineFx.RabbitMQ from 6.16.0 to 6.18.0 Bumps WolverineFx.RuntimeCompilation from 6.16.0 to 6.18.0 --- updated-dependencies: - dependency-name: AWSSDK.S3 dependency-version: 4.0.101 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Npgsql.EntityFrameworkCore.PostgreSQL dependency-version: 10.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dotnet - dependency-name: NSubstitute dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: dotnet - dependency-name: OpenTelemetry.Instrumentation.Runtime dependency-version: 1.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Testcontainers.LocalStack dependency-version: 4.13.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Testcontainers.PostgreSql dependency-version: 4.13.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: Testcontainers.RabbitMq dependency-version: 4.13.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: WolverineFx dependency-version: 6.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: WolverineFx.EntityFrameworkCore dependency-version: 6.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: WolverineFx.Postgresql dependency-version: 6.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: WolverineFx.RabbitMQ dependency-version: 6.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet - dependency-name: WolverineFx.RuntimeCompilation dependency-version: 6.18.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dotnet ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
|
Superseded by #82. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated AWSSDK.S3 from 4.0.100.1 to 4.0.101.
Release notes
Sourced from AWSSDK.S3's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated Microsoft.NET.Test.Sdk from 18.7.0 to 18.8.0.
Release notes
Sourced from Microsoft.NET.Test.Sdk's releases.
18.8.0
What's Changed
Full Changelog: microsoft/vstest@v18.7.0...v18.8.0
Commits viewable in compare view.
Updated Npgsql.EntityFrameworkCore.PostgreSQL from 10.0.2 to 10.0.3.
Release notes
Sourced from Npgsql.EntityFrameworkCore.PostgreSQL's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated NSubstitute from 5.3.0 to 6.0.0.
Release notes
Sourced from NSubstitute's releases.
6.0.0
ℹ️ No changes from Release Candidate 1.
NSubstitute v6.0.0
From RC1 notes:
ArgMatchers.Matchingpredicate matcher as an alternative toIs(Expression<Predicate<T>>. (.NET6 and above.)Arg.Isnow accepts arg matchers.Full change list
... (truncated)
6.0.0-rc.1
NSubstitute v6.0.0 Release Candidate 1
Due to the large number of changes in this release, we wanted to start with a release candidate to ensure we've correctly captured breaking changes.
ArgMatchers.Matchingpredicate matcher as an alternative toIs(Expression<Predicate<T>>. (.NET6 and above.)Arg.Isnow accepts arg matchers.Full change list
... (truncated)
Commits viewable in compare view.
Updated OpenTelemetry.Instrumentation.Runtime from 1.15.1 to 1.16.0.
Release notes
Sourced from OpenTelemetry.Instrumentation.Runtime's releases.
1.16.0
NuGet: OpenTelemetry.Extensions.AWS v1.16.0
Fix sampling behaviour to be compatible with .NET 11.
(#4396)
Updated OpenTelemetry core component version(s) to
1.16.0.(#4487)
See CHANGELOG for details.
NuGet: OpenTelemetry.Instrumentation.AWS v1.16.0
Add instrumentation scope version and schema URL to metrics and traces.
(#4063)
Pass AWS attribute values to created meters as tags.
(#4063)
Capture SNS
TopicArnas theaws.sns.topic.arnspan attribute.(#4043)
Add
cloud.regionattribute to all AWS SDK client spans.(#4043)
Add messaging attributes for AWS SNS and SQS.
(#4043)
BREAKING: Update latest AWS Semantic Conventions to 1.40.0.
(#4043)
Fix suppression scope leakage when
SuppressDownstreamInstrumentationisenabled.
(#4304)
See CHANGELOG for details.
NuGet: OpenTelemetry.Instrumentation.AWSLambda v1.16.0
Update
System.Text.Jsonfornetstandard2.0to8.0.5.(#4154)
Add instrumentation scope version and schema URL to traces.
(#4063)
See CHANGELOG for details.
1.16.0-rc.1
NuGet: OpenTelemetry.Instrumentation.Process v1.16.0-rc.1
Updated semantic conventions to
v1.42.0.
(#4602)
process.cpu.timemetric attributeprocess.cpu.statewas renamed to
cpu.mode.process.uptimemetric.process.windows.handle.countmetric (Windows only).process.unix.file_descriptor.countmetric (Linux only).Assemblies are now digitally signed using cosign.
(#4637)
Updated semantic conventions to
v1.43.0
and marked package as release candidate.
(#4675)
See CHANGELOG for details.
1.16.0-beta.2
NuGet: OpenTelemetry.Instrumentation.Hangfire v1.16.0-beta.2
Assemblies are now digitally signed using cosign.
(#4637)
Fixed
NullReferenceExceptionin the metrics filter when a job's definitioncannot be resolved.
(#4731)
See CHANGELOG for details.
1.16.0-beta.1
NuGet: OpenTelemetry.Instrumentation.ServiceFabricRemoting v1.16.0-beta.1
Raised the minimum required version of
Microsoft.ServiceFabric.ActorsandMicrosoft.ServiceFabric.Services.Remotingfrom7.1.2448to8.4.268, as the7.1Service Fabric runtime is going out of support.(#4510)
Updated OpenTelemetry core component version(s) to
1.16.0.(#4487)
See CHANGELOG for details.
1.16.0-alpha.1
NuGet: OpenTelemetry.Instrumentation.EventCounters v1.16.0-alpha.1
Fixed
OnEventWrittenprocessing events from EventSources that were notconfigured via
AddEventSources.(#4031)
Updated OpenTelemetry core component version(s) to
1.16.0.(#4487)
See CHANGELOG for details.
1.15.2
NuGet: OpenTelemetry.Exporter.Geneva v1.15.2
1.15.3.(#4166)
See CHANGELOG for details.
Commits viewable in compare view.
Updated Testcontainers.LocalStack from 4.12.0 to 4.13.0.
Release notes
Sourced from Testcontainers.LocalStack's releases.
4.13.0
What's Changed
Thank you to everyone who contributed and shared their feedback 🤜🤛.
The NuGet packages for this release have been attested for supply chain security using
actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #33686956.🚀 Features
🐛 Bug Fixes
📖 Documentation
🧹 Housekeeping
📦 Dependency Updates
Commits viewable in compare view.
Updated Testcontainers.PostgreSql from 4.12.0 to 4.13.0.
Release notes
Sourced from Testcontainers.PostgreSql's releases.
4.13.0
What's Changed
Thank you to everyone who contributed and shared their feedback 🤜🤛.
The NuGet packages for this release have been attested for supply chain security using
actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #33686956.🚀 Features
🐛 Bug Fixes
📖 Documentation
🧹 Housekeeping
📦 Dependency Updates
Commits viewable in compare view.
Updated Testcontainers.RabbitMq from 4.12.0 to 4.13.0.
Release notes
Sourced from Testcontainers.RabbitMq's releases.
4.13.0
What's Changed
Thank you to everyone who contributed and shared their feedback 🤜🤛.
The NuGet packages for this release have been attested for supply chain security using
actions/attest. This confirms the integrity and provenance of the artifacts and helps ensure they can be trusted: #33686956.🚀 Features
🐛 Bug Fixes
📖 Documentation
🧹 Housekeeping
📦 Dependency Updates
Commits viewable in compare view.
Updated WolverineFx from 6.16.0 to 6.18.0.
Release notes
Sourced from WolverineFx's releases.
6.18.0
Wolverine 6.18.0
A security-relevant serialization fix, a startup-fatal codegen fix, a silently-dead-listener fix in RabbitMQ, the first F# saga codegen support of any persistence provider, and the CI split that makes "merge when green" mean something again.
If you use MassTransit interop over a durable listener, take this release. See the first section.
#3408 — fixed in #3411
EnvelopeSerializerwrote the typed envelope properties to the wire format and then appended everyEnvelope.Headersentry verbatim, with no reserved-key filter — and the appended entries came last. Because the reader parses reserved keys straight back into typed properties, aHeadersentry under a reserved key silently overwrote the real property on the next read.A value in
envelope.Headers["tenant-id"]is inert while the envelope is in memory. It stops being inert the moment the envelope crosses the serializer — any durable listener, the inbox/outbox, or the scheduled-message store:tenant-idintoenvelope.Headers.env.TenantIdis set from it.saga-idreaches another saga's state, andidrewritesEnvelope.Id— the inbox's dedupe identity.This was live, not theoretical.
MassTransitEnvelope.TransferDataalready copies every incoming MassTransit header intoenvelope.Headersunfiltered (and by assignment, notTryAdd). Any Wolverine app doing MassTransit interop over a durable listener has had this path open. If that describes you, this release is the one to take.The fix filters reserved keys on the write side, so the typed property stays authoritative and a reserved key sitting in
Headersbecomes a no-op.causation-idis deliberately not filtered —DeliveryOptionsintentionally carries it as a loose header forWolverine.Marten'sOutboxedSessionFactory, and it is never promoted by the reader.Startup-fatal codegen fix
#3399 — fixed in #3406 — invalid generated class name for batched (array) message types. This one prevents the application from starting.
Fixes
DaemonMode.Solo/HotColddaemon alongside managed distribution is now an actionable startup exception instead of two schedulers quietly fighting over the same shards.IAgentRuntime.ApplyRestrictionsAsyncpersisted the restriction and then never dispatched the commands it computed, so pausing an agent had no immediate effect. Reported by @erdtsieck against a live cluster.Internalstatus. It now returns an actionable diagnostic telling you to put the saga identity on the request DTO.[AsParameters]now rejects unparseable values in collection query parameters, closing the gap left by the scalar fix in #3372.IEventStorebridge registered twice, soGetServices<IEventStore>()returned the same store instance two times and anything iterating it double-counted. Polecat's ownAddPolecat()had started registeringIEventStoreand Wolverine was still bridging it as well.State = Connected— a silently dead listener. The listener now defers toReconnectedAsync(), which re-declares and re-consumes. Also pins theConnectionMonitortracking invariant that #3370 fixed but nothing guarded.OpenAPI
#3380 (#3418) — OpenAPI parameters are now derived from the full binding chain rather than the handler signature alone. Two real defects closed:
After/Finallypostprocessor were omitted from the operation entirely.string) whenever the description was assembled before those frames resolved — which is exactly the build-time OpenAPI /openapiCLI path, because ASP.NET caches the first ApiExplorer read.More importantly, this ships the OpenAPI shape-test harness that was missing. Adding a shape assertion is now one endpoint plus one
[Fact], which is why this class of omission kept shipping unnoticed.New: Azure Service Bus emulator support
#3366 (#3409) — the docs told you to call
UseAzureServiceBusTesting(), which only ever existed in Wolverine's own test suite. It is now a real, shipping API:... (truncated)
6.17.3
Bug-fix and scale release, following the 6.17.2 community sweep. Every item below came from a community report or a review finding — thank you all.
Closed issues
PeriodicTimer, so at high database counts the metrics polling itself became significant connection pressure. Agents now register their store with a node-wide sequential sweeper that walks the node's databases one at a time across theUpdateMetricsPeriodwindow — at most one metrics connection in flight per node, regardless of database count. The registration set is re-read every pass, so databases join and leave the sweep as agents start and stop without a restart.Disconnectedstate that #3187 fixed. Two follow-ups are tracked in #3391.TrackedSessionwould pick up and then sit waiting on messages the test never sent. The default ignore rule now covers all ofINotToBeRouted(agent commands and framework telemetry), with a deliberate carve-out forAcknowledgement/FailureAcknowledgement, which the session's own acknowledgement APIs depend on. If you are on an older version,IgnoreMessagesMatchingType(t => t.CanBeCastTo<INotToBeRouted>())is the workaround.Fixes from review
UpdateMetricsPeriod = TimeSpan.Zerowould hot-spin the sweep loop (the pre-#3384PeriodicTimerthrew); it is now rejected at configuration time, withDurabilityMetricsEnabled = falseas the way to turn polling off.Marten test-helper:
PauseThenCatchUpOnMartenDaemonActivity#3388 — cold first catch-up appeared to stall (PR #3394, reported by @uniquelau). Investigated in depth. The reported mechanism — that
coordinator.ResumeAsync()does not start never-started shards — does not hold: under Wolverine-managed distribution the coordinator isWolverineProjectionCoordinator, whoseResumeAsyncbuilds the daemon lazily and starts every shard, bypassing agent assignment entirely. The cold path works, and there are now four tests proving it (including with a second subscription-agent consumer sharing the agent family).The real defect was a timeout mismatch, and it explains the reported symptom exactly. The stage runs inside a child
TrackedSessionwhose token cancels atTrackedSession.Timeout— 5 seconds by default — while the catch-up ignored that token and waited on an internal 60-second budget. The session gave up first and left the catch-up envelope started-but-never-finished, which reads as a hang. This is a genuine 6.16 → 6.17 behavior change: the old activeForceAllfinished inside 5 seconds; resume-and-wait on a cold daemon or a busy machine does not. The catch-up now honors the session's token and raises an actionableTimeoutExceptionnaming the store and pointing atTrackActivity().Timeout(...).If you hit this on 6.17.0–6.17.2, raising the tracked-session timeout is the fix.
Docs
IMessageBus.InvokeAsync<T>and the chain that runs is the handler's. The header-identified gap is tracked as #3385, with a clear diagnostic planned.Timeout()bounds the whole session including its stages, so a slow stage likePauseThenCatchUpOnMartenDaemonActivity()is capped by the session's 5-second default, not by any budget internal to the stage.Full changelog: JasperFx/wolverine@V6.17.2...V6.17.3
6.17.2
Community-issue sweep release. Every fix below shipped same-day from issues filed by the community — thank you all.
Closed issues
WolverineApiDescriptionProvidernow enumerates theHttpGraph(complete whenMapWolverineEndpoints()returns) instead of the start-timeEndpointDataSource, so ASP.NET's version-keyed cache can never freeze an empty first read. If you monitor Wolverine hosts with CritterWatch and expose OpenAPI, upgrade to this release (see JasperFx/CritterWatch#689).[AsParameters]+ compound-handlerLoadAsyncbinding the same route variable generated uncompilable code (CS0136/CS0841, host failed at startup) (PR #3381). Binding frames are now emitted once per chain and re-homed so any second consumer reuses them; both the[FromRoute]and[AsParameters]-parameter variants are covered. The related OpenAPI gap (route params bound only byLoadAsyncmissing from the operation) is tracked as #3380.[AsParameters]query binder silently ignored unparseable values (PR #3379). New opt-inWolverineHttpOptions.RejectUnparseableQueryValues: a present-but-unparseable query value short-circuits with a 400 ProblemDetails naming the parameter, matching ASP.NET minimal APIs; missing values keep their initializer in both modes. The default flips to strict in Wolverine 7.0.IMessageContext, plus a fullITenantDetectionPolicies-style mirror (opts.TenantId.IsRequestHeaderValue(...),IsClaimTypeNamed(...),DetectWith<T>()) that sets the codegen tenant variable Marten/Polecat session frames consume — with a zero-config default when the client stampstenant-id. New docs page: gRPC multi-tenancy.DurabilityMetricsEnabled = falseand raisingUpdateMetricsPeriodas mitigations for metrics-polling connection load at high tenant-database counts (PR #3378). The per-node sweeper implementation is in progress on the issue.Dependency bumps
6.17.1
Wolverine 6.17.1 is a bug-fix release covering EF Core outbox enlistment gaps in Wolverine.Http, persistence provider resolution, HTTP route parameter binding, multi-tenancy message store roles, and a RavenDB startup race. It also upgrades the Marten dependency to 9.14.1.
EF Core & persistence
DbContextand cascade messages only through a tuple return are now enlisted in the EF Core outbox, so cascaded messages are no longer sent before the transaction commits when usingLightweightmode (#3358, #3362)IStorageAction<T>/ storage side effects) are likewise enlisted in the EF Core outbox inLightweightmode (#3353, #3357)DbContext-based handlers get the correct transactional middleware (#3359, #3361)MessageStoreRole.Ancillaryis now honored for tenanted message stores (static tenants and master-table tenancy) instead of silently reportingMain(#3351), with the registration behavior now covered by tests across PostgreSQL, SQL Server, SQLite, MySQL, and OracleHTTP
[FromRoute(Name = "...")]is now honored on plain endpoint method parameters (previously only inside[AsParameters]types), enabling route segments like{journey-id}that aren't valid C# identifiers (#3356 — thanks to @outofrange-consulting!)RavenDB
Dependencies
Documentation
IDocumentSessionorDbContext), not the HTTP verb (#3355, #3360)6.17.0
Why is this such a big release? Because @jeremydmiller went on a 3 night vacation and the community decided to throw in issues and pull requests left and right!
A big theme was filling in the remaining gaps of "Name Broker" and "Broker per Tenant" support in every external messaging transport where it made sense to add that rather than just being Rabbit MQ, Azure Service Bus, and hit and miss everywhere else. We also added HTTP QUERY support.
What's Changed
... (truncated)
Commits viewable in compare view.
Updated WolverineFx.EntityFrameworkCore from 6.16.0 to 6.18.0.
Release notes
Sourced from WolverineFx.EntityFrameworkCore's releases.
6.18.0
Wolverine 6.18.0
A security-relevant serialization fix, a startup-fatal codegen fix, a silently-dead-listener fix in RabbitMQ, the first F# saga codegen support of any persistence provider, and the CI split that makes "merge when green" mean something again.
If you use MassTransit interop over a durable listener, take this release. See the first section.
#3408 — fixed in #3411
EnvelopeSerializerwrote the typed envelope properties to the wire format and then appended everyEnvelope.Headersentry verbatim, with no reserved-key filter — and the appended entries came last. Because the reader parses reserved keys straight back into typed properties, aHeadersentry under a reserved key silently overwrote the real property on the next read.A value in
envelope.Headers["tenant-id"]is inert while the envelope is in memory. It stops being inert the moment the envelope crosses the serializer — any durable listener, the inbox/outbox, or the scheduled-message store:tenant-idintoenvelope.Headers.env.TenantIdis set from it.saga-idreaches another saga's state, andidrewritesEnvelope.Id— the inbox's dedupe identity.This was live, not theoretical.
MassTransitEnvelope.TransferDataalready copies every incoming MassTransit header intoenvelope.Headersunfiltered (and by assignment, notTryAdd). Any Wolverine app doing MassTransit interop over a durable listener has had this path open. If that describes you, this release is the one to take.The fix filters reserved keys on the write side, so the typed property stays authoritative and a reserved key sitting in
Headersbecomes a no-op.causation-idis deliberately not filtered —DeliveryOptionsintentionally carries it as a loose header forWolverine.Marten'sOutboxedSessionFactory, and it is never promoted by the reader.Startup-fatal codegen fix
#3399 — fixed in #3406 — invalid generated class name for batched (array) message types. This one prevents the application from starting.
Fixes
DaemonMode.Solo/HotColddaemon alongside managed distribution is now an actionable startup exception instead of two schedulers quietly fighting over the same shards.IAgentRuntime.ApplyRestrictionsAsyncpersisted the restriction and then never dispatched the commands it computed, so pausing an agent had no immediate effect. Reported by @erdtsieck against a live cluster.Internalstatus. It now returns an actionable diagnostic telling you to put the saga identity on the request DTO.[AsParameters]now rejects unparseable values in collection query parameters, closing the gap left by the scalar fix in #3372.IEventStorebridge registered twice, soGetServices<IEventStore>()returned the same store instance two times and anything iterating it double-counted. Polecat's ownAddPolecat()had started registeringIEventStoreand Wolverine was still bridging it as well.State = Connected— a silently dead listener. The listener now defers toReconnectedAsync(), which re-declares and re-consumes. Also pins theConnectionMonitortracking invariant that #3370 fixed but nothing guarded.OpenAPI
#3380 (#3418) — OpenAPI parameters are now derived from the full binding chain rather than the handler signature alone. Two real defects closed:
After/Finallypostprocessor were omitted from the operation entirely.string) whenever the description was assembled before those frames resolved — which is exactly the build-time OpenAPI /openapiCLI path, because ASP.NET caches the first ApiExplorer read.More importantly, this ships the OpenAPI shape-test harness that was missing. Adding a shape assertion is now one endpoint plus one
[Fact], which is why this class of omission kept shipping unnoticed.New: Azure Service Bus emulator support
#3366 (#3409) — the docs told you to call
UseAzureServiceBusTesting(), which only ever existed in Wolverine's own test suite. It is now a real, shipping API:... (truncated)
6.17.3
Bug-fix and scale release, following the 6.17.2 community sweep. Every item below came from a community report or a review finding — thank you all.
Closed issues
PeriodicTimer, so at high database counts the metrics polling itself became significant connection pressure. Agents now register their store with a node-wide sequential sweeper that walks the node's databases one at a time across theUpdateMetricsPeriodwindow — at most one metrics connection in flight per node, regardless of database count. The registration set is re-read every pass, so databases join and leave the sweep as agents start and stop without a restart.Disconnectedstate that #3187 fixed. Two follow-ups are tracked in #3391.TrackedSessionwould pick up and then sit waiting on messages the test never sent. The default ignore rule now covers all ofINotToBeRouted(agent commands and framework telemetry), with a deliberate carve-out forAcknowledgement/FailureAcknowledgement, which the session's own acknowledgement APIs depend on. If you are on an older version,IgnoreMessagesMatchingType(t => t.CanBeCastTo<INotToBeRouted>())is the workaround.Fixes from review
UpdateMetricsPeriod = TimeSpan.Zerowould hot-spin the sweep loop (the pre-#3384PeriodicTimerthrew); it is now rejected at configuration time, withDurabilityMetricsEnabled = falseas the way to turn polling off.Marten test-helper:
PauseThenCatchUpOnMartenDaemonActivity#3388 — cold first catch-up appeared to stall (PR #3394, reported by @uniquelau). Investigated in depth. The reported mechanism — that
coordinator.ResumeAsync()does not start never-started shards — does not hold: under Wolverine-managed distribution the coordinator isWolverineProjectionCoordinator, whoseResumeAsyncbuilds the daemon lazily and starts every shard, bypassing agent assignment entirely. The cold path works, and there are now four tests proving it (including with a second subscription-agent consumer sharing the agent family).The real defect was a timeout mismatch, and it explains the reported symptom exactly. The stage runs inside a child
TrackedSessionwhose token cancels atTrackedSession.Timeout— 5 seconds by default — while the catch-up ignored that token and waited on an internal 60-second budget. The session gave up first and left the catch-up envelope started-but-never-finished, which reads as a hang. This is a genuine 6.16 → 6.17 behavior change: the old activeForceAllfinished inside 5 seconds; resume-and-wait on a cold daemon or a busy machine does not. The catch-up now honors the session's token and raises an actionableTimeoutExceptionnaming the store and pointing atTrackActivity().Timeout(...).If you hit this on 6.17.0–6.17.2, raising the tracked-session timeout is the fix.
Docs
IMessageBus.InvokeAsync<T>and the chain that runs is the handler's. The header-identified gap is tracked as #3385, with a clear diagnostic planned.Timeout()bounds the whole session including its stages, so a slow stage likePauseThenCatchUpOnMartenDaemonActivity()is capped by the session's 5-second default, not by any budget internal to the stage.Full changelog: JasperFx/wolverine@V6.17.2...V6.17.3
6.17.2
Community-issue sweep release. Every fix below shipped same-day from issues filed by the community — thank you all.
Closed issues
WolverineApiDescriptionProvidernow enumerates theHttpGraph(complete whenMapWolverineEndpoints()returns) instead of the start-timeEndpointDataSource, so ASP.NET's version-keyed cache can never freeze an empty first read. If you monitor Wolverine hosts with CritterWatch and expose OpenAPI, upgrade to this release (see JasperFx/CritterWatch#689).[AsParameters]+ compound-handlerLoadAsyncbinding the same route variable generated uncompilable code (CS0136/CS0841, host failed at startup) (PR #3381). Binding frames are now emitted once per chain and re-homed so any second consumer reuses them; both the[FromRoute]and[AsParameters]-parameter variants are covered. The related OpenAPI gap (route params bound only byLoadAsyncmissing from the operation) is tracked as #3380.[AsParameters]query binder silently ignored unparseable values (PR #3379). New opt-inWolverineHttpOptions.RejectUnparseableQueryValues: a present-but-unparseable query value short-circuits with a 400 ProblemDetails naming the parameter, matching ASP.NET minimal APIs; missing values keep their initializer in both modes. The default flips to strict in Wolverine 7.0.IMessageContext, plus ..._Description has...
Description has been truncated