Repository navigation
Bump the minor-and-patch group with 18 updates - #79
Merged
Merged
Conversation
Bumps Aspire.Hosting.AppHost from 13.4.6 to 13.5.4 Bumps Aspire.Hosting.Azure.CosmosDB from 13.4.6 to 13.5.4 Bumps bunit from 2.9.0 to 2.11.3 Bumps Hangfire.Core from 1.8.24 to 1.8.25 Bumps Microsoft.Azure.Cosmos from 3.62.1 to 3.63.0 Bumps Microsoft.Data.SqlClient from 7.0.2 to 7.0.3 Bumps Microsoft.Data.Sqlite from 10.0.11 to 10.0.12 Bumps Microsoft.Extensions.AI.Abstractions from 10.9.0 to 10.10.0 Bumps Microsoft.Extensions.Http from 10.0.11 to 10.0.12 Bumps Microsoft.NET.Test.Sdk from 18.8.1 to 18.10.1 Bumps Quartz.Extensions.DependencyInjection from 3.19.1 to 3.22.0 Bumps Quartz.Extensions.Hosting from 3.19.1 to 3.22.0 Bumps StackExchange.Redis from 3.1.13 to 3.2.1 Bumps Temporalio from 1.18.0 to 1.19.0 Bumps Testcontainers.CosmosDb from 4.13.0 to 4.15.0 Bumps Testcontainers.MsSql from 4.13.0 to 4.15.0 Bumps Testcontainers.PostgreSql from 4.13.0 to 4.15.0 Bumps Testcontainers.Redis from 4.13.0 to 4.15.0 --- updated-dependencies: - dependency-name: Aspire.Hosting.AppHost dependency-version: 13.5.4 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Aspire.Hosting.Azure.CosmosDB dependency-version: 13.5.4 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: bunit dependency-version: 2.11.3 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Hangfire.Core dependency-version: 1.8.25 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: Microsoft.Azure.Cosmos dependency-version: 3.63.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Microsoft.Data.SqlClient dependency-version: 7.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: Microsoft.Data.Sqlite dependency-version: 10.0.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: Microsoft.Extensions.AI.Abstractions dependency-version: 10.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Microsoft.Extensions.Http dependency-version: 10.0.12 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minor-and-patch - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.10.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Quartz.Extensions.DependencyInjection dependency-version: 3.22.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Quartz.Extensions.Hosting dependency-version: 3.22.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: StackExchange.Redis dependency-version: 3.2.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Temporalio dependency-version: 1.19.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Testcontainers.CosmosDb dependency-version: 4.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Testcontainers.MsSql dependency-version: 4.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Testcontainers.PostgreSql dependency-version: 4.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch - dependency-name: Testcontainers.Redis dependency-version: 4.15.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: minor-and-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
|
Dependabot couldn't find a Healthie.Abstractions.csproj.nuget.g.targets. Because of this, Dependabot cannot update this pull request. |
Regenerated with `dotnet restore --force-evaluate`, then verified with `--locked-mode` and a Release build. Dependabot cannot write these under central package management; see .github/workflows/refresh-lock-files.yml.
Contributor
Author
|
This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests. To ignore these dependencies, configure ignore rules in dependabot.yml |
dependabot
Bot
deleted the
dependabot/nuget/minor-and-patch-2005010ccb
branch
September 29, 2026 19:45
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated Aspire.Hosting.AppHost from 13.4.6 to 13.5.4.
Release notes
Sourced from Aspire.Hosting.AppHost's releases.
13.5.4
What's New in Aspire 13.5.4
Patch release for Aspire 13.5 that fixes Kafka health-check resource leaks, DevTunnel errors with automatically selected regions, misleading Azure emulator dashboard entries, and unintended changes to generated starter apps, plus Homebrew compatibility and Radius API diagnostic updates.
🐛 Fixes
📨 Kafka health checks leaked producers and polling threads — Each AppHost health-check execution created a new Kafka producer without disposing it, accumulating background threads over time. Health checks now reuse a producer per Kafka resource and dispose it with the AppHost, while keeping multiple Kafka resources independently configured. Fixes #20091. (#20094, backport of #20092, @davidfowl)
🌐 DevTunnels could fail when the region was selected automatically — Tunnel setup and health checks now use the cluster-qualified tunnel ID returned by the DevTunnel CLI for port operations and access queries. This fixes failures when a bare tunnel ID cannot be resolved for those operations. Regression introduced in 13.3. Fixes #18790. (#19853, backport of #19230, @Vladipz)
☁️ Emulator-only AppHosts showed an unused Azure environment — The dashboard now hides the
azure-environmentresource when no Azure resources require cloud provisioning, instead of leaving it visible in Not started. It remains visible for apps that combine local emulators with resources requiring Azure provisioning. No AppHost changes are needed. Fixes #19617. (#19998, backport of #19843, @eerhardt)🧩 Starter app generation could alter unrelated JavaScript values — Dynamic port replacement could also replace matching numeric literals in bundled JavaScript, including Bootstrap timing values. Port substitutions are now restricted to
localhost:URLs, preserving the original library files while still configuring the requested ports. Fixes #20030. (#20110, backport of #20031, @bart-vmware, @JamesNK)🍎 Updated the Aspire Homebrew cask for Homebrew 6.x — Replaced deprecated cask URL and post-install syntax with the supported equivalents, resolving compatibility issues with current Homebrew while preserving install-channel metadata. (#20119, backport of #19965, @askpt, @joperezr)
🧪 Radius cloud-provider callback interfaces now carry the experimental diagnostic —
IAwsRadiusProviderBuilderandIAzureRadiusProviderBuilderare now marked withASPIRERADIUS003, matching the existingWithAwsProviderandWithAzureProvidermethods. Code referencing these interfaces directly must now acknowledge the same experimental API diagnostic. (#19874, @sebastienros)Full Changelog: v13.5.3...v13.5.4
Full commit: 9c1b401dd67746739044f68959cbf4d3d7af93a6
13.5.3
What's New in Aspire 13.5.3
Patch release for Aspire 13.5 that fixes Dashboard Graph view crashes for resources with multi-path icons and restores missing public URLs for DevTunnel resources.
🐛 Fixes
📊 Dashboard Graph view could crash for Azure Blob resources — Resources such as those created with
AddBlobsuse icons containing multiple SVG paths, which caused an XML parsing exception and broke the dashboard circuit. The graph now combines multi-path icons correctly. Regression introduced in 13.5. Fixes #19489. (#19585, backport of #19579,@sebastienros)🌐 DevTunnel public URLs were missing from the Dashboard and MCP snapshots — DevTunnel port resources could report
RunningandHealthywhile showing no public URLs. Proxyless port allocation is now limited to compute and container resources, allowing DevTunnels to publish their actual public endpoints. Regression introduced in 13.5. Fixes #19496. (#19625, backport of #19590,@karolz-ms,@danegsta)🏷️ Housekeeping
Full Changelog: v13.5.2...v13.5.3
Full commit: b5f143315ffb6968ea939a9978797a5b20e4c688
13.5.2
What's New in Aspire 13.5.2
Patch release for Aspire 13.5 that removes an unused native helper binary from the Windows CLI archives so 13.5 servicing releases stay publishable to WinGet.
🐛 Fixes
hex1bpty.exe— The Windows CLI archives (aspire-cli-win-{x64,arm64}-*.zip) bundled Hex1b's out-of-process PTY host, which Aspire never executes (DCP owns every pseudo-terminal Aspire surfaces). Besides the wasted download, the extra unexplained executable stalled the WinGet publish, since every binary in the archive goes through executable and malware validation. A build-only MSBuild target now drops the file from the CLI publish output; Unix native assets are unaffected. Regression new in 13.5. ([#19557]([release/13.5] Exclude unused hex1bpty.exe from published CLI archives microsoft/aspire#19557), backport of #19554,@mitchdenny)🏷️ Housekeeping
Full Changelog: [v13.5.1...v13.5.2](microsoft/aspire@v13.5.1...v13.5.2)
Full commit: [a22cec24d76e764b3681977e314ab4a0aeed0240](microsoft/aspire@a22cec2)
13.5.1
What's New in Aspire 13.5.1
Patch release for Aspire 13.5 fixing a TypeScript/Java polyglot AppHost compatibility regression when running the 13.5 SDK under an older (13.4.x) CLI, plus a DCP update and release-pipeline housekeeping.
🐛 Fixes
🍎 Polyglot AppHosts could crash on startup on macOS — On macOS, polyglot (TypeScript/Python/Java/Go/Rust) AppHosts could crash during startup due to an interaction between how DCP's Go runtime forks detached processes and how .NET Native AOT installs its signal handlers. Updated DCP (Developer Control Plane) to 0.25.13 to resolve the crash. ([#19528]([release/13.5] [main] Update dependencies from microsoft/dcp microsoft/aspire#19528))
🔗 Polyglot AppHosts on the 13.5 SDK crashed under an older CLI with
MissingMethodException— A TypeScript or Java AppHost built with the 13.5 SDK failed to start when launched by an older (13.4.x) CLI, because the newer codegen calledAspire.TypeSystemmembers that don't exist in the CLI's older contract. Code generation now probes for these additive capabilities before using them, so older CLIs skip only the unsupported feature and startup succeeds. Regression introduced in 13.5 by #19365. Fixes #19503. ([#19524]([release/13.5] Preserve TypeSystem compatibility with older CLIs microsoft/aspire#19524), backport of #19506,@adamint)🏷️ Housekeeping
📦 Updated DCP (Developer Control Plane) to 0.25.13 ([#19528]([release/13.5] [main] Update dependencies from microsoft/dcp microsoft/aspire#19528))
🔧 Restored WinGet publication using .NET 9
wingetcreate([#19509]([release/13.5] fix(release): Restore WinGet publication with .NET 9 wingetcreate microsoft/aspire#19509))🧹 Removed the pipeline-scoped
Publish-Build-Assetsgroup from the release pipeline ([#19523]([release/13.5] Remove pipeline-scoped Publish-Build-Assets group microsoft/aspire#19523), [#19163](Remove Publish-Build-Assets variable group from release/13.5 microsoft/aspire#19163))🚀 Bumped branding to 13.5.1 ([#19531](Increment patch version from 0 to 1 microsoft/aspire#19531))
Full Changelog: [v13.5.0...v13.5.1](microsoft/aspire@v13.5.0...v13.5.1)
Full commit: [69db530a4816698cf1d5fa4557933e0ac4f127c6](microsoft/aspire@69db530)
13.5.0
Aspire 13.5.0
Aspire 13.5 is a developer-experience release focused on a richer, more interactive AppHost, closer C# and TypeScript parity, sharper tooling, more flexible deployment modeling, and a broad set of runtime-stability improvements.
Highlights
WithTerminal()API lets resources host REPLs, shells, TUIs, and other interactive programs directly in the dashboard, with an opt-inaspire terminalCLI command for attaching from your shell.ASPIREATS001experimental diagnostic and gain custom health checks, container file copying, HTTPS developer certificates, faster startup, and several reliability fixes that further close the gap with C#.aspire stop --force,aspire update --migrate,aspire doctor, docs search, signal handling, and stale-socket cleanup all improve day-to-day workflows.Aspire.Hosting.Dotnetpackage models .NET projects by path; Radius deployment arrives in preview; and Foundry Local, Redis modules, dev tunnels, Go debugging, and other integrations gain new capabilities.Notable changes include hosting context
ServiceProviderproperties being renamed toServices,PublishAsConnectionStringbecoming obsolete in favor ofAddConnectionString, removal ofaspire ps --resourcesand--include-hiddenin favor ofaspire describe, earlier proxyless endpoint port allocation, deprecation of the GitHub Models integration, removal of the dashboard AI Assistant, and opt-in rather than automatic dashboard launch from the VS Code extension.See the full list and migration guidance in the Aspire 13.5 breaking changes.
📖 Learn more
For complete details, examples, migration guidance, and everything new in this release, read What's new in Aspire 13.5.
Thank you to all the community contributors who helped make Aspire 13.5 possible! 💜
Full Changelog: v13.4.6...v13.5.0
Full commit: e076d8e427cb3afb528dbd605acd74c3aea69f94
Commits viewable in compare view.
Updated Aspire.Hosting.Azure.CosmosDB from 13.4.6 to 13.5.4.
Release notes
Sourced from Aspire.Hosting.Azure.CosmosDB's releases.
13.5.4
What's New in Aspire 13.5.4
Patch release for Aspire 13.5 that fixes Kafka health-check resource leaks, DevTunnel errors with automatically selected regions, misleading Azure emulator dashboard entries, and unintended changes to generated starter apps, plus Homebrew compatibility and Radius API diagnostic updates.
🐛 Fixes
📨 Kafka health checks leaked producers and polling threads — Each AppHost health-check execution created a new Kafka producer without disposing it, accumulating background threads over time. Health checks now reuse a producer per Kafka resource and dispose it with the AppHost, while keeping multiple Kafka resources independently configured. Fixes #20091. (#20094, backport of #20092, @davidfowl)
🌐 DevTunnels could fail when the region was selected automatically — Tunnel setup and health checks now use the cluster-qualified tunnel ID returned by the DevTunnel CLI for port operations and access queries. This fixes failures when a bare tunnel ID cannot be resolved for those operations. Regression introduced in 13.3. Fixes #18790. (#19853, backport of #19230, @Vladipz)
☁️ Emulator-only AppHosts showed an unused Azure environment — The dashboard now hides the
azure-environmentresource when no Azure resources require cloud provisioning, instead of leaving it visible in Not started. It remains visible for apps that combine local emulators with resources requiring Azure provisioning. No AppHost changes are needed. Fixes #19617. (#19998, backport of #19843, @eerhardt)🧩 Starter app generation could alter unrelated JavaScript values — Dynamic port replacement could also replace matching numeric literals in bundled JavaScript, including Bootstrap timing values. Port substitutions are now restricted to
localhost:URLs, preserving the original library files while still configuring the requested ports. Fixes #20030. (#20110, backport of #20031, @bart-vmware, @JamesNK)🍎 Updated the Aspire Homebrew cask for Homebrew 6.x — Replaced deprecated cask URL and post-install syntax with the supported equivalents, resolving compatibility issues with current Homebrew while preserving install-channel metadata. (#20119, backport of #19965, @askpt, @joperezr)
🧪 Radius cloud-provider callback interfaces now carry the experimental diagnostic —
IAwsRadiusProviderBuilderandIAzureRadiusProviderBuilderare now marked withASPIRERADIUS003, matching the existingWithAwsProviderandWithAzureProvidermethods. Code referencing these interfaces directly must now acknowledge the same experimental API diagnostic. (#19874, @sebastienros)Full Changelog: v13.5.3...v13.5.4
Full commit: 9c1b401dd67746739044f68959cbf4d3d7af93a6
13.5.3
What's New in Aspire 13.5.3
Patch release for Aspire 13.5 that fixes Dashboard Graph view crashes for resources with multi-path icons and restores missing public URLs for DevTunnel resources.
🐛 Fixes
📊 Dashboard Graph view could crash for Azure Blob resources — Resources such as those created with
AddBlobsuse icons containing multiple SVG paths, which caused an XML parsing exception and broke the dashboard circuit. The graph now combines multi-path icons correctly. Regression introduced in 13.5. Fixes #19489. (#19585, backport of #19579,@sebastienros)🌐 DevTunnel public URLs were missing from the Dashboard and MCP snapshots — DevTunnel port resources could report
RunningandHealthywhile showing no public URLs. Proxyless port allocation is now limited to compute and container resources, allowing DevTunnels to publish their actual public endpoints. Regression introduced in 13.5. Fixes #19496. (#19625, backport of #19590,@karolz-ms,@danegsta)🏷️ Housekeeping
Full Changelog: v13.5.2...v13.5.3
Full commit: b5f143315ffb6968ea939a9978797a5b20e4c688
13.5.2
What's New in Aspire 13.5.2
Patch release for Aspire 13.5 that removes an unused native helper binary from the Windows CLI archives so 13.5 servicing releases stay publishable to WinGet.
🐛 Fixes
hex1bpty.exe— The Windows CLI archives (aspire-cli-win-{x64,arm64}-*.zip) bundled Hex1b's out-of-process PTY host, which Aspire never executes (DCP owns every pseudo-terminal Aspire surfaces). Besides the wasted download, the extra unexplained executable stalled the WinGet publish, since every binary in the archive goes through executable and malware validation. A build-only MSBuild target now drops the file from the CLI publish output; Unix native assets are unaffected. Regression new in 13.5. ([#19557]([release/13.5] Exclude unused hex1bpty.exe from published CLI archives microsoft/aspire#19557), backport of #19554,@mitchdenny)🏷️ Housekeeping
Full Changelog: [v13.5.1...v13.5.2](microsoft/aspire@v13.5.1...v13.5.2)
Full commit: [a22cec24d76e764b3681977e314ab4a0aeed0240](microsoft/aspire@a22cec2)
13.5.1
What's New in Aspire 13.5.1
Patch release for Aspire 13.5 fixing a TypeScript/Java polyglot AppHost compatibility regression when running the 13.5 SDK under an older (13.4.x) CLI, plus a DCP update and release-pipeline housekeeping.
🐛 Fixes
🍎 Polyglot AppHosts could crash on startup on macOS — On macOS, polyglot (TypeScript/Python/Java/Go/Rust) AppHosts could crash during startup due to an interaction between how DCP's Go runtime forks detached processes and how .NET Native AOT installs its signal handlers. Updated DCP (Developer Control Plane) to 0.25.13 to resolve the crash. ([#19528]([release/13.5] [main] Update dependencies from microsoft/dcp microsoft/aspire#19528))
🔗 Polyglot AppHosts on the 13.5 SDK crashed under an older CLI with
MissingMethodException— A TypeScript or Java AppHost built with the 13.5 SDK failed to start when launched by an older (13.4.x) CLI, because the newer codegen calledAspire.TypeSystemmembers that don't exist in the CLI's older contract. Code generation now probes for these additive capabilities before using them, so older CLIs skip only the unsupported feature and startup succeeds. Regression introduced in 13.5 by #19365. Fixes #19503. ([#19524]([release/13.5] Preserve TypeSystem compatibility with older CLIs microsoft/aspire#19524), backport of #19506,@adamint)🏷️ Housekeeping
📦 Updated DCP (Developer Control Plane) to 0.25.13 ([#19528]([release/13.5] [main] Update dependencies from microsoft/dcp microsoft/aspire#19528))
🔧 Restored WinGet publication using .NET 9
wingetcreate([#19509]([release/13.5] fix(release): Restore WinGet publication with .NET 9 wingetcreate microsoft/aspire#19509))🧹 Removed the pipeline-scoped
Publish-Build-Assetsgroup from the release pipeline ([#19523]([release/13.5] Remove pipeline-scoped Publish-Build-Assets group microsoft/aspire#19523), [#19163](Remove Publish-Build-Assets variable group from release/13.5 microsoft/aspire#19163))🚀 Bumped branding to 13.5.1 ([#19531](Increment patch version from 0 to 1 microsoft/aspire#19531))
Full Changelog: [v13.5.0...v13.5.1](microsoft/aspire@v13.5.0...v13.5.1)
Full commit: [69db530a4816698cf1d5fa4557933e0ac4f127c6](microsoft/aspire@69db530)
13.5.0
Aspire 13.5.0
Aspire 13.5 is a developer-experience release focused on a richer, more interactive AppHost, closer C# and TypeScript parity, sharper tooling, more flexible deployment modeling, and a broad set of runtime-stability improvements.
Highlights
WithTerminal()API lets resources host REPLs, shells, TUIs, and other interactive programs directly in the dashboard, with an opt-inaspire terminalCLI command for attaching from your shell.ASPIREATS001experimental diagnostic and gain custom health checks, container file copying, HTTPS developer certificates, faster startup, and several reliability fixes that further close the gap with C#.aspire stop --force,aspire update --migrate,aspire doctor, docs search, signal handling, and stale-socket cleanup all improve day-to-day workflows.Aspire.Hosting.Dotnetpackage models .NET projects by path; Radius deployment arrives in preview; and Foundry Local, Redis modules, dev tunnels, Go debugging, and other integrations gain new capabilities.Notable changes include hosting context
ServiceProviderproperties being renamed toServices,PublishAsConnectionStringbecoming obsolete in favor ofAddConnectionString, removal ofaspire ps --resourcesand--include-hiddenin favor ofaspire describe, earlier proxyless endpoint port allocation, deprecation of the GitHub Models integration, removal of the dashboard AI Assistant, and opt-in rather than automatic dashboard launch from the VS Code extension.See the full list and migration guidance in the Aspire 13.5 breaking changes.
📖 Learn more
For complete details, examples, migration guidance, and everything new in this release, read What's new in Aspire 13.5.
Thank you to all the community contributors who helped make Aspire 13.5 possible! 💜
Full Changelog: v13.4.6...v13.5.0
Full commit: e076d8e427cb3afb528dbd605acd74c3aea69f94
Commits viewable in compare view.
Updated bunit from 2.9.0 to 2.11.3.
Release notes
Sourced from bunit's releases.
2.11.3
Fixed
InvokeOnSpacerBeforeVisiblenow uses 4 parameters on .NET 11.0. Reported by @vnbaaij in #1915. Fixed by @vnbaaij in #1919.InvalidOperationException: Nullable object must have a value. Reported by @calebcwells in #1920. Fixed by @linkdotnet.2.10.3
Fixed
BunitHtmlParser.Dispose()no longer throwsInvalidOperationException: Collection was modifiedwhen a parse is in flight on another thread during test teardown. Reported by @thimobuchheister in #1892. Fixed by @linkdotnet.Commits viewable in compare view.
Updated Hangfire.Core from 1.8.24 to 1.8.25.
Release notes
Sourced from Hangfire.Core's releases.
1.8.25
Release Notes
Hangfire.Core
DisableConcurrentExecutionAttribute(#2581 by @net0well).Hangfire.SqlServer
SqlServerStorageOptions.DisableFetchSemaphoresoption to remove synchronization between workers (0b6ef5043c6681263a9d4f915043a096b139c051).New Contributors
Full Changelog: HangfireIO/Hangfire@v1.8.24...v1.8.25
Commits viewable in compare view.
Updated Microsoft.Azure.Cosmos from 3.62.1 to 3.63.0.
Release notes
Sourced from Microsoft.Azure.Cosmos's releases.
3.63.0
See changelog for details.
NuGet: https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.63.0
3.63.0-preview.1
See changelog for details.
NuGet: https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.63.0-preview.1
3.63.0-preview.0
See changelog for details.
NuGet: https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.63.0-preview.0
Commits viewable in compare view.
Updated Microsoft.Data.SqlClient from 7.0.2 to 7.0.3.
Release notes
Sourced from Microsoft.Data.SqlClient's releases.
7.0.3
This update brings the following changes since the 7.0.2 release:
The core driver and its companion packages ship together as version
7.0.3. Update the companion packages you use alongside the driver to7.0.3. Assembly versions remain7.0.0.0, unchanged from7.0.2.Companion package release notes
Changed
Microsoft.Data.SqlClient.SNIandMicrosoft.Data.SqlClient.SNI.runtimedependencies to 6.0.3 (was 6.0.2).(#4599)
Fixed
Fixed a
SqlBulkCopyregression in environments where the application login cannot readsys.all_columns. Bulk copy now falls back to the earlier column-discovery behavior when that permission is unavailable. Support for hidden columns and SQL Graph column aliases still requires access to the metadata view.(#4370, #4306, #4402)
Fixed a memory-allocation regression in connection and command operations caused by formatting diagnostic strings even when tracing was disabled. Also corrected trace messages that reported an incorrect object ID or could throw
FormatExceptionwhen traced values contained braces.(#4528, #4533)
Fixed
ServerCertificatevalidation on the managed SNI path so the configured certificate is compared against the server certificate even when the server certificate passes chain and host-name validation. When certificate validation is enabled, a missing, unreadable, or invalid certificate file, a certificate mismatch, or a missing server certificate now causes the TLS handshake to fail instead of bypassing the configured certificate check. (net8.0/net9.0 only)(#4445, #4583)
Fixed Always Encrypted VSM/HGS enclave attestation to verify that the enclave public key used to establish a session matches the key committed to by the signed attestation report. Missing, malformed, or mismatched key-binding data now causes attestation to fail before the session secret is derived.
(#4532, #4553)
Fixed
SqlConnection.AccessTokenCallbacknot disabling Transparent Network IP Resolution by default, making it consistent withSqlConnection.AccessToken. An explicitly configuredTransparentNetworkIPResolutionconnection-string value still takes precedence. (net462 only)(#4520, #4561)
Fixed authentication state handling so clearing
SqlConnection.AccessToken,AccessTokenCallback, orSspiContextProviderpreserves the other authentication values in the connection pool key. Cloning a connection or updating its credential also preserves itsSspiContextProvider. Combining a non-nullSspiContextProviderwithAccessTokenorAccessTokenCallbacknow throwsInvalidOperationExceptioninstead of silently discarding authentication state; applications must use one authentication mechanism at a time.(#4520, #4561, #4644)
Fixed configurable retry logic installing a permanent, process-wide assembly-resolution handler that could interfere with unrelated assembly loading. The handler is now active only while an explicitly configured custom retry provider is resolved and constructed, and probes
AppContext.BaseDirectoryinstead of the current working directory. Place custom retry assemblies in the application base directory; dependencies loaded after provider construction must be resolvable through normal application dependency resolution or an application-provided handler. (net8.0/net9.0 only)(#2214, #4547, #4663)
Contributors
We thank the following public contributors. Their efforts toward this project are very much appreciated.
Target Platform Support
... (truncated)
Commits viewable in compare view.
Updated Microsoft.Data.Sqlite from 10.0.11 to 10.0.12.
Release notes
Sourced from Microsoft.Data.Sqlite's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated Microsoft.Extensions.AI.Abstractions from 10.9.0 to 10.10.0.
Release notes
Sourced from Microsoft.Extensions.AI.Abstractions's releases.
10.10.0
This month's release focuses on AI package reliability: closing gaps in evaluation scoring, hardening OpenAI image-option handling, and removing the deprecated OpenAI Assistants API support.
Experimental API Changes
Removed Experimental APIs
OPENAI001) #7724What's Changed
AI
AI Evaluation
Repository Infrastructure Updates
Acknowledgements
Full Changelog: dotnet/extensions@v10.9.0...v10.10.0
Commits viewable in compare view.
Updated Microsoft.Extensions.Http from 10.0.11 to 10.0.12.
Release notes
Sourced from Microsoft.Extensions.Http's releases.
No release notes found for this version range.
Commits viewable in compare view.
Updated Microsoft.NET.Test.Sdk from 18.8.1 to 18.10.1.
Release notes
Sourced from Microsoft.NET.Test.Sdk's releases.
18.10.1
What's Changed
Full Changelog: microsoft/vstest@v18.10.0...v18.10.1
18.10.0
What's Changed
vstest.consoleand datacollector by @nohwnd in Run Microsoft.Testing.Platform test apps under vstest.console and datacollector microsoft/vstest#16201Full Changelog: microsoft/vstest@v18.9.0...v18.10.0
18.9.0
What's Changed
New Contributors
Full Changelog: microsoft/vstest@v18.8.0...v18.9.0
Commits viewable in compare view.
Updated Quartz.Extensions.DependencyInjection from 3.19.1 to 3.22.0.
Release notes
Sourced from Quartz.Extensions.DependencyInjection's releases.
3.22.0
Quartz.NET 3.22.0 carries three fixes to the persistent store's recovery and clustering paths, each found on the 4.0 line and ported here. One of them adds a setting the store never had — a timeout on the statements it issues — which is the public-surface addition that makes this a minor rather than a patch. The schema is 3.20's. Two of the changes alter behaviour, each marked Behavior change worth noting below.
What changed
AddJob/AddTriggerand the store already holds them. The declared trigger was applied as a reschedule, which went throughReplaceTriggerand deleted every fired-trigger row of the key — beforeStart(), so by the time the first cluster check-in or the non-clustered sweep looked for the interrupted execution, its row was gone. A replacement is not a removal:ReplaceTriggernow deletes the trigger row only, and unscheduling still takes the fired rows with it. The replacement of a trigger whose job disallows concurrent execution is storedBLOCKEDbehind an execution still in flight, as any trigger of that job is, where it used to be storedWAITINGand could fire alongside. A fast restart under a stable instance id had a second defect: on its first check-in a node handed its own state row to recovery, and the deferral grace period judged that row by its old timestamp, so theEXECUTINGrow of a serial job was preserved for a second detection that never came — the node's own record is never deferred now. (#3759, port of e60bd26eeb)BLOCKEDwhile an execution is in flight.quartz.jobStore.commandTimeoutbounds every statement the store issues, the lock statement included. A row lock belongs to the database session that took it, so a node that loses its network without the server noticing keepsTRIGGER_ACCESSlocked, and every other node's next lock statement queues behind that dead session — and nothing on this branch bounded the wait: the statement never failed, so the lock handler's retries,DbRetryIntervalback-off and theSchedulerErrornotification never ran, and the cluster stopped firing without logging anything (#3763). The setting is a millisecond count like every other duration on the store;0means the provider's own default (30 seconds for most), a negative value is refused where it is configured, and a value past what ADO.NET can hold in whole seconds is refused for the same reason. It is rounded up to whole seconds, because rounding down would turn a sub-second value into "wait forever". It reaches the driver delegate throughDelegateInitializationArgsand the lock handler throughDBSemaphore.CommandTimeout, which the store writes once its handler is known — so a handler named byquartz.jobStore.lockHandler.typeis bounded too. An unconfigured store imposes nothing.SchedulerBuilder's persistent-store options set it fluently. The troubleshooting page gains the dead-session case: how to tell it apart in each database, why killing a process does not reproduce it, and the server-side settings that are the only thing that frees the lock. 4.x has the same setting asJobStore:CommandTimeout. (#3764, #3765)DbRetryInterval, also 15 s, so a check-in that failed at 7.5 s was next attempted after the peers had already recovered the node: its fired-trigger rows deleted, its recovering jobs fired again,[DisallowConcurrentExecution]no longer holding. Java Quartz sleeps the same way, so this is inherited rather than a regression. While the window is still open a failed check-in is now retried inside it — half of what is left each time, never later thanDbRetryInterval, never sooner than the loop's pause — and only once it has closed does the ordinary back-off apply. The manager times the window from its own record of the last check-in that reached the database, not from the store'sLastCheckin, which a failed read also stamps. Defaults and the 15-second failover latency are unchanged, andthreshold >= DbRetryIntervalis no longer a relation an operator has to know about. The configuration reference'sclusterCheckinIntervaldefault (7500, not 15000) and the missingclusterCheckinMisfireThresholdrow were fixed on the way. (port of a5b2197e5d)DbRetryIntervalwhile the peers' window is still open.Public API — additive only
JobStoreSupport.CommandTimeout,DBSemaphore.CommandTimeout,AdoUtil.CommandTimeout,DelegateInitializationArgs.CommandTimeout,SchedulerBuilder.PersistentStoreOptions.CommandTimeout— the one setting, wherever a statement is prepared.Upgrading
dotnet add package Quartz --version 3.22.0. Nothing to migrate; the schema is unchanged. The 4.x line is the current major and carries all three fixes as well; the 4.x migration guide is the way there.Full changelog: quartznet/quartznet@v3.21.0...v3.22.0
3.21.0
Quartz.NET 3.21.0 carries the three fixes held back from 3.20.1 because each needed a small addition to the public surface or changed what a running scheduler does. All three were found while 4.0 was being finished; each is as old as 3.x. The public API grows by two interfaces on one class and nothing else; the schema is 3.20's. Three of the changes alter behaviour, each marked Behavior change worth noting below.
What changed
ResumeAllclears every paused trigger group, not only the ones with triggers — the persistent store resumed the groups it found inQRTZ_TRIGGERSand then deleted only its all-groups marker, so a group paused while it held no triggers kept itsQRTZ_PAUSED_TRIGGER_GRPSrow and went on pausing whatever was scheduled into it afterwards. Pausing a group before anything is scheduled into it is a documented use of the exact-name matcher, so this was a row the store wrote on purpose and could not take back. The trailing delete now takes every group, asRAMJobStorehas always done. (#3721, #3742, port of f76b04a468)ResumeAll.RedisSemaphoreopened aConnectionMultiplexeron the first lock and kept it, with its heartbeat, for the life of the process, because nothing on the store's shutdown path reached the lock handler andISemaphorehad no member that meant "we are done". On a branch that targetsnetstandard2.0andnet462an interface cannot gain a default member, soJobStoreSupport.Shutdownnow disposes a lock handler that implementsIAsyncDisposableorIDisposable, after the misfire handler, the cluster manager and the connection manager have stopped, logging and continuing if that throws;RedisSemaphoreimplements both and closes the multiplexer it opened. (#3721, #3742, port of #3639)ISemaphorethat implements either interface is now disposed at shutdown.Task.Delayrefuses anything longer than about 49.7 days on .NET and about 24.9 days on .NET Framework, with anArgumentOutOfRangeExceptionnaming a parameter calleddelay, and every duration Quartz waits out that way was accepted unchecked and reported later from wherever the wait happened.MisfireHandlerFrequency,MisfireThreshold(when it is also the handler's sleep),ClusterCheckinInterval,DbRetryInterval,TransientRetryInterval, the row-lock handlers'RetryPeriod,StartDelayed's argument andQuartzHostedServiceOptions.StartDelaynow name the setting, the ceiling and the value at configuration time. The ceiling is per target framework, held to whatTask.Delayactually accepts by a test. (#3721, #3742, port of #3577)Public API — additive only
Quartz.Extensions.Redis:RedisSemaphoreimplementsIAsyncDisposableandIDisposable.Upgrading
dotnet add package Quartz --version 3.21.0. Nothing to migrate. The 4.0 line is the current major; the 4.x migration guide is the way there, and 4.0.1 made the upgrade one a dependency bot can offer.Full changelog: quartznet/quartznet@v3.20.1...v3.21.0
3.20.1
Quartz.NET 3.20.1 is a maintenance release: every change is a bug fix, the public API is untouched (the baselines did not move), and the schema is 3.20's. Most of it was found while 4.0 was being finished and rehearsed — a fix that turned out to be as old as 3.x was ported here rather than left on the newer line — and one item comes from a production application's 3.19.1 → 4.0 upgrade that also read on 3.x. Eight of the fixes change what a running scheduler does, each marked Behavior change worth noting below.
What changed
Landed on the branch since 3.20.0:
DailyTimeIntervalTriggerstored through the default Newtonsoft path reads back again —TimeOfDayhas no parameterless constructor, so with the trigger converters off (the default)EndTimeOfDaythrew "Unable to find a constructor" andStartTimeOfDaysilently read back as midnight. A converter scoped toTimeOfDay-typed members reads both forms; nothing about what is written changed, so every blob a released 3.20 wrote is one this reads. (9ee33fec17, fixes #3508)StartTimeUtckept its milliseconds while the fire times are counted in whole seconds, so a start of22:50:00.68could produce a first fire at22:50:00.000. Start and end are rounded down to the second when set, asCronTriggerImplalways did. (cc051a7788, #3386)RAMJobStoreand as a permanentCOMPLETErow in the ADO store. Both stores finish it now. (0af9431d3e, #3507)[DisallowConcurrentExecution]job is neither acquired nor swept, so the completion that unblocks it is the first thing that can settle its missed fire time;RAMJobStorenow does whatJobStoreSupport.RecoverUnblockedMisfiresalways did. (c9d8658a35, #3463)RAMJobStorewrotePausedoverError, so a failed trigger vanished from every listing once its group was paused andResetTriggerFromErrorStatehad nothing to reset. It now pauses only what the ADO store pauses: waiting, acquired and blocked triggers. (a56a16ca0c)RescheduleJobadvanced a never-fired repeating simple trigger's start time past a next fire time it kept, so it fired at the stale time and again at its start. (3e086091fc, #3554)overwrite-existing-dataon, and a repeating trigger that starts now fired twice milliseconds apart. (f25080cef6, #3554)Dictionary<string, string>job-data value written by the Newtonsoft package carried a$typethe System.Text.Json reader handed back as an entry, and one written by System.Text.Json came back from Json.NET as aJObject. Both readers read both shapes; neither writer changed. (83ba80ce79, part of #3582)QRTZ_SIMPROP_TRIGGERStoo — a database missing only that table passed validation and failed on the first calendar-interval, daily-time-interval or recurrence trigger insert. (b33c70487b, #3564)4b3c43a90e); untagged builds from the branch say 3.20 (0e2f6bcf31); the XML scheduling integration test opens its own fixture's data source (4c07210199, #3573).Ported from 4.0:
JobToBeExecutedescaped as itself rather than the exception the run shell catches, soTriggeredJobCompletewas never reached: the trigger stayed acquired and, for a[DisallowConcurrentExecution]job, every sibling trigger stayed blocked; the firing was also listed as executing for the life of the process. (port of #3502)IDX_QRTZ_T_NFT_ST_MISFIRE, whose second column is compared with<>and stops the seek dead. Measured on 4.x against 100,000 triggers: the count 111 ms → 0.7 ms, the sweep 66 ms → 0.7 ms. No schema change. (port of #3608)RescheduleJobandUpdateTriggerDetailson the ADO store resolved the job's class to decide whether the new trigger could run, and failed in an administration node without the assembly. Both read the job's two attribute flags fromQRTZ_JOB_DETAILSnow, so the decision is right without the class and a placeholderITypeLoadHelper— which decided that question by whether the placeholder carried the attribute — is no longer needed. (port of #3705)40001,40P01;40002excepted) is transient. Firebird reports a write conflict that way withIsTransientfalse, andMySql.Dataits 1213 deadlock. (port of #3454)SimpleTriggerinterval finer than a millisecond was stored as0, read back as zero, and left the trigger inACQUIREDfor good behind a divide-by-zero the store logged and swallowed. It is refused on write now, naming the trigger and the column;RAMJobStorekeeps accepting it. (port of #3673)List<string>or a nested object serialized happily and threw on the next read with the blob already in the database, and every later acquisition of the trigger failed on it. A value that would be stored as a JSON array, or as an object other than aDictionary<string, string>, is refused before the first byte is written, naming the entry and its type. Anything stored as a number or a string — every numeric type,DateTime,Guid,byte[],Uri— still round-trips exactly as before. (port of #3495)JsonSerializationExceptionat store time, where it used to be a blob the next read failed on. The refusal also covers three shapes that did not throw before but never came back as themselves either — a non-genericHashtable, an object whose properties are all strings, and aJobDataMapnested inside aJobDataMap— each of which the reader handed back as aDictionary<string, string>. Store one of those as a string of your own making.EndTimeUtcfalling between two fire times of the same day let the trigger go on firing until the daily window closed, andFinalFireTimeUtcreported that close even when it was a day past the end. (port of the daily half of #3458)NativeJobno longer deadlocks a child that writes more than a pipe buffer — both streams were redirected whether or notconsumeStreamsasked for them to be read, so with the defaults a chatty process blocked on its own write and the job's synchronous wait held a worker for ever. Nothing is redirected unless consumed. (port of the rc.1 fix)EnlistConnectioninside aTransactionScopetook aMicrosoft.Data.Sqliteconnection on trust, and SQLite cannot enlist, so every statement committed on the spot and a rolled-back scope left the schedule behind.EnlistTransaction(DbTransaction)still works there. (port of the beta.1 fix)now - MisfireThresholdwas a misfire toRAMJobStoreand to the ADO store's single-trigger path but not to its periodic sweep; the sweep says<=now and the acquisition predicate moved to>in step. (port of #3462)"3,14"read as314from the floating-point accessors whileGetIntthrew. (port of the beta.1 fix)GetDoubleandGetFloatthrow aFormatExceptionfor such a string where they used to answer a number a hundred times too large.[matches literally on SQL Server — T-SQL reads[as a character class inLIKE; it is escaped on that dialect only, because the standard forbids escaping a non-wildcard elsewhere. (port of the rc.1 fix)[matches the groups it names rather than the character class T-SQL read it as, so it can list, pause, resume or delete a different set than on 3.20.DirectoryScanJobstores its previous scan as something a job store can write — it kept aList<FileInfo>under[PersistJobDataAfterExecution], which System.Text.Json cannot write, so its first firing on such a store failed to persist. A legacy list already in a running scheduler is still read. (port of the rc.1 fix)DirectoryScanJobruns at all on 3.20 — it read its optional job-data keys withGetString, which throws for a key that is not there, so a job configured without a directory provider or listener name failed on every firing withKeyNotFoundException. Found while porting the previous item; the optional keys are asked for rather than read.SelectSchedulerStateRecordsbinds its parameters in statement order — only a provider withBindByNameoff could ever have noticed. (port of the alpha.3 fix)Public API
Unchanged. No signature was added, altered or removed, and the
PublicApiTestbaselines did not move.... (truncated)
3.20.0
Quartz.NET 3.20.0 is a feature release: the ADO.NET job store can take part in the application's own database transaction, job instantiation failures finally carry the trigger they died on, and the daylight-saving and calendar arithmetic got a systematic pass that fixed several defects a schedule can actually hit. The public API is additive only — three new members and one new exception type, nothing changed or removed — but this is not quite a drop-in upgrade. Four things to read before you take it:
database/that used to sit flat is nowdatabase/migrations/<version>/<name>_<dialect>.sql, one runnable file per database instead of one file with five commented-out dialect blocks. Old links still resolve against release tags; the mapping is below.database/migrations/3.20/). Nothing needs it to run, but PostgreSQL users should read that bullet.Description has been truncated
Dependabot will resolve...
Description has been truncated