5.18.0 (2026-09-09)
Bugs Fixed
- Fixed a memory leak on the scale-only host path where
MessagingProviderand its cachedServiceBusClients were never disposed on host teardown.AddServiceBusScaleForTriggernow forces construction ofCleanupService, which the DI container then disposes automatically, tearing down the cached clients and releasing their AMQP connections, CBS-refresh timers, and heartbeat timers. Previously these stayed registered on the process-wide staticTimerQueuefor the life of the process, because a scale-only host (ConfigureWebJobsScale) does not initializeIExtensionConfigProviders — the binding path's normal route intoCleanupService. - Fixed overly aggressive scale-out in
ServiceBusScaleMonitor. When queue time is increasing, the monitor now votes to scale out only once the most recent sample's queue latency reaches 2 seconds, matching Scale Controller V2 behavior. - AB#32302750 - Fixed AMQP map key deserialization in the settlement path so that
AmqpSymbolkeys use their underlying value rather thanToString(). (#60653) - Fixed a log message in
ServiceBusMetricsProviderthat was missing string interpolation and emitted literal placeholder text instead of the entity type and path. (#60818)
Other Changes
- Replaced scaling warning/error log calls with standardized
LogFunctionScaleWarningextension method to enable Scale Controller App Insights diagnostics. - Added diagnostic logging for the two paths where
ServiceBusScaleMonitorvotes to not scale without explanation — no metrics available, and fewer metric samples than required for a scale decision — along with metric value logging inServiceBusMetricsProvider. (#60818) - Added a
net10.0target and updated .NET runtime dependencies to the 10.x line. The package now targetsnet10.0,net8.0, andnetstandard2.0. - Removed the direct
Microsoft.Extensions.Hostingpackage reference.