Repository navigation
Tags: Particular/NServiceBus
Tags
Support for trimming and AOT (#7929) * Update must reset the ReplacementType * Effective dynamic loading diagnostics * Add mutator coverage * Simplify registration to facilitate source gen registration under the hood * All public APIs that use those sources are properly annotated so we can suppress it unconditionally. * Enable trimming analyzers for now * Mark as trimmable * XmlSerialization subsystem honest annotations and improved message. Also moved the delegate factory because it should only be used there and no longer be a util. * Remove unnecessary make generic type * Refactor JSON serialization logic and update suppression attributes for trimming * Suppress FileVersionRetriever because the code handles graceful fallback * MessageHandlerRegistry path invokes generic methods and therefore also requires dynamic code. The source generated path doesn't require that so suppress * KeyedServiceProviderAdapter suppressions * Grammar fix * Better explanation (hopefully) * Reword comment on provider adapter * IsAotCompatible * Fix approvals --------- Co-authored-by: Daniel Marbach <danielmarbach@users.noreply.github.com>
RollingLogger race condition due to file system failures (#7921) * Reproduce rolling logger TOCTU race that already existed before but becomes now apparent with the slot infrastructure * Fix the TOCTU on the rolling file appender * Address review comment * Failing tests for review comment * Fix * Strengthen filename retry regression test Co-authored-by: danielmarbach <174258+danielmarbach@users.noreply.github.com> --------- Co-authored-by: Daniel Marbach <danielmarbach@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: danielmarbach <174258+danielmarbach@users.noreply.github.com>
Use generated saga correlation accessors and emit finder-only sagas (#… …7924) Partial backport of cd2db0b (#7918) to release-10.2, complementing the #7922 generator fix. SagaMetadata.Create now forwards the generated correlation accessor to SagaMapper, so correlation ids load through the source-generated accessor instead of runtime expression compilation. The saga source generator parses and emits finder-only sagas with a null correlation accessor, and the AddSaga IL2026 suppressor only suppresses when an interceptor can actually be emitted. The AddMessage<>-related changes of the original commit are intentionally not backported. Co-authored-by: Daniel Marbach <danielmarbach@users.noreply.github.com>
Add trimming-safe messaging overloads and migration analyzer (#7889) * Annotate assembly routing for trimming * Scope conditional trim suppressions * Use exact handler reflection lookups * Use message hierarchy for learning transport * Isolate runtime message hierarchy reflection * Simplify marker checks * Preserve message members for trimming * Remove legacy System.Web hosting detection * Add typed message instance overloads * Add typed message migration analyzer * Suppress intentional runtime routing warnings * Annotate object overloads correctly * Address Saga Trimming warning * Add explicit type overloads for advanced uses cases to avoid having to fall back to any form of reflection * Pre-obsolete * UpdateMessage * Deprecate ReplyToOriginator * Nit Co-authored-by: Andreas Öhlund <andreas.ohlund@particular.net> * Better wording * Validate explicit type in testable outgoing context * Deprecate object-only pipeline convenience methods * Test existing-instance typed and explicit type paths * Avoid NSB0039 fix producing object message type * Add annotation parity tests for testing fakes * Document declared logical message types * Better wording * First crude version with msbuild property * Switch to editorconfig as a trial * Approve API changes * Support more properties * Use severity * Global severity * Expand messaging migration analyzer coverage * Support method groups in messaging migration fixer * Improve performance by memoizing * Replace issue link --------- Co-authored-by: Daniel Marbach <danielmarbach@users.noreply.github.com> Co-authored-by: Andreas Öhlund <andreas.ohlund@particular.net>
Preserve the native properties on delayed retries (#7900) (#7901) * Preserve the native properties on delayed retries * Slightly better assertions hopefully * Align handler attribute usage with other tests since we forgot to change that --------- Co-authored-by: Laila Bougria <laila.bougria@particular.net> Co-authored-by: Daniel Marbach <danielmarbach@users.noreply.github.com>
Resolve globally registered endpoint-keyed services inside keyed endp… …oints (#7833) (#7835) * Cleanup usings * Add acceptance test to reproduce the most complex scenario * Properly fallback to global keyed services where necessary and update test cases * Use "is" * Refactor service lookup methods to use ConcurrentDictionary for improved performance --------- Co-authored-by: Daniel Marbach <daniel.marbach@openplace.net> Co-authored-by: Daniel Marbach <danielmarbach@users.noreply.github.com>
PreviousNext