Skip to content

Commit 1a0338c

Browse files
authored
Merge pull request #1658 from Azure/dev
Merging dev into main for 2.4.1 release
2 parents a627810 + f8e4a45 commit 1a0338c

File tree

93 files changed

+1999
-468
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+1999
-468
lines changed

.github/ISSUE_TEMPLATE/new-release-template.md

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,34 @@ name: New release template
33
about: Template for creating new releases of Durable Functions
44
title: ''
55
labels: ''
6-
assignees: cgillum
6+
assignees: comcmaho, amdeel, davidmrdavid, bachuv
77

88
---
99

10-
As part of a release, the following items need to be taken care of. For any items that are not applicable, they should be crossed out using the `~~ ~~` markdown syntax with an explanation.
10+
**Prep Release: (assigned to:)**
11+
_Due: <3-business-days-before-release>_
12+
- [ ] Merge all features and fixes into the `dev` branch
13+
- [ ] Publish updated versions of DurableTask.Core and DurableTask.AzureStorage to app-service MyGet feed
14+
- [ ] Update dependencies and increment extension version in the `dev` branch.
15+
- [ ] Publish signed version of Microsoft.Azure.WebJobs.Extensions.DurableTask to app-service MyGet feed
16+
- [ ] Close out or punt remaining GitHub issues for the current milestone
17+
18+
19+
**Validation (assigned to: )**
20+
_Due: <2-business-days-before-release>_
21+
- [ ] Run private performance tests and ensure no regressions
22+
- [ ] Smoke test Functions V1 and Functions V3 .NET apps
23+
- [ ] Smoke test JavaScript and Python apps
24+
- [ ] Check for package size, make sure it's not surprisingly heavier than a previous release
1125

