Skip to content

Commit e74aae2

Browse files
Copilotv-amakhanliliankasem
authored
Bump version to 4.5.0 with host version 4.1044.400 (#4706)
* Initial plan * Bump version to 4.5.0 with host version 4.1044.400 Co-authored-by: v-amakhan <[email protected]> * Update In-Proc Host Version to 4.44.400 (4.844.100, 4.644.100) Co-authored-by: v-amakhan <[email protected]> * Update host & worker pkgs and fix issues * Add new artifatc feed to nuget.config --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: v-amakhan <[email protected]> Co-authored-by: Lilian Kasem <[email protected]>
1 parent 8e452f2 commit e74aae2

File tree

8 files changed

+57
-13
lines changed

8 files changed

+57
-13
lines changed

NuGet.Config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@
99
<add key="AzureFunctionsPreRelease" value="https://azfunc.pkgs.visualstudio.com/e6a70c92-4128-439f-8012-382fe78d6396/_packaging/AzureFunctionsPreRelease/nuget/v3/index.json" />
1010
<add key="AzureFunctionsTempStaging" value="https://azfunc.pkgs.visualstudio.com/e6a70c92-4128-439f-8012-382fe78d6396/_packaging/AzureFunctionsTempStaging/nuget/v3/index.json" />
1111
<add key="DotnetLibraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
12+
<add key="Infra" value="https://pkgs.dev.azure.com/azfunc/public/_packaging/infra/nuget/v3/index.json" />
1213
</packageSources>
1314
</configuration>

eng/build/Packages.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<PackageVersion Include="Microsoft.ApplicationInsights" Version="2.22.0" />
2121
<PackageVersion Include="Microsoft.AspNetCore.DataProtection" Version="2.2.0" />
2222
<PackageVersion Include="Microsoft.Azure.DurableTask.AzureStorage.Internal" Version="1.4.0" />
23-
<PackageVersion Include="Microsoft.Azure.WebJobs.Script.WebHost" Version="4.1043.200" />
23+
<PackageVersion Include="Microsoft.Azure.WebJobs.Script.WebHost" Version="4.1044.400" />
2424
<PackageVersion Include="Microsoft.Build" Version="17.0.0" />
2525
<PackageVersion Include="Microsoft.Identity.Client" Version="4.73.1" />
2626
<PackageVersion Include="NuGet.Packaging" Version="5.11.6" />
@@ -32,11 +32,11 @@
3232
<!-- workers -->
3333
<ItemGroup>
3434
<PackageVersion Include="Microsoft.Azure.Functions.JavaWorker" Version="2.19.2" />
35-
<PackageVersion Include="Microsoft.Azure.Functions.NodeJsWorker" Version="3.11.0" />
35+
<PackageVersion Include="Microsoft.Azure.Functions.NodeJsWorker" Version="3.12.0" />
3636
<PackageVersion Include="Microsoft.Azure.Functions.PowerShellWorker.PS7.0" Version="4.0.3148" />
3737
<PackageVersion Include="Microsoft.Azure.Functions.PowerShellWorker.PS7.2" Version="4.0.4025" />
38-
<PackageVersion Include="Microsoft.Azure.Functions.PowerShellWorker.PS7.4" Version="4.0.4206" />
39-
<PackageVersion Include="Microsoft.Azure.Functions.PythonWorker" Version="4.39.2" />
38+
<PackageVersion Include="Microsoft.Azure.Functions.PowerShellWorker.PS7.4" Version="4.0.4581" />
39+
<PackageVersion Include="Microsoft.Azure.Functions.PythonWorker" Version="4.40.2" />
4040
</ItemGroup>
4141
<!-- host -->
4242
<ItemGroup>

release_notes.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
# Azure Functions CLI 4.4.0
1+
# Azure Functions CLI 4.5.0
22

33
#### Host Version
44

5-
- Host Version: 4.1043.200
6-
- In-Proc Host Version: 4.41.100 (4.841.100, 4.641.100)
5+
- Host Version: 4.1044.400
6+
- In-Proc Host Version: 4.44.100 (4.844.100, 4.644.100)
77

88
#### Changes
99

1010
- Add updated Durable .NET templates (#4692)
1111
- Adding the MCP Tool Trigger Templates for the Node/Typescript (#4651)
1212
- Set `AzureWebJobsStorage` to use the storage emulator by default on all platforms (#4685)
13+
- Set `FUNCTIONS_WORKER_RUNTIME` to custom if the `EnableMcpCustomHandlerPreview` feature flag is set (#4703)
1314
- Update .NET isolated templates package to 4.0.5331 (#4712)

src/Cli/func/Actions/HostActions/StartHostAction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@ public override async Task RunAsync()
464464

465465
if (hostService.State is not ScriptHostState.Stopping && hostService.State is not ScriptHostState.Stopped)
466466
{
467-
await hostService.DelayUntilHostReady();
467+
await hostService.DelayUntilHostReadyAsync();
468468

469469
var scriptHost = hostService.Services.GetRequiredService<IScriptJobHost>();
470470
var httpOptions = hostService.Services.GetRequiredService<IOptions<HttpOptions>>();

src/Cli/func/Common/Utilities.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,10 @@ internal static bool IsSystemLogCategory(string category)
297297

298298
internal static IConfigurationRoot BuildHostJsonConfigutation(ScriptApplicationHostOptions hostOptions)
299299
{
300-
IConfigurationBuilder builder = new ConfigurationBuilder();
301-
builder.Add(new HostJsonFileConfigurationSource(hostOptions, SystemEnvironment.Instance, loggerFactory: NullLoggerFactory.Instance, metricsLogger: new MetricsLogger()));
302-
var configuration = builder.Build();
300+
var builder = new ConfigurationBuilder();
301+
var hostJsonFileConfigurationOptions = new HostJsonFileConfigurationOptions(hostOptions);
302+
builder.Add(new HostJsonFileConfigurationSource(hostJsonFileConfigurationOptions, loggerFactory: NullLoggerFactory.Instance, metricsLogger: new MetricsLogger()));
303+
IConfigurationRoot configuration = builder.Build();
303304
return configuration;
304305
}
305306

src/Cli/func/Directory.Version.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22

33
<PropertyGroup>
4-
<VersionPrefix>4.4.0</VersionPrefix>
4+
<VersionPrefix>4.5.0</VersionPrefix>
55
<VersionSuffix></VersionSuffix>
66
<UpdateBuildNumber>true</UpdateBuildNumber>
77
</PropertyGroup>

src/Cli/func/ExtensionBundle/ExtensionBundleHelper.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ public static ExtensionBundleManager GetExtensionBundleManager()
3939
}
4040

4141
var configOptions = new FunctionsHostingConfigOptions();
42-
return new ExtensionBundleManager(extensionBundleOption, SystemEnvironment.Instance, NullLoggerFactory.Instance, configOptions);
42+
IHttpClientFactory httpClientFactory = new SimpleHttpClientFactory();
43+
return new ExtensionBundleManager(extensionBundleOption, SystemEnvironment.Instance, NullLoggerFactory.Instance, configOptions, httpClientFactory);
4344
}
4445

4546
public static ExtensionBundleContentProvider GetExtensionBundleContentProvider()
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the MIT License. See LICENSE in the project root for license information.
3+
4+
using System.Collections.Concurrent;
5+
using System.Net;
6+
7+
namespace Azure.Functions.Cli.ExtensionBundle
8+
{
9+
/// <summary>
10+
/// Minimal IHttpClientFactory implementation for Core Tools.
11+
/// Reuses a single HttpClient per logical name to avoid socket exhaustion.
12+
/// </summary>
13+
internal class SimpleHttpClientFactory : IHttpClientFactory
14+
{
15+
private readonly ConcurrentDictionary<string, HttpClient> _clients = new();
16+
private static readonly TimeSpan _defaultTimeout = TimeSpan.FromMinutes(1);
17+
18+
public HttpClient CreateClient(string name)
19+
{
20+
// Name can be ignored for now except for providing isolation if needed later.
21+
return _clients.GetOrAdd(name ?? string.Empty, static _ =>
22+
{
23+
var handler = new SocketsHttpHandler
24+
{
25+
AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate,
26+
PooledConnectionIdleTimeout = TimeSpan.FromMinutes(2),
27+
PooledConnectionLifetime = TimeSpan.FromMinutes(10)
28+
};
29+
30+
var client = new HttpClient(handler, disposeHandler: true)
31+
{
32+
Timeout = _defaultTimeout
33+
};
34+
35+
client.DefaultRequestHeaders.UserAgent.ParseAdd("azure-functions-core-tools-extension-bundle");
36+
return client;
37+
});
38+
}
39+
}
40+
}

0 commit comments

Comments
 (0)