Skip to content

Marten 9.53.0

Choose a tag to compare

@jeremydmiller jeremydmiller released this 23 Oct 21:06

9.53.0 is a minor release. It picks up JasperFx 2.94.0 and implements the three members that release adds, for CritterWatch's Document Store Explorer and Event Store Explorer (#5756).

New

  • IReadOnlyEventStore.QueryEventData<T>(tenantId) (jasperfx#1073): store-agnostic LINQ over the bodies of one event type, across every stream. It runs through the shared DocumentQueryableExtensions terminators (ToListAsync, CountAsync, AnyAsync, FirstOrDefaultAsync).
    • It is QueryRawEventDataOnly<T>() under the shared name. Events in archived streams are excluded, as they are there.
    • An untranslatable member is refused with BadLinqExpressionException naming it.
    • The tenant rule is the same as QueryStreamStates:
      • a non-null tenant without conjoined event tenancy throws NotSupportedException;
      • with conjoined tenancy, a non-null tenant scopes the query to that tenant;
      • null uses the session's tenant.
  • IDocumentStoreDiagnosticsWriter.PreviewDocumentJsonAsync (jasperfx#1071): a dry run of SaveDocumentJsonAsync.
    • It shares the save's type resolution, deserialization and id check, so it refuses exactly what a save refuses.
    • It returns the JSON as the store's serializer (System.Text.Json or Newtonsoft) would store it, so a console can show that a member is about to be dropped.
    • It opens no session and ignores ExpectedVersion.
  • DocumentTypeRef.IsSoftDeleted (jasperfx#1070): IDocumentStoreDiagnostics.DocumentTypesAsync reports whether each type uses DeleteStyle.SoftDelete. A sub-class reports its root mapping's delete style.

Compliance

  • EventDataQueryCompliance is newly enrolled.
  • The ReportsDocumentDeleteStyle and SupportsDocumentWritePreview gates are on.

Dependencies

  • JasperFx, JasperFx.Events, JasperFx.Events.ComplianceTests, JasperFx.SourceGenerator and JasperFx.Events.SourceGenerator: 2.93.1 → 2.94.0 (release notes).