12-
- [ ] Run private scale tests and ensure no regressions
13-
- [ ] Publish updated versions of [DurableTask.Core](https://www.nuget.org/packages/Microsoft.Azure.DurableTask.Core/) and [DurableTask.AzureStorage](https://www.nuget.org/packages/Microsoft.Azure.DurableTask.AzureStorage/) to nuget.org
14-
- [ ] Merge all features and fixes into the `master` branch
15-
- [ ] Update .NET API docs at https://azure.github.io/azure-functions-durable-extension
16-
- [ ] Publish signed version of [Microsoft.Azure.WebJobs.Extensions.DurableTask](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask/) to nuget.org
17-
- [ ] Update samples to point to the latest nuget packages
26+
27+
** Release Completion (assigned to: )**:
28+
_Due: <release-deadline>_
29+
- [ ] Push staged package on MyGet to Nuget.org (for Durable Task Framework, you may need to manually update them)
1830
- [ ] Create a PR in the [Azure Functions templates repo](https://github.com/Azure/azure-functions-templates) to update templates to the latest version
1931
- [ ] Create a PR in the [Azure Functions bundles repo](https://github.com/Azure/azure-functions-extension-bundles) to update bundles to the latest version
20-
- [ ] Close out or punt remaining GitHub issues for the current milestone
21-
- [ ] Update official docs under https://docs.microsoft.com/en-us/azure/azure-functions/durable ([private docs repo for Microsoft employees](http://github.com/MicrosoftDocs/azure-docs-pr))
22-
- [ ] Publish release notes
32+
- [ ] Merge all pending PR docs from `pending_docs.md`
33+
- [ ] Reset `pending_docs.md` and `release_notes.md` in the `dev` branch. You will want to save `release_notes.md` somewhere for when you publish release notes.
34+
- [ ] Merge `dev` into `main`
35+
- [ ] Publish release notes from the pre-reset `release_notes.md`
2336
- [ ] Post announcement on [App Service Announcements GitHub repo](https://github.com/Azure/app-service-announcements) and Twitter.

.github/pull_request_template.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<-- Start the PR description with some context for the change. -->
2+
3+
4+
<-- Make sure to delete the markdown comments and the below sections when squash merging -->
5+
### Issue describing the changes in this PR
6+
7+
resolves #issue_for_this_pr
8+
9+
### Pull request checklist
10+
11+
* [ ] My changes **do not** require documentation changes
12+
* [ ] Otherwise: Documentation PR is ready to merge and referenced in `pending_docs.md`
13+
* [ ] My changes **should not** be added to the release notes for the next release
14+
* [ ] Otherwise: I've added my notes to `release_notes.md`
15+
* [ ] My changes **do not** need to be backported to a previous version
16+
* [ ] Otherwise: Backport tracked by issue/PR #issue_or_pr
17+
* [ ] I have added all required tests (Unit tests, E2E tests)
18+
19+

pending_docs.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<-- Please include a link to your pending docs PR below. https://docs.microsoft.com/en-us/azure/azure-functions/durable ([private docs repo for Microsoft employees](http://github.com/MicrosoftDocs/azure-docs-pr)).
2+
Your code PR should not be merged until your docs PR has been signed off. -->

release_notes.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<!-- Please put your changes into the appropriate category (or categories) below. -->
2+
3+
## New Features
4+
- Exposed IServiceCollection extension methods AddDurableTaskFactory() for net461 releases so classic .NET Framework apps using the .NET Core model of dependency injection can create their own Durable Clients. (#1653)
5+
6+
## Bug fixes
7+
- Remove incorrect information from C# docs summary for IDurableEntityClient.ReadEntityStateAsync() regarding states large than 16KB (#1637)
8+
- Fix a NullReferenceException in IDurableClient.SignalClient() for IDurableClient objects created by the new DurabilityClientFactory (#1644)
9+
10+
## Breaking changes
11+
12+
13+
## Dependency Changes
14+
- Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers --> 0.4.0
15+
16+
Removed dependency on Mono.Posix.NETStandard by instead relying on P/Invoke to generate inotify signals in Linux; reducing the size of the package (#1643)

samples/VSSample.Tests/VSSample.Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.3.*" />
9+
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.4.*" />
1010
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
1111
<PackageReference Include="Moq" Version="4.8.1" />
1212
<PackageReference Include="xunit" Version="2.4.1" />

samples/correlation-csharp/FunctionAppCorrelation/FunctionAppCorrelation.csproj

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,9 @@
66
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
77
</PropertyGroup>
88
<ItemGroup>
9-
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask.Telemetry" Version="2.2.0-alpha" />
10-
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.5" />
11-
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
12-
<PrivateAssets>all</PrivateAssets>
13-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14-
</PackageReference>
9+
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.4.0" />
10+
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.*" />
11+
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All"/>
1512
</ItemGroup>
1613
<ItemGroup>
1714
<AdditionalFiles Include="..\..\..\.stylecop\stylecop.json" />

samples/correlation-csharp/FunctionAppCorrelation/SimpleCorrelationDemo.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using System.Linq;
88
using System.Net;
99
using System.Net.Http;
10-
using System.Text;
1110
using System.Threading.Tasks;
1211
using DurableTask.Core;
1312
using Microsoft.ApplicationInsights;
@@ -37,7 +36,7 @@ public SimpleCorrelationDemo(TelemetryConfiguration telemetryConfiguration, Http
3736
public async Task<List<string>> Orchestration_W3C(
3837
[OrchestrationTrigger] IDurableOrchestrationContext context)
3938
{
40-
if (!CorrelationTraceContext.Current is W3CTraceContext correlationContext)
39+
if (!(CorrelationTraceContext.Current is W3CTraceContext correlationContext))
4140
{
4241
throw new InvalidOperationException($"This sample expects a correlation trace context of {nameof(W3CTraceContext)}, but the context isof type {CorrelationTraceContext.Current.GetType()}");
4342
}
@@ -63,7 +62,6 @@ await context.CallActivityAsync<string>(nameof(this.Hello_W3C), "London"),
6362
public string Hello_W3C([ActivityTrigger] string name, ILogger log)
6463
{
6564
// Send Custom Telemetry
66-
var currentActivity = Activity.Current;
6765
this.telemetryClient.TrackTrace($"Message from Activity: {name}.");
6866

6967
log.LogInformation($"Saying hello to {name}.");

samples/correlation-csharp/FunctionAppCorrelation/SimpleOrchestration.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the MIT License. See LICENSE in the project root for license information.
33

4-
using System;
54
using System.Collections.Generic;
6-
using System.Diagnostics;
7-
using System.Net.Http;
8-
using System.Text;
95
using System.Threading.Tasks;
106
using Microsoft.AspNetCore.Http;
117
using Microsoft.AspNetCore.Mvc;
128
using Microsoft.Azure.WebJobs;
139
using Microsoft.Azure.WebJobs.Extensions.DurableTask;
14-
using Microsoft.Azure.WebJobs.Extensions.DurableTask.Correlation;
1510
using Microsoft.Azure.WebJobs.Extensions.Http;
1611
using Microsoft.Extensions.Logging;
1712

@@ -36,7 +31,6 @@ public static async Task<List<string>> SimpleOrchestrator(
3631
[FunctionName(nameof(SayHello))]
3732
public static string SayHello([ActivityTrigger] string name, ILogger log)
3833
{
39-
var currentActivity = Activity.Current;
4034
log.LogInformation($"Saying hello to {name}.");
4135
return $"Hello {name}!";
4236
}
Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
{
2+
"version": "2.0",
23
"extensions": {
34
"durableTask": {
5+
"hubName": "CorrelationTesting",
46
"tracing": {
5-
"DistributedTracingProtocol": "W3CTraceContext"
7+
"distributedTracingEnabled": true,
8+
"distributedTracingProtocol": "W3CTraceContext"
69
}
710
}
811
},
912
"logging": {
1013
"applicationInsights": {
14+
"samplingSettings": {
15+
"isEnabled": false
16+
},
1117
"httpAutoCollectionOptions": {
1218
"enableW3CDistributedTracing": true
13-
}
19+
}
1420
}
15-
},
16-
"version": "2.0"
21+
}
1722
}
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
# Configuration
1+
# Configuration
22

33
## host.json
44

55
### durableTask
66

77
#### tracing
88

9-
| property | Default | Description |
9+
| Property | Default | Description |
1010
| -------- | ------- | ----------- |
11-
| DistributedTracingEnabled | true | Make it true if you don't need Distributed Tracing for Durable Functions |
12-
| DistributedTracingProtocol | HttpCorrelationProtocol | Set Protocol of Distributed Tracing. Possible values are HttpCorrelationProtocol and W3CTraceContext |
11+
| distributedTracingEnabled | `false` | When set to `true`, enables the Distributed Tracing feature. |
12+
| distributedTracingProtocol | HttpCorrelationProtocol | Sets the protocol used by the Distributed Tracing feature. Possible values are `HttpCorrelationProtocol` and `W3CTraceContext` |
1313

1414
**NOTE:** You need to specify the same protocol as `logging.applicationInsights.httpAutoCollectionOptions.enableW3CDistributedTracing`
1515

1616
### Sample
1717

18-
Enable Distributed Tracing with W3C Trace Context.
18+
The following example host.json file enables distributed tracing with the W3C trace context protocol.
1919

2020
_host.json_
2121

@@ -24,15 +24,16 @@ _host.json_
2424
"extensions": {
2525
"durableTask": {
2626
"tracing": {
27-
"DistributedTracingProtocol": "W3CTraceContext"
27+
"distributedTracingEnabled": true,
28+
"distributedTracingProtocol": "W3CTraceContext"
2829
}
2930
}
3031
},
3132
"logging": {
3233
"applicationInsights": {
3334
"httpAutoCollectionOptions": {
3435
"enableW3CDistributedTracing": true
35-
}
36+
}
3637
}
3738
},
3839
"version": "2.0"
@@ -41,18 +42,17 @@ _host.json_
4142

4243
## AppSettings
4344

44-
You need to specify the Application Insights Instrumentation key on AppSettings or local.settings.json or Environment Variables.
45-
45+
You need to specify the Application Insights instrumentation key in your app settings, local.settings.json, or environment variables. The name of the setting is `APPINSIGHTS_INSTRUMENTATIONKEY`.
4646

4747
_local.settings.json_
4848

4949
```json
5050
{
51-
"IsEncrypted": false,
51+
"IsEncrypted": false,
5252
"Values": {
5353
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
5454
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
55-
"APPINSIGHTS_INSTRUMENTATIONKEY": "<YOUR_INSTRUMENTATIONKEY>"
55+
"APPINSIGHTS_INSTRUMENTATIONKEY": "<YOUR_INSTRUMENTATION_KEY>"
5656
}
5757
}
5858
```

0 commit comments

Comments
 (0)