From 0e6392720ac19181cc2f4f66a127ca8fb3ad2ca9 Mon Sep 17 00:00:00 2001 From: "Jeremy D. Miller" Date: Sun, 2 Aug 2026 19:46:44 -0500 Subject: [PATCH] Adopt JasperFx 2.37.3 jasperfx#611: JasperFx.Events.SourceGenerator now discovers an EventProjection's published document types semantically rather than syntactically. Discovery previously matched only GenericNameSyntax, so an explicit ApplyAsync override writing operations.Store(record); registered AuditRecord while the equally valid operations.Store(record); compiled and registered nothing at all. Nothing at the call site says so and nothing fails at runtime -- storage is provisioned on demand -- so only the ahead-of-time surfaces came up short: schema creation, AllKnownDocumentTypes, rebuild teardown. This is the same marten#4166 behaviour, now correct for both spellings. Behaviour-changing for the better, and worth a release note: an ApplyAsync override using the non-generic spelling starts registering document types it silently skipped before. Also carried: Store(...) no longer registers `object` itself as a document type (object/string render through ToDisplayString() as C# keywords and slipped past the old name-prefix check), and a new JFXEVT005 Info diagnostic for a call that binds to the projection's session but whose document type cannot be named. net9.0: EventSourcingTests 1614/0/7, DaemonTests 260/0/0. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01VpDCvJcBDZerieJB4JEHde --- Directory.Packages.props | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 66fa0b829c..61f4a5c854 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -174,21 +174,31 @@ jasperfx#595 (BatchingChannel could deliver its trailing batch twice on shutdown) and #597. JasperFx 2.37.2: compliance wave 2 (marten#5118) — four more shared suites plus the seam members they need. Nothing outside JasperFx.Events.ComplianceTests changed; the other - packages move only because the line versions together. --> - - + packages move only because the line versions together. + JasperFx 2.37.3: jasperfx#611 — JasperFx.Events.SourceGenerator now discovers an + EventProjection's published document types SEMANTICALLY. Discovery used to match only + GenericNameSyntax, so an explicit ApplyAsync override writing `ops.Store(x)` registered + Doc while the equally valid `ops.Store(x)` registered nothing at all, silently (storage is + still provisioned on demand, so only schema-ahead-of-time, AllKnownDocumentTypes and rebuild + teardown came up short). Binding the invocation gives the same answer for both spellings. + Also stops `Store(...)` registering `object` itself as a document type: registrability + is now a SpecialType/TypeKind question, because object/string render through ToDisplayString() + as C# keywords and slipped past the old name-prefix check. New JFXEVT005 (Info) flags a call + that binds to the projection's session but whose document type cannot be named. --> + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - +