Skip to content

Bump the nuget-minor-patch group with 16 updates - #230

Open
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/nuget/nuget-minor-patch-c1fa9e9eea
Open

dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/nuget/nuget-minor-patch-c1fa9e9eea

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 5, 2026

Copy link
Copy Markdown
Contributor

Updated AndreGoepel.Core from 1.0.5 to 1.0.6.

Release notes

Sourced from AndreGoepel.Core's releases.

1.0.6

Publication complete: Core 1.0.6 and its symbols are published and independently verified. The package payload and NuGet repository signature match the original build; the symbol archive and DLL-bound PDB match their authenticated original hashes. The controlled symbol-only recovery succeeded on its first attempt, without re-uploading the main package or changing the original tag. Acceptance evidence is recorded in Core #​29.

Fixes

  • Result.Fail(string error) and Result.Fail<T>(string error) now reject null errors with ArgumentNullException (ParamName: error), preventing an invalid failure result without an error message.
  • Two regression tests cover this behavior. Non-null calls, public signatures, the .NET 10 target and the zero-dependency package remain unchanged.

Compatibility: callers that pass null despite the non-nullable parameter contract now receive an exception. Supply a meaningful error string instead.

Publication

This release uses the protected Sonar-gated preparation/publication path, with official NuGet/login and native dotnet nuget push. The legacy CI publisher has been retired. Production publication and remote package/symbol verification are tracked in Core #​29.

Source commit: 06e816a983d27e4d215042acc47e63f1ddba2075.

What's Changed

Full Changelog: andregoepel/core@v1.0.5...v1.0.6

Commits viewable in compare view.

Updated Aspire.Hosting.AppHost from 13.6.1 to 13.6.4.

Release notes

Sourced from Aspire.Hosting.AppHost's releases.

13.6.4

What's New in Aspire 13.6.4

Patch release for Aspire 13.6 that improves resource startup reliability, fixes Azure publishing with parameterized enum properties in TypeScript AppHosts, and tightens CLI diagnostic log permissions on Unix.

