Skip to content

chore(deps): Bump the nuget-dependencies group with 15 updates - #57

Merged
github-actions[bot] merged 1 commit into
masterfrom
dependabot/nuget/nuget-dependencies-e0ed834b9a
Oct 26, 2026
Merged

github-actions[bot] merged 1 commit into
masterfrom
dependabot/nuget/nuget-dependencies-e0ed834b9a

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 26, 2026

Copy link
Copy Markdown
Contributor

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.Redis from 13.6.1 to 13.6.4.

Release notes

Sourced from Aspire.Hosting.Redis'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 Microsoft.OpenApi from 2.12.2 to 2.13.0.

Release notes

Sourced from Microsoft.OpenApi's releases.

2.13.0

2.13.0 (2026-10-19)

Features

Bug Fixes

Commits viewable in compare view.

Updated Microsoft.Playwright.Xunit from 1.63.0 to 1.64.1.

Release notes

Sourced from Microsoft.Playwright.Xunit'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.

  • NuGet: OpenTelemetry v1.20.1

    • Fixed a possible race condition on ARM64 when multiple threads record the
      first measurement with no tags, or the first overflow measurement, that could
      cause the measurement to be recorded incorrectly.
      (#​7951)

    • Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
      and prefixed JWTs.
      (#​7955)

    • Fixed default HTTP client log filtering when registering the OTLP log exporter
      through OpenTelemetryLoggerOptions.
      (#​7959)

    • Fixed legacy self-diagnostics logging terminating the process when the log
      file is truncated or the log volume runs out of space.
      (#​7956)

    • Experimental (pre-release builds only): Fixed Logger.EmitLog ignoring
      instrumentation suppression, which could cause recursive exports or deadlocks.
      (#​7961)

    • Fixed delta double counters losing subsequent measurements after a non-finite
      or large value and idle metric points with a NaN value failing to be reclaimed.
      (#​7963)

    • Improve the assignment of values to exponential histogram buckets when the
      value is near a bucket boundary by using a pre-computed lookup table.
      (#​7911)

    • Fixed LogRecords being returned to the shared pool while still queued for
      export when an exporter stops enumerating a single-item or array
      Batch<LogRecord> early which could cause a BatchLogRecordExportProcessor
      on the same provider to export missing or incorrect data.
      (#​7965)

    • Fixed a SuppressInstrumentationScope.Enter() reference count never being
      released when the Activity it was entered for is not recorded, which caused
      all subsequent telemetry in that execution context to be suppressed.
      (#​7966)

    • Self-diagnostics log files, whether configured through OTEL_DIAGNOSTICS.json
      or SelfDiagnosticsOptions, are now always created as new files.
      (#​7968)

... (truncated)

1.20.1-rc.1

The following changes are from the previous release 1.20.0.

  • NuGet: OpenTelemetry v1.20.1-rc.1

    • Fixed a possible race condition on ARM64 when multiple threads record the
      first measurement with no tags, or the first overflow measurement, that could
      cause the measurement to be recorded incorrectly.
      (#​7951)

    • Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
      and prefixed JWTs.
      (#​7955)

    • Fixed default HTTP client log filtering when registering the OTLP log exporter
      through OpenTelemetryLoggerOptions.
      (#​7959)

    • Fixed legacy self-diagnostics logging terminating the process when the log
      file is truncated or the log volume runs out of space.
      (#​7956)

    • Experimental (pre-release builds only): Fixed Logger.EmitLog ignoring
      instrumentation suppression, which could cause recursive exports or deadlocks.
      (#​7961)

    • Fixed delta double counters losing subsequent measurements after a non-finite
      or large value and idle metric points with a NaN value failing to be reclaimed.
      (#​7963)

    • Improve the assignment of values to exponential histogram buckets when the
      value is near a bucket boundary by using a pre-computed lookup table.
      (#​7911)

    • Fixed LogRecords being returned to the shared pool while still queued for
      export when an exporter stops enumerating a single-item or array
      Batch<LogRecord> early which could cause a BatchLogRecordExportProcessor
      on the same provider to export missing or incorrect data.
      (#​7965)

    • Fixed a SuppressInstrumentationScope.Enter() reference count never being
      released when the Activity it was entered for is not recorded, which caused
      all subsequent telemetry in that execution context to be suppressed.
      (#​7966)

    • Self-diagnostics log files, whether configured through OTEL_DIAGNOSTICS.json
      or SelfDiagnosticsOptions, are now always created as new files.
      (#​7968)

    • Self-diagnostics messages written to the sinks configured by
      SelfDiagnosticsOptions are now truncated to 16,384 characters so that the
      ... (truncated)

1.20.1-beta.1

The following changes are from the previous release 1.20.0-beta.1.

  • NuGet: OpenTelemetry.Exporter.Prometheus.AspNetCore v1.20.1-beta.1

    • Fixed scrape responses being handed to the server in a single write, which
      made the server buffer a full copy of the response for each client that did
      not read it until the request completed or timed out. Responses are now
      written in bounded slices so the server's back-pressure applies.
      (#​7957)

    • Fixed startup scrapes permanently omitting target_info and configured
      resource constant labels from subsequent scrape responses.
      (#​7984)

    • Updated OpenTelemetry core component version(s) to 1.20.1.
      (#​7990)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Prometheus.HttpListener v1.20.1-beta.1

    • Fixed scrape responses being handed to the server in a single write, which
      on Linux and macOS made the listener allocate and hold a full copy of the
      response for each client that did not read it until the request completed or
      timed out. Responses are now written in bounded slices.
      (#​7957)

    • Fixed scrape requests that announce a request body holding a thread pool
      thread after their response had been sent on Linux and macOS for as long as
      the client kept trickling in the body. The connection is now closed after
      responding to a request with a body instead of being kept alive.
      (#​7962)

    • Fixed startup scrapes permanently omitting target_info and configured
      resource constant labels from subsequent scrape responses.
      (#​7984)

    • Updated OpenTelemetry core component version(s) to 1.20.1.
      (#​7990)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Shims.OpenTracing v1.20.1-beta.1

    • Updated OpenTelemetry core component version(s) to 1.20.1.
      (#​7990)

    See CHANGELOG for details.

Commits viewable in compare view.

Updated OpenTelemetry.Extensions.Hosting from 1.20.0 to 1.20.1.

Release notes

Sourced from OpenTelemetry.Extensions.Hosting'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.

  • NuGet: OpenTelemetry v1.20.1

    • Fixed a possible race condition on ARM64 when multiple threads record the
      first measurement with no tags, or the first overflow measurement, that could
      cause the measurement to be recorded incorrectly.
      (#​7951)

    • Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
      and prefixed JWTs.
      (#​7955)

    • Fixed default HTTP client log filtering when registering the OTLP log exporter
      through OpenTelemetryLoggerOptions.
      (#​7959)

    • Fixed legacy self-diagnostics logging terminating the process when the log
      file is truncated or the log volume runs out of space.
      (#​7956)

    • Experimental (pre-release builds only): Fixed Logger.EmitLog ignoring
      instrumentation suppression, which could cause recursive exports or deadlocks.
      (#​7961)

    • Fixed delta double counters losing subsequent measurements after a non-finite
      or large value and idle metric points with a NaN value failing to be reclaimed.
      (#​7963)

    • Improve the assignment of values to exponential histogram buckets when the
      value is near a bucket boundary by using a pre-computed lookup table.
      (#​7911)

    • Fixed LogRecords being returned to the shared pool while still queued for
      export when an exporter stops enumerating a single-item or array
      Batch<LogRecord> early which could cause a BatchLogRecordExportProcessor
      on the same provider to export missing or incorrect data.
      (#​7965)

    • Fixed a SuppressInstrumentationScope.Enter() reference count never being
      released when the Activity it was entered for is not recorded, which caused
      all subsequent telemetry in that execution context to be suppressed.
      (#​7966)

    • Self-diagnostics log files, whether configured through OTEL_DIAGNOSTICS.json
      or SelfDiagnosticsOptions, are now always created as new files.
      (#​7968)

... (truncated)

1.20.1-rc.1

The following changes are from the previous release 1.20.0.

  • NuGet: OpenTelemetry v1.20.1-rc.1

    • Fixed a possible race condition on ARM64 when multiple threads record the
      first measurement with no tags, or the first overflow measurement, that could
      cause the measurement to be recorded incorrectly.
      (#​7951)

    • Fixed self-diagnostics preamble redaction of quoted or encoded PEM material
      and prefixed JWTs.
      (#​7955)

    • Fixed default HTTP client log filtering when registering the OTLP log exporter
      through OpenTelemetryLoggerOptions.
      (#​7959)

    • Fixed legacy self-diagnostics logging terminating the process when the log
      file is truncated or the log volume runs out of space.
      (#​7956)

    • Experimental (pre-release builds only): Fixed Logger.EmitLog ignoring
      instrumentation suppression, which could cause recursive exports or deadlocks.
      (#​7961)

    • Fixed delta double counters losing subsequent measurements after a non-finite
      or large value and idle metric points with a NaN value failing to be reclaimed.
      (#​7963)

    • Improve the assignment of values to exponential histogram buckets when the
      value is near a bucket boundary by using a pre-computed lookup table.
      (#​7911)

    • Fixed LogRecords being returned to the shared pool while still queued for
      export when an exporter stops enumerating a single-item or array
      Batch<LogRecord> early which could cause a BatchLogRecordExportProcessor
      on the same provider to export missing or incorrect data.
      (#​7965)

    • Fixed a SuppressInstrumentationScope.Enter() reference count never being
      released when the Activity it was entered for is not recorded, which caused
      all subsequent telemetry in that execution context to be suppressed.
      (#​7966)

    • Self-diagnostics log files, whether configured through OTEL_DIAGNOSTICS.json
      or SelfDiagnosticsOptions, are now always created as new files.
      (#​7968)

    • Self-diagnostics messages written to the sinks configured by
      SelfDiagnosticsOptions are now truncated to 16,384 characters so that the
      ... (truncated)

1.20.1-beta.1

The following changes are from the previous release 1.20.0-beta.1.

  • NuGet: OpenTelemetry.Exporter.Prometheus.AspNetCore v1.20.1-beta.1

    • Fixed scrape responses being handed to the server in a single write, which
      made the server buffer a full copy of the response for each client that did
      not read it until the request completed or timed out. Responses are now
      written in bounded slices so the server's back-pressure applies.
      (#​7957)

    • Fixed startup scrapes permanently omitting target_info and configured
      resource constant labels from subsequent scrape responses.
      (#​7984)

    • Updated OpenTelemetry core component version(s) to 1.20.1.
      (#​7990)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Exporter.Prometheus.HttpListener v1.20.1-beta.1

    • Fixed scrape responses being handed to the server in a single write, which
      on Linux and macOS made the listener allocate and hold a full copy of the
      response for each client that did not read it until the request completed or
      timed out. Responses are now written in bounded slices.
      (#​7957)

    • Fixed scrape requests that announce a request body holding a thread pool
      thread after their response had been sent on Linux and macOS for as long as
      the client kept trickling in the body. The connection is now closed after
      responding to a request with a body instead of being kept alive.
      (#​7962)

    • Fixed startup scrapes permanently omitting target_info and configured
      resource constant labels from subsequent scrape responses.
      (#​7984)

    • Updated OpenTelemetry core component version(s) to 1.20.1.
      (#​7990)

    See CHANGELOG for details.

  • NuGet: OpenTelemetry.Shims.OpenTracing v1.20.1-beta.1

    • Updated OpenTelemetry core component version(s) to 1.20.1.
      (#​7990)

    See CHANGELOG for details.

Commits viewable in compare view.

Updated OpenTelemetry.Instrumentation.AspNetCore from 1.20.0 to 1.20.1.

Release notes

Sourced from OpenTelemetry.Instrumentation.AspNetCore's releases.

1.20.1

1.20.1-rc.1

1.20.1-beta.1

1.20.1-alpha.1

Commits viewable in compare view.

Updated OpenTelemetry.Instrumentation.Http from 1.20.0 to 1.20.1.

Release notes

Sourced from OpenTelemetry.Instrumentation.Http's releases.

1.20.1

1.20.1-rc.1

1.20.1-beta.1

1.20.1-alpha.1

Commits viewable in compare view.

Updated OpenTelemetry.Instrumentation.Runtime from 1.20.0 to 1.20.1.

Release notes

Sourced from OpenTelemetry.Instrumentation.Runtime's releases.

1.20.1

1.20.1-rc.1

1.20.1-beta.1

1.20.1-alpha.1

Commits viewable in compare view.

Updated PatternKit.Core from 0.147.29 to 0.147.31.

Release notes

Sourced from PatternKit.Core's releases.

0.147.31

What's Changed

Full Changelog: JerrettDavis/PatternKit@v0.147.30...v0.147.31

0.147.30

What's Changed

Full Changelog: JerrettDavis/PatternKit@v0.147.29...v0.147.30

What's Changed

Full Changelog: JerrettDavis/PatternKit@v0.147.29...v0.147.30

Commits viewable in compare view.

Updated Quartz from 4.5.1 to 4.6.0.

Release notes

Sourced from Quartz's releases.

4.6.0

Quartz.NET 4.6 is about clusters under load. A firing round of work that allows concurrent execution takes no TRIGGER_ACCESS lock, and a round reads each concern once whatever its size. An interrupt reaches the node running the firing, through the store. A node can serve only the execution groups it is configured for, and execution history can write behind. A trimmed or native publish now records no Quartz trim warning, and eight packages are proven under native AOT. An application on 4.5 compiles on 4.6 unchanged, unless it treats warnings as errors and has a cron literal that the new analyzer warning QZ0007 reports. The upgrade has three required database migrations, each one nullable column that can run while 4.5 nodes are up; see Upgrading from 4.5 to 4.6.

dotnet add package Quartz --version 4.6.0

Highlights

  • Lock-free firing rounds. On a clustered ADO.NET store, a round whose candidates all allow concurrent execution claims its triggers with guarded writes instead of taking TRIGGER_ACCESS. It is on by default, with an off switch. While any 4.5 node is live, every round takes the lock as before. SQL Server keeps the lock. Clustering
  • One read per concern. A clustered firing round reads each concern once, whatever its size, and a one-off's lock-free completion is one read and one write. Clustering
  • Interrupts reach every node. On a clustered store, Interrupt and InterruptFireInstance record a request for a firing on another node, and that node cancels the job's token after its next check-in. CancelPrevious now works across nodes too. Clustering
  • Execution-group routing. A node lists the execution groups it serves, or the ones it refuses, and acquires nothing else. Manual, startup and recovered firings keep their job's group. Execution groups
  • History can write behind. With ExecutionHistoryOptions.WriteBehindInterval set, a completion is queued and flushed with one status update per job per flush, at close to history-off throughput. Execution history
  • A trigger's own misfire threshold, and a scheduler-wide default instruction. WithMisfireThreshold lets one trigger tolerate a longer delay, or a shorter one, without moving the store's threshold for every other trigger. DefaultMisfireHandling sets what an unstated misfire instruction becomes, for every trigger type. Triggers
  • No Quartz trim warnings. The trim baseline is gone, and three feature switches turn the reflective paths off under PublishTrimmed and PublishAot. Quartz.Weasel.SQLite joins the packages proven native on every pull request. Trimming and native AOT

Clustering

  • Lock-free firing rounds (#​4123, closes #​4067).
    • AdoJobStoreOptions.LockFreeFiringRounds, default true; flat key quartz.jobStore.lockFreeFiringRounds. false restores 4.5's rounds.
    • Each node stamps its Quartz version in the new QRTZ_SCHEDULER_STATE.QUARTZ_VERSION, from the required migration 4.6/add_scheduler_version. While any 4.5 node is live, every round takes the lock (event 3517); once the last one ages out, rounds go lock-free (event 3518).
    • SQL Server keeps the lock. A round that needs it, such as one with a [DisallowConcurrentExecution] candidate, takes it.
    • A clustered round that loses a claim runs the following rounds locked (reason contention, event 3060) until the backlog clears or 2 s pass, so a drained backlog is no slower than under 4.5.
    • Measured on PostgreSQL: 3–24% more firings per second than 4.5 in the throughput census.
  • One read per concern (#​4086, closes #​4066).
  • Cluster-wide interrupt (#​4130, closes #​4071).
    • A request is a nullable INTERRUPT_REQUESTED_TIME on the firing's QRTZ_FIRED_TRIGGERS row, from migration 4.6/add_fired_trigger_interrupt. The node running the firing reads its requests after every check-in, so a request lands within one CheckinInterval, 7.5 seconds by default.
    • true from Interrupt means interrupted here or asked, not stopped.
    • A 4.5 node never reads the request; a 4.6 node says so once per such node (event 3520).
    • CancelPrevious asks a 4.6 peer instead of waiting as BufferOne. The two firings overlap for up to one check-in interval.
  • A clustered scheduler generates its instance id unless one was chosen (#​4105, closes #​4091). UseClustering() used to leave every node at NON_CLUSTERED.

Execution groups

  • A node serves the execution groups it is configured for (#​4088, closes #​4069).
  • Manual and startup firings carry their job's execution group (#​4109, closes #​4092).
  • A recovered trigger keeps its job's execution group (#​4084, closes #​4081).
  • Names in IConfiguration keep their case, and an execution-limit prefix such as tenant:* can be configured (#​4107, closes #​4093).

Execution history

  • Write-behind (#​4125, closes #​3979). ExecutionHistoryOptions.WriteBehindInterval queues each completion; one writer per store flushes every interval, or at 256 waiting runs, in one transaction with one QRTZ_JOB_STATUS update per job. In the census, history on ran at 276 firings per second, write-behind at 379, and history off at 388.
    • A crash loses the queue, normally at most one interval of runs. Reads of history and job status lag by up to one interval. Off by default.
  • Lookups by exact trigger key and fire instance id, on two indexes of their own (#​4094, closes #​4072). Optional migration 4.6/add_execution_history_lookup_indexes.

Triggers

  • A trigger carries its own misfire threshold (#​4131, closes #​4070).
    • TriggerBuilder<TJob>.WithMisfireThreshold(TimeSpan), ITrigger.MisfireThreshold: positive, whole milliseconds; null is the store's MisfireThreshold, as before.
    • Every surface carries it: [CronTrigger]/[SimpleTrigger] MisfireThreshold (checked by the new analyzer error QZ0008), the JSON and XML schedules, TriggerDetailsUpdate, the HTTP API's update-details and the dashboard's Edit details.
      ... (truncated)

Commits viewable in compare view.

Updated Quartz.AspNetCore from 4.5.1 to 4.6.0.

Release notes

Sourced from Quartz.AspNetCore's releases.

4.6.0

Quartz.NET 4.6 is about clusters under load. A firing round of work that allows concurrent execution takes no TRIGGER_ACCESS lock, and a round reads each concern once whatever its size. An interrupt reaches the node running the firing, through the store. A node can serve only the execution groups it is configured for, and execution history can write behind. A trimmed or native publish now records no Quartz trim warning, and eight packages are proven under native AOT. An application on 4.5 compiles on 4.6 unchanged, unless it treats warnings as errors and has a cron literal that the new analyzer warning QZ0007 reports. The upgrade has three required database migrations, each one nullable column that can run while 4.5 nodes are up; see Upgrading from 4.5 to 4.6.

dotnet add package Quartz --version 4.6.0

Highlights

  • Lock-free firing rounds. On a clustered ADO.NET store, a round whose candidates all allow concurrent execution claims its triggers with guarded writes instead of taking TRIGGER_ACCESS. It is on by default, with an off switch. While any 4.5 node is live, every round takes the lock as before. SQL Server keeps the lock. Clustering
  • One read per concern. A clustered firing round reads each concern once, whatever its size, and a one-off's lock-free completion is one read and one write. Clustering
  • Interrupts reach every node. On a clustered store, Interrupt and InterruptFireInstance record a request for a firing on another node, and that node cancels the job's token after its next check-in. CancelPrevious now works across nodes too. Clustering
  • Execution-group routing. A node lists the execution groups it serves, or the ones it refuses, and acquires nothing else. Manual, startup and recovered firings keep their job's group. Execution groups
  • History can write behind. With ExecutionHistoryOptions.WriteBehindInterval set, a completion is queued and flushed with one status update per job per flush, at close to history-off throughput. Execution history
  • A trigger's own misfire threshold, and a scheduler-wide default instruction. WithMisfireThreshold lets one trigger tolerate a longer delay, or a shorter one, without moving the store's threshold for every other trigger. DefaultMisfireHandling sets what an unstated misfire instruction becomes, for every trigger type. Triggers
  • No Quartz trim warnings. The trim baseline is gone, and three feature switches turn the reflective paths off under PublishTrimmed and PublishAot. Quartz.Weasel.SQLite joins the packages proven native on every pull request. Trimming and native AOT

Clustering

  • Lock-free firing rounds (#​4123, closes #​4067).
    • AdoJobStoreOptions.LockFreeFiringRounds, default true; flat key quartz.jobStore.lockFreeFiringRounds. false restores 4.5's rounds.
    • Each node stamps its Quartz version in the new QRTZ_SCHEDULER_STATE.QUARTZ_VERSION, from the required migration 4.6/add_scheduler_version. While any 4.5 node is live, every round takes the lock (event 3517); once the last one ages out, rounds go lock-free (event 3518).
    • SQL Server keeps the lock. A round that needs it, such as one with a [DisallowConcurrentExecution] candidate, takes it.
    • A clustered round that loses a claim runs the following rounds locked (reason contention, event 3060) until the backlog clears or 2 s pass, so a drained backlog is no slower than under 4.5.
    • Measured on PostgreSQL: 3–24% more firings per second than 4.5 in the throughput census.
  • One read per concern (#​4086, closes #​4066).
  • Cluster-wide interrupt (#​4130, closes #​4071).
    • A request is a nullable INTERRUPT_REQUESTED_TIME on the firing's QRTZ_FIRED_TRIGGERS row, from migration 4.6/add_fired_trigger_interrupt. The node running the firing reads its requests after every check-in, so a request lands within one CheckinInterval, 7.5 seconds by default.
    • true from Interrupt means interrupted here or asked, not stopped.
    • A 4.5 node never reads the request; a 4.6 node says so once per such node (event 3520).
    • CancelPrevious asks a 4.6 peer instead of waiting as BufferOne. The two firings overlap for up to one check-in interval.
  • A clustered scheduler generates its instance id unless one was chosen (#​4105, closes #​4091). UseClustering() used to leave every node at NON_CLUSTERED.

Execution groups

  • A node serves the execution groups it is configured for (#​4088, closes #​4069).
  • Manual and startup firings carry their job's execution group (#​4109, closes #​4092).
  • A recovered trigger keeps its job's execution group (#​4084, closes #​4081).
  • Names in IConfiguration keep their case, and an execution-limit prefix such as tenant:* can be configured (#​4107, closes #​4093).

Execution history

  • Write-behind (#​4125, closes #​3979). ExecutionHistoryOptions.WriteBehindInterval queues each completion; one writer per store flushes every interval, or at 256 waiting runs, in one transaction with one QRTZ_JOB_STATUS update per job. In the census, history on ran at 276 firings per second, write-behind at 379, and history off at 388.
    • A crash loses the queue, normally at most one interval of runs. Reads of history and job status lag by up to one interval. Off by default.
  • Lookups by exact trigger key and fire instance id, on two indexes of their own (#​4094, closes #​4072). Optional migration 4.6/add_execution_history_lookup_indexes.

Triggers

  • A trigger carries its own misfire threshold (#​4131, closes #​4070).
    • TriggerBuilder<TJob>.WithMisfireThreshold(TimeSpan), ITrigger.MisfireThreshold: positive, whole milliseconds; null is the store's MisfireThreshold, as before.
    • Every surface carries it: [CronTrigger]/[SimpleTrigger] MisfireThreshold (checked by the new analyzer error QZ0008), the JSON and XML schedules, TriggerDetailsUpdate, the HTTP API's update-details and the dashboard's Edit details.
      ... (truncated)

Commits viewable in compare view.

Updated TinyBDD from 0.19.44 to 0.19.46.

Release notes

Sourced from TinyBDD's releases.

0.19.46

What's Changed

Full Changelog: JerrettDavis/TinyBDD@v0.19.45...v0.19.46

0.19.45

What's Changed

Full Changelog: JerrettDavis/TinyBDD@v0.19.44...v0.19.45

Commits viewable in compare view.

Updated TinyBDD.Xunit from 0.19.44 to 0.19.46.

Release notes

Sourced from TinyBDD.Xunit's releases.

0.19.46

What's Changed

Full Changelog: JerrettDavis/TinyBDD@v0.19.45...v0.19.46

0.19.45

What's Changed

Full Changelog: JerrettDavis/TinyBDD@v0.19.44...v0.19.45

Commits viewable in compare view.

Updated WireMock.Net from 2.19.0 to 2.20.0.

Release notes

Sourced from WireMock.Net's releases.

2.20.0

What's Changed

New Contributors

Full Changelog: wiremock/WireMock.Net@2.19.0...2.20.0

Commits viewable in compare view.

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps Aspire.Hosting.PostgreSQL from 13.6.1 to 13.6.4
Bumps Aspire.Hosting.Redis from 13.6.1 to 13.6.4
Bumps Microsoft.OpenApi from 2.12.2 to 2.13.0
Bumps Microsoft.Playwright.Xunit 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 PatternKit.Core from 0.147.29 to 0.147.31
Bumps Quartz from 4.5.1 to 4.6.0
Bumps Quartz.AspNetCore from 4.5.1 to 4.6.0
Bumps TinyBDD from 0.19.44 to 0.19.46
Bumps TinyBDD.Xunit from 0.19.44 to 0.19.46
Bumps WireMock.Net from 2.19.0 to 2.20.0

---
updated-dependencies:
- dependency-name: Aspire.Hosting.PostgreSQL
  dependency-version: 13.6.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: Aspire.Hosting.Redis
  dependency-version: 13.6.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: Microsoft.OpenApi
  dependency-version: 2.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: Microsoft.Playwright.Xunit
  dependency-version: 1.64.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: OpenTelemetry.Exporter.OpenTelemetryProtocol
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: OpenTelemetry.Extensions.Hosting
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: OpenTelemetry.Instrumentation.AspNetCore
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: OpenTelemetry.Instrumentation.Http
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: OpenTelemetry.Instrumentation.Runtime
  dependency-version: 1.20.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: PatternKit.Core
  dependency-version: 0.147.31
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: Quartz
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: Quartz.AspNetCore
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
- dependency-name: TinyBDD
  dependency-version: 0.19.46
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: TinyBDD.Xunit
  dependency-version: 0.19.46
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: nuget-dependencies
- dependency-name: WireMock.Net
  dependency-version: 2.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: nuget-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@github-actions
github-actions Bot enabled auto-merge (squash) October 26, 2026 11:53
@github-actions
github-actions Bot merged commit 16de400 into master Oct 26, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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