🐛 Fixes

  • 🖥️ Resources could fail to start after a DCP create request timed out — AppHost now checks whether a resource was created before retrying a timed-out or HTTP 504 request, avoiding a premature FailedToStart state when DCP completed the operation. API operations default to a 40-second timeout with an additional 20-second allowance before the first successful operation, and resource creation has a two-minute recovery budget. These limits can be configured through DcpPublisher:KubernetesApiTimeout, DcpPublisher:KubernetesInitializationAdditionalTimeout, and DcpPublisher:KubernetesCreateRecoveryTimeout. Established watch and log streams are not limited by these operation timeouts. Addresses startup timeouts reported in 13.6. Fixes #​20691. (#​20868, backport of #​20752, @​danegsta)

  • ☁️ TypeScript AppHosts could fail to publish parameterized Azure enum properties — Assigning a bicep().parameter(...) expression to an enum-valued provisioning property, such as an Azure Storage SKU name, now works instead of failing with a type-assignment error. Type checking for literal values and incompatible expression types is preserved. Fixes a scenario introduced with the Azure provisioning proxy feature in 13.6. (#​20767, backport of #​20557, @​sebastienros)

  • 🔒 CLI diagnostic logs now use owner-only permissions on Unix — Log files are restricted to owner read/write access (0600), including reused files, and the dedicated Aspire logs directory uses owner-only access (0700), repairing existing permissions when needed. Newly created custom log directories also use 0700; existing custom parent directories and Windows permission behavior are unchanged. Diagnostic logs can contain sensitive data, including dashboard login URLs, so review them before sharing. (#​21282, backport of #​21276, @​mitchdenny)


Full Changelog: v13.6.3...v13.6.4

Full commit: c89352703f78ae46de90fbf751ed8b52b77b89bf

13.6.3

What's New in Aspire 13.6.3

Patch release for Aspire 13.6 that improves resource orchestration reliability by preventing unread resource watches from stalling resource updates and operations.

🐛 Fixes

  • 🖥️ Resource operations could stall when a watch stopped being read — AppHost now closes abandoned watch connections when setup is canceled and keeps reading resource events even when event handlers are slow. Resource event ordering, lifecycle callback dispatch, and the existing periodic reconnection safeguard are preserved. (#​21002, backport of #​20972, @​danegsta)

  • 🔄 Slow watchers could block other resource updates or watcher shutdown — The bundled Developer Control Plane (DCP) is updated to 0.26.6, which keeps internal lifecycle watches draining and uses bounded, asynchronous watch delivery to prevent unread watches from blocking resource-change publication and unrelated watcher shutdown. (#​21215, @​danegsta; includes microsoft/dcp#​307)


Full Changelog: v13.6.2...v13.6.3

Full commit: 38294b1b31552dae42a516cffa0cbc737ec08976

13.6.2

Full commit: af07e33f8d1ef733645138b3f8e36067d073148d

What's Changed

Full Changelog: microsoft/aspire@v13.6.1...v13.6.2

Commits viewable in compare view.

Updated Aspire.Hosting.PostgreSQL from 13.6.1 to 13.6.4.

Release notes

Sourced from Aspire.Hosting.PostgreSQL's releases.

13.6.4

What's New in Aspire 13.6.4

Patch release for Aspire 13.6 that improves resource startup reliability, fixes Azure publishing with parameterized enum properties in TypeScript AppHosts, and tightens CLI diagnostic log permissions on Unix.

🐛 Fixes

  • 🖥️ Resources could fail to start after a DCP create request timed out — AppHost now checks whether a resource was created before retrying a timed-out or HTTP 504 request, avoiding a premature FailedToStart state when DCP completed the operation. API operations default to a 40-second timeout with an additional 20-second allowance before the first successful operation, and resource creation has a two-minute recovery budget. These limits can be configured through DcpPublisher:KubernetesApiTimeout, DcpPublisher:KubernetesInitializationAdditionalTimeout, and DcpPublisher:KubernetesCreateRecoveryTimeout. Established watch and log streams are not limited by these operation timeouts. Addresses startup timeouts reported in 13.6. Fixes #​20691. (#​20868, backport of #​20752, @​danegsta)

  • ☁️ TypeScript AppHosts could fail to publish parameterized Azure enum properties — Assigning a bicep().parameter(...) expression to an enum-valued provisioning property, such as an Azure Storage SKU name, now works instead of failing with a type-assignment error. Type checking for literal values and incompatible expression types is preserved. Fixes a scenario introduced with the Azure provisioning proxy feature in 13.6. (#​20767, backport of #​20557, @​sebastienros)

  • 🔒 CLI diagnostic logs now use owner-only permissions on Unix — Log files are restricted to owner read/write access (0600), including reused files, and the dedicated Aspire logs directory uses owner-only access (0700), repairing existing permissions when needed. Newly created custom log directories also use 0700; existing custom parent directories and Windows permission behavior are unchanged. Diagnostic logs can contain sensitive data, including dashboard login URLs, so review them before sharing. (#​21282, backport of #​21276, @​mitchdenny)


Full Changelog: v13.6.3...v13.6.4

Full commit: c89352703f78ae46de90fbf751ed8b52b77b89bf

13.6.3

What's New in Aspire 13.6.3

Patch release for Aspire 13.6 that improves resource orchestration reliability by preventing unread resource watches from stalling resource updates and operations.

🐛 Fixes

  • 🖥️ Resource operations could stall when a watch stopped being read — AppHost now closes abandoned watch connections when setup is canceled and keeps reading resource events even when event handlers are slow. Resource event ordering, lifecycle callback dispatch, and the existing periodic reconnection safeguard are preserved. (#​21002, backport of #​20972, @​danegsta)

  • 🔄 Slow watchers could block other resource updates or watcher shutdown — The bundled Developer Control Plane (DCP) is updated to 0.26.6, which keeps internal lifecycle watches draining and uses bounded, asynchronous watch delivery to prevent unread watches from blocking resource-change publication and unrelated watcher shutdown. (#​21215, @​danegsta; includes microsoft/dcp#​307)


Full Changelog: v13.6.2...v13.6.3

Full commit: 38294b1b31552dae42a516cffa0cbc737ec08976

13.6.2

Full commit: af07e33f8d1ef733645138b3f8e36067d073148d

What's Changed

Full Changelog: microsoft/aspire@v13.6.1...v13.6.2

Commits viewable in compare view.

Updated Aspire.Hosting.Testing from 13.6.1 to 13.6.4.

Release notes

Sourced from Aspire.Hosting.Testing's releases.

13.6.4

What's New in Aspire 13.6.4

Patch release for Aspire 13.6 that improves resource startup reliability, fixes Azure publishing with parameterized enum properties in TypeScript AppHosts, and tightens CLI diagnostic log permissions on Unix.

🐛 Fixes

  • 🖥️ Resources could fail to start after a DCP create request timed out — AppHost now checks whether a resource was created before retrying a timed-out or HTTP 504 request, avoiding a premature FailedToStart state when DCP completed the operation. API operations default to a 40-second timeout with an additional 20-second allowance before the first successful operation, and resource creation has a two-minute recovery budget. These limits can be configured through DcpPublisher:KubernetesApiTimeout, DcpPublisher:KubernetesInitializationAdditionalTimeout, and DcpPublisher:KubernetesCreateRecoveryTimeout. Established watch and log streams are not limited by these operation timeouts. Addresses startup timeouts reported in 13.6. Fixes #​20691. (#​20868, backport of #​20752, @​danegsta)

  • ☁️ TypeScript AppHosts could fail to publish parameterized Azure enum properties — Assigning a bicep().parameter(...) expression to an enum-valued provisioning property, such as an Azure Storage SKU name, now works instead of failing with a type-assignment error. Type checking for literal values and incompatible expression types is preserved. Fixes a scenario introduced with the Azure provisioning proxy feature in 13.6. (#​20767, backport of #​20557, @​sebastienros)

  • 🔒 CLI diagnostic logs now use owner-only permissions on Unix — Log files are restricted to owner read/write access (0600), including reused files, and the dedicated Aspire logs directory uses owner-only access (0700), repairing existing permissions when needed. Newly created custom log directories also use 0700; existing custom parent directories and Windows permission behavior are unchanged. Diagnostic logs can contain sensitive data, including dashboard login URLs, so review them before sharing. (#​21282, backport of #​21276, @​mitchdenny)


Full Changelog: v13.6.3...v13.6.4

Full commit: c89352703f78ae46de90fbf751ed8b52b77b89bf

13.6.3

What's New in Aspire 13.6.3

Patch release for Aspire 13.6 that improves resource orchestration reliability by preventing unread resource watches from stalling resource updates and operations.

🐛 Fixes

  • 🖥️ Resource operations could stall when a watch stopped being read — AppHost now closes abandoned watch connections when setup is canceled and keeps reading resource events even when event handlers are slow. Resource event ordering, lifecycle callback dispatch, and the existing periodic reconnection safeguard are preserved. (#​21002, backport of #​20972, @​danegsta)

  • 🔄 Slow watchers could block other resource updates or watcher shutdown — The bundled Developer Control Plane (DCP) is updated to 0.26.6, which keeps internal lifecycle watches draining and uses bounded, asynchronous watch delivery to prevent unread watches from blocking resource-change publication and unrelated watcher shutdown. (#​21215, @​danegsta; includes microsoft/dcp#​307)


Full Changelog: v13.6.2...v13.6.3

Full commit: 38294b1b31552dae42a516cffa0cbc737ec08976

13.6.2

Full commit: af07e33f8d1ef733645138b3f8e36067d073148d

What's Changed

Full Changelog: microsoft/aspire@v13.6.1...v13.6.2

Commits viewable in compare view.

Updated bunit from 2.11.3 to 2.13.3.

Release notes

Sourced from bunit's releases.

2.13.3

Fixed

  • Find threw TypeLoadException with AngleSharp 1.8.6 because HtmlSelectElementWrapper did not implement the new SelectedIndex setter. Reported by @​poxet in #​1957. Fixed by @​linkdotnet.
  • A WaitFor* call whose first check passed left its timeout timer running, which kept the helper, the renderer and everything the renderer holds alive until the timeout elapsed. With a long DefaultWaitTimeout, a test suite could hold every rendered component in memory for its whole run. Fixed by @​xaviergxf.

2.12.5

Fixed

  • WrapperBase.WrappedElement could return null and throw NullReferenceException when an element was accessed concurrently with component re-renders. Reported by @​psu-prog in #​1937. Fixed by @​Nacl-HCl.
  • DisposeComponentsAsync() could dispose nothing when the renderer's dispatcher was busy, e.g. with a timer calling InvokeAsync. Reported by @​xfunc-tim-schneider in #​1939. Fixed by @​linkdotnet.
  • Markup generation and FindComponents could recurse until the test host crashed with a stack overflow when a render threw while instantiating a child component. Reported in #​1935. Fixed by @​linkdotnet.
  • Find() could keep returning DOM nodes from the previous render when a render, e.g. from a timer, happened while the nodes were parsed, causing UnknownEventHandlerIdException. Reported by @​xfunc-tim-schneider in #​1938. Fixed by @​linkdotnet.

Commits viewable in compare view.

Updated Marten from 9.50.3 to 9.57.0.

Release notes

Sourced from Marten's releases.

9.57.0

Highlights

  • Compaction no longer deletes the history of a stream that folds to null. A stream deleted by its own aggregate, through ShouldDelete or DeleteEvent<T>, used to lose its whole history to an empty snapshot. Compaction now leaves it alone and logs an information line. (#​5797)
  • Event data masking now reaches archived and skipped events. IncludeStream and IncludeEvents used to leave those rows in plain text and report success. (#​5797)
  • opts.Events.AutoDiscoverTagTypes turns off automatic DCB tag type registration, for stores that use strong-typed identifiers but not DCB. It's on by default, and explicit RegisterTagType<T>() calls work either way. Thanks to @​gschuager for the report and the design. (#​5806)
  • EventStoreUsage reports the event store's TenancyStyle, so a console can tell conjoined events from conjoined documents. (#​5805)
  • JasperFx 2.98.0 and Weasel 9.48.0.

Action needed after upgrading

If you rely on masking for archived or skipped events: run the same ApplyEventDataMasking call again. Data that was archived or skipped when you last ran it is still in plain text until you do.

That call runs your rules again over everything the first pass reached. If a rule isn't safe to run twice, such as one that draws a new pseudonym, add x.IsArchived to an IncludeEvents filter that still names the same subject:

x.IncludeEvents(e => e.StreamId == streamId && e.IsArchived)

Never use x.IsArchived as the whole filter, because that masks every archived event in the store.

If you compact streams: the deleted events can't be rebuilt from Marten. To find affected streams, replace <schema> and run this, then restore those streams from a backup or from wherever an archiver copied them:

select stream_id, version, tenant_id
from <schema>.mt_events
where mt_dotnet_type like 'JasperFx.Events.Compacted%'
  and 'null'::jsonb in (data->'Snapshot', data->'snapshot');

An archiver closed over IDocumentSession was never called for past compactions, so that copy won't exist.

Behaviour changes

  • IncludeEvents now includes archived events. A masking filter that needs only live events should add !x.IsArchived.
  • An events archiver closed over anything other than IDocumentOperations or IDocumentSession now throws InvalidOperationException before anything is queued. It used to be skipped silently, with the events deleted anyway. An archiver closed over IDocumentSession is now called.
  • Weasel 9.48.0: ToParameterType now throws for an unmapped type where it used to return a character catch-all. An enum resolves through its underlying type, so a long-backed enum gives Bigint. Marten's own call sites are not affected.

What's Changed

Full Changelog: JasperFx/marten@v9.56.0...V9.57.0
... (truncated)

9.56.0

What's Changed

Full Changelog: JasperFx/marten@V9.55.0...v9.56.0

9.55.0

Read before upgrading

Apps running under a Turkish or Azerbaijani culture (tr-TR, az-AZ) with document types whose names contain an uppercase I. Document aliases (#​5778), DdlTemplate lookups and flat-table upsert function names (#​5783) are now lowered with the invariant culture. Before this release, those cultures turned I into a dotless ı, so a document type Invoice was stored in mt_doc_ınvoice. From 9.55.0 it maps to mt_doc_invoice, and Marten will create that table empty. Rename the existing tables (and their upsert functions) to the invariant name before upgrading, or the existing documents will appear to be missing. Apps on any other culture are unaffected: the names they generate are unchanged.

Behaviour change: StoredDocument.Version for projection documents (#​5773). For a mapping that uses UseVersionFromMatchingStream with revisions, the diagnostics version token is now <mt_version>:<mt_last_modified as epoch microseconds> (or an md5 of the document body when last-modified tracking is disabled). It used to be mt_version alone, which did not change when the daemon rewrote the document at the same stream version. Anything that parsed the token as an integer must be updated. Undeleting a projection document through the diagnostics writer also no longer bumps mt_version past the stream's version.

Fixes worth calling out

  • HiLo ids recover after an outage (#​5784). If the first id allocation on a fresh store hit a database outage, every later allocation on that store rethrew the same exception after the database came back. Thanks to @​kentcooper for the report and the reproduction the regression test is built from.
  • Subclass queries use nested duplicated-field columns (#​5777). A query on a subclass now uses the duplicated column for a nested member such as x.Inner.Value, instead of falling back to the JSONB path.
  • Verbose connection tracing (#​5772). With TrackConnections = TrackLevel.Verbose, a marten.append.event activity event is now emitted on every append route, including the Quick routes that are the V9 default. Expect more events per append than before.
  • Weasel 9.47.1 fixes index readback for a DatabaseSchemaName that is a reserved word or contains uppercase. Before, every schema apply after the first failed with 42P07 (weasel#​750, contributed by @​marc-RocketRez).
  • StreamPagedByCursor writes each page's bytes directly and disposes its pooled stream (#​5776, @​chrisbbe).

What's Changed

New Contributors

Full Changelog: JasperFx/marten@v9.54.2...V9.55.0

9.54.2

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V9.54.1...v9.54.2

9.54.1

Full Changelog: JasperFx/marten@V9.54.0...V9.54.1

9.54.0

Full Changelog: JasperFx/marten@v9.53.0...V9.54.0

9.53.0

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).

9.52.0

Highlights and behaviour changes

Built on JasperFx 2.93.1.

  • New table: mt_event_projection_floors. Every event store gets this table as a schema migration on its next
    apply (#​5740). It holds the persisted projection start floors behind the new AsyncOptions.SubscribeFromFirstRun().
    A database whose schema has not been migrated yet keeps starting its projections exactly as before. Floors survive
    DeleteAllDocumentsAsync, DeleteAllEventDataAsync and ResetAllData, and they are removed along with a tenant.
  • New option: StoreOptions.Advanced.ExceptionTransforms (#​5682). Register your own exception transforms, consulted
    before Marten's built-in ones, to turn a PostgresException with your own SQLSTATE into a typed exception.
  • Document diagnostics for CritterWatch (#​5740): restore a soft-deleted document (UndeleteDocumentAsync), and order
    a document page by last modified, numeric revision or created time ("newest first").
  • A permanent database error in projection code is now attributed to the event that hit it (#​5741). The paused
    shard reports ShardFailureCategory.ApplyEvent and names the event, where it used to report Other with no event.
    It is still not dead-lettered, and it was never retried before either.
  • IEventStore.PreviewHighWaterAdvanceAsync / AdvanceHighWaterMarkToLatestAsync (#​5738): preview, then
    advance, the high-water mark to the latest event, the store-agnostic operation CritterWatch calls.
  • Fixes:
    • removing a tenant under UseTenantPartitionedEvents no longer fails with 23503, whether the store has DCB tag
      rows (#​5720) or a [NaturalKey] aggregate (#​5742);
    • a multi-stream projection's revision is no longer truncated through int past int.MaxValue, so ILongVersioned
      works as #​4526 advised (#​5723);
    • UndoDeleteWhere / HardDeleteWhere no longer cause a false ConcurrencyException on a numeric-revision write
      later in the same session (#​5743).
  • The Aspire sample now uses Aspire.AppHost.Sdk 13.6.3 with a PostgreSQL resource. The NuGet publish workflow no
    longer installs the obsolete aspire workload (#​5724).

What's Changed

Full Changelog: JasperFx/marten@v9.51.0...v9.52.0

9.51.0

What's Changed

Full Changelog: JasperFx/marten@V9.50.3...v9.51.0

Commits viewable in compare view.

Updated Marten.AspNetCore from 9.50.3 to 9.57.0.

Release notes

Sourced from Marten.AspNetCore's releases.

9.57.0

Highlights

  • Compaction no longer deletes the history of a stream that folds to null. A stream deleted by its own aggregate, through ShouldDelete or DeleteEvent<T>, used to lose its whole history to an empty snapshot. Compaction now leaves it alone and logs an information line. (#​5797)
  • Event data masking now reaches archived and skipped events. IncludeStream and IncludeEvents used to leave those rows in plain text and report success. (#​5797)
  • opts.Events.AutoDiscoverTagTypes turns off automatic DCB tag type registration, for stores that use strong-typed identifiers but not DCB. It's on by default, and explicit RegisterTagType<T>() calls work either way. Thanks to @​gschuager for the report and the design. (#​5806)
  • EventStoreUsage reports the event store's TenancyStyle, so a console can tell conjoined events from conjoined documents. (#​5805)
  • JasperFx 2.98.0 and Weasel 9.48.0.

Action needed after upgrading

If you rely on masking for archived or skipped events: run the same ApplyEventDataMasking call again. Data that was archived or skipped when you last ran it is still in plain text until you do.

That call runs your rules again over everything the first pass reached. If a rule isn't safe to run twice, such as one that draws a new pseudonym, add x.IsArchived to an IncludeEvents filter that still names the same subject:

x.IncludeEvents(e => e.StreamId == streamId && e.IsArchived)

Never use x.IsArchived as the whole filter, because that masks every archived event in the store.

If you compact streams: the deleted events can't be rebuilt from Marten. To find affected streams, replace <schema> and run this, then restore those streams from a backup or from wherever an archiver copied them:

select stream_id, version, tenant_id
from <schema>.mt_events
where mt_dotnet_type like 'JasperFx.Events.Compacted%'
  and 'null'::jsonb in (data->'Snapshot', data->'snapshot');

An archiver closed over IDocumentSession was never called for past compactions, so that copy won't exist.

Behaviour changes

  • IncludeEvents now includes archived events. A masking filter that needs only live events should add !x.IsArchived.
  • An events archiver closed over anything other than IDocumentOperations or IDocumentSession now throws InvalidOperationException before anything is queued. It used to be skipped silently, with the events deleted anyway. An archiver closed over IDocumentSession is now called.
  • Weasel 9.48.0: ToParameterType now throws for an unmapped type where it used to return a character catch-all. An enum resolves through its underlying type, so a long-backed enum gives Bigint. Marten's own call sites are not affected.

What's Changed

Full Changelog: JasperFx/marten@v9.56.0...V9.57.0
... (truncated)

9.56.0

What's Changed

Full Changelog: JasperFx/marten@V9.55.0...v9.56.0

9.55.0

Read before upgrading

Apps running under a Turkish or Azerbaijani culture (tr-TR, az-AZ) with document types whose names contain an uppercase I. Document aliases (#​5778), DdlTemplate lookups and flat-table upsert function names (#​5783) are now lowered with the invariant culture. Before this release, those cultures turned I into a dotless ı, so a document type Invoice was stored in mt_doc_ınvoice. From 9.55.0 it maps to mt_doc_invoice, and Marten will create that table empty. Rename the existing tables (and their upsert functions) to the invariant name before upgrading, or the existing documents will appear to be missing. Apps on any other culture are unaffected: the names they generate are unchanged.

Behaviour change: StoredDocument.Version for projection documents (#​5773). For a mapping that uses UseVersionFromMatchingStream with revisions, the diagnostics version token is now <mt_version>:<mt_last_modified as epoch microseconds> (or an md5 of the document body when last-modified tracking is disabled). It used to be mt_version alone, which did not change when the daemon rewrote the document at the same stream version. Anything that parsed the token as an integer must be updated. Undeleting a projection document through the diagnostics writer also no longer bumps mt_version past the stream's version.

Fixes worth calling out

  • HiLo ids recover after an outage (#​5784). If the first id allocation on a fresh store hit a database outage, every later allocation on that store rethrew the same exception after the database came back. Thanks to @​kentcooper for the report and the reproduction the regression test is built from.
  • Subclass queries use nested duplicated-field columns (#​5777). A query on a subclass now uses the duplicated column for a nested member such as x.Inner.Value, instead of falling back to the JSONB path.
  • Verbose connection tracing (#​5772). With TrackConnections = TrackLevel.Verbose, a marten.append.event activity event is now emitted on every append route, including the Quick routes that are the V9 default. Expect more events per append than before.
  • Weasel 9.47.1 fixes index readback for a DatabaseSchemaName that is a reserved word or contains uppercase. Before, every schema apply after the first failed with 42P07 (weasel#​750, contributed by @​marc-RocketRez).
  • StreamPagedByCursor writes each page's bytes directly and disposes its pooled stream (#​5776, @​chrisbbe).

What's Changed

New Contributors

Full Changelog: JasperFx/marten@v9.54.2...V9.55.0

9.54.2

What's Changed

New Contributors

Full Changelog: JasperFx/marten@V9.54.1...v9.54.2

9.54.1

Full Changelog: JasperFx/marten@V9.54.0...V9.54.1

9.54.0

Full Changelog: JasperFx/marten@v9.53.0...V9.54.0

9.53.0

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).

9.52.0

Highlights and behaviour changes

Built on JasperFx 2.93.1.

  • New table: mt_event_projection_floors. Every event store gets this table as a schema migration on its next
    apply (#​5740). It holds the persisted projection start floors behind the new AsyncOptions.SubscribeFromFirstRun().
    A database whose schema has not been migrated yet keeps starting its projections exactly as before. Floors survive
    DeleteAllDocumentsAsync, DeleteAllEventDataAsync and ResetAllData, and they are removed along with a tenant.
  • New option: StoreOptions.Advanced.ExceptionTransforms (#​5682). Register your own exception transforms, consulted
    before Marten's built-in ones, to turn a PostgresException with your own SQLSTATE into a typed exception.
  • Document diagnostics for CritterWatch (#​5740): restore a soft-deleted document (UndeleteDocumentAsync), and order
    a document page by last modified, numeric revision or created time ("newest first").
  • A permanent database error in projection code is now attributed to the event that hit it (#​5741). The paused
    shard reports ShardFailureCategory.ApplyEvent and names the event, where it used to report Other with no event.
    It is still not dead-lettered, and it was never retried before either.
  • IEventStore.PreviewHighWaterAdvanceAsync / AdvanceHighWaterMarkToLatestAsync (#​5738): preview, then
    advance, the high-water mark to the latest event, the store-agnostic operation CritterWatch calls.
  • Fixes:
    • removing a tenant under UseTenantPartitionedEvents no longer fails with 23503, whether the store has DCB tag
      rows (#​5720) or a [NaturalKey] aggregate (#​5742);
    • a multi-stream projection's revision is no longer truncated through int past int.MaxValue, so ILongVersioned
      works as #​4526 advised (#​5723);
    • UndoDeleteWhere / HardDeleteWhere no longer cause a false ConcurrencyException on a numeric-revision write
      later in the same session (#​5743).
  • The Aspire sample now uses Aspire.AppHost.Sdk 13.6.3 with a PostgreSQL resource. The NuGet publish workflow no
    longer installs the obsolete aspire workload (#​5724).

What's Changed

Full Changelog: JasperFx/marten@v9.51.0...v9.52.0

9.51.0

What's Changed

Full Changelog: JasperFx/marten@V9.50.3...v9.51.0

Commits viewable in compare view.

Updated MessagePack from 2.5.303 to 2.5.307.

Release notes

Sourced from MessagePack's releases.

2.5.307

Security fix

Full Changelog: MessagePack-CSharp/MessagePack-CSharp@v2.5.305...v2.5.307

2.5.305

Security fix

Full Changelog: MessagePack-CSharp/MessagePack-CSharp@v2.5.303...v2.5.305

Commits viewable in compare view.

Updated Microsoft.Playwright from 1.63.0 to 1.64.1.

Release notes

Sourced from Microsoft.Playwright's releases.

1.64.1

Highlights

#​3391 - chore(driver): bump bundled Node.js to 24.22.1

Browser Versions

  • Chromium 156.0.8078.4
  • Mozilla Firefox 157.0
  • WebKit 27.2

This version was also tested against the following stable channels:

  • Google Chrome 155
  • Microsoft Edge 155

1.64.0

🧰 WebMCP

New page.Webmcp and frame.Webmcp give access to the tools that a page registers through the experimental WebMCP browser API, so you can test them like
any other part of your app:

var browser = await playwright.Chromium.LaunchAsync(new() { Args = new[] { "--enable-features=WebMCP" } });
var page = await browser.NewPageAsync();
await page.GotoAsync("https://example.com");

foreach (var tool in await page.Webmcp.ToolsAsync())
    Console.WriteLine($"{tool.Name}: {tool.Description}");

var result = await page.Webmcp.CallToolAsync("add", new { a = 2, b = 40 });
Console.WriteLine(result?.GetProperty("content")[0].GetProperty("text")); // "42"

Playwright MCP also supports WebMCP by default, with page-defined tools offered to the agent as webmcp_<tool>. Pass --no-webmcp to opt out.

playwright-cli exposes them as well:

playwright-cli webmcp-list
playwright-cli webmcp-call search_catalog --params '{"query":"cats"}'

🎬 Better videos

Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS:

await page.Screencast.StartAsync(new()
{
    Path = "video.webm",
    Size = new() { Width = 1920, Height = 1080 },
    Fps = 60,
});
await page.Screencast.ShowActionsAsync(new()
{
    Style = new()
    {
        Point = "width: 20px; height: 20px; border-radius: 50%; background: red",
        Highlight = "outline: 2px solid #​333; background: rgba(0, 128, 255, .15)",
        Title = "font-size: 16px",
    },
});
  • New RecordVideoFps option and new Fps option in Screencast.StartAsync(). Firefox and WebKit currently capture up to 25 frames per second.
  • New Style option takes CSS declarations for the Point marker, the target Highlight and the action Title. It replaces the FontSize option, which is now deprecated.
    ... (truncated)

Commits viewable in compare view.

Updated OpenTelemetry.Exporter.OpenTelemetryProtocol from 1.20.0 to 1.20.1.

Release notes

Sourced from OpenTelemetry.Exporter.OpenTelemetryProtocol's releases.

1.20.1

For highlights and announcements pertaining to this release see: Release Notes > 1.20.1.

The following changes are from the previous release [1.20.0](https://g...

_Description ha...

Description has been truncated

Bumps AndreGoepel.Core from 1.0.5 to 1.0.6
Bumps Aspire.Hosting.AppHost from 13.6.1 to 13.6.4
Bumps Aspire.Hosting.PostgreSQL from 13.6.1 to 13.6.4
Bumps Aspire.Hosting.Testing from 13.6.1 to 13.6.4
Bumps bunit from 2.11.3 to 2.13.3
Bumps Marten from 9.50.3 to 9.57.0
Bumps Marten.AspNetCore from 9.50.3 to 9.57.0
Bumps MessagePack from 2.5.303 to 2.5.307
Bumps Microsoft.Playwright from 1.63.0 to 1.64.1
Bumps OpenTelemetry.Exporter.OpenTelemetryProtocol from 1.20.0 to 1.20.1
Bumps OpenTelemetry.Extensions.Hosting from 1.20.0 to 1.20.1
Bumps OpenTelemetry.Instrumentation.AspNetCore from 1.20.0 to 1.20.1
Bumps OpenTelemetry.Instrumentation.Http from 1.20.0 to 1.20.1
Bumps OpenTelemetry.Instrumentation.Runtime from 1.20.0 to 1.20.1
Bumps Quartz.Extensions.Hosting from 4.5.1 to 4.7.2
Bumps Radzen.Blazor from 12.1.4 to 12.1.11

---
updated-dependencies:
- dependency-name: AndreGoepel.Core
  dependency-version: 1.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: Aspire.Hosting.AppHost
  dependency-version: 13.6.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: MessagePack
  dependency-version: 2.5.307
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: Aspire.Hosting.PostgreSQL
  dependency-version: 13.6.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: Aspire.Hosting.Testing
  dependency-version: 13.6.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: bunit
  dependency-version: 2.13.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-patch
- dependency-name: Marten
  dependency-version: 9.57.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-patch
- dependency-name: Marten.AspNetCore
  dependency-version: 9.57.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-patch
- dependency-name: Microsoft.Playwright
  dependency-version: 1.64.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-patch
- dependency-name: OpenTelemetry.Exporter.OpenTelemetryProtocol
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: OpenTelemetry.Extensions.Hosting
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: OpenTelemetry.Instrumentation.AspNetCore
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: OpenTelemetry.Instrumentation.Http
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: OpenTelemetry.Instrumentation.Runtime
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
- dependency-name: Quartz.Extensions.Hosting
  dependency-version: 4.7.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-minor-patch
- dependency-name: Radzen.Blazor
  dependency-version: 12.1.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file .NET Pull requests that update .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A single timed-out or 504 DCP Create call permanently fails the resource (FailedToStart); not retried since 13.6.0

0 participants