Skip to content

Commit 3cda938

Browse files
authored
Merge branch 'main' into andystaples/code-ql-fixes
2 parents e4eee54 + 2f83cc4 commit 3cda938

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

src/Analyzers/AnalyzerReleases.Shipped.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77

88
Rule ID | Category | Severity | Notes
99
--------|----------|----------|-------
10-
DURABLE0001 | Orchestration | Warning | DateTimeOrchestrationAnalyzer
11-
DURABLE0002 | Orchestration | Warning | GuidOrchestrationAnalyzer
12-
DURABLE0003 | Orchestration | Warning | DelayOrchestrationAnalyzer
13-
DURABLE0004 | Orchestration | Warning | ThreadTaskOrchestrationAnalyzer
14-
DURABLE0005 | Orchestration | Warning | IOOrchestrationAnalyzer
15-
DURABLE0006 | Orchestration | Warning | EnvironmentOrchestrationAnalyzer
16-
DURABLE0007 | Orchestration | Warning | CancellationTokenOrchestrationAnalyzer
17-
DURABLE0008 | Orchestration | Warning | OtherBindingsOrchestrationAnalyzer
18-
DURABLE1001 | Attribute Binding | Error | OrchestrationTriggerBindingAnalyzer
19-
DURABLE1002 | Attribute Binding | Error | DurableClientBindingAnalyzer
20-
DURABLE1003 | Attribute Binding | Error | EntityTriggerBindingAnalyzer
21-
DURABLE2001 | Activity | Warning | MatchingInputOutputTypeActivityAnalyzer
22-
DURABLE2002 | Activity | Warning | MatchingInputOutputTypeActivityAnalyzer
10+
DURABLE0001 | Orchestration | Warning | **DateTimeOrchestrationAnalyzer**: Warns when non-deterministic DateTime properties like DateTime.Now, DateTime.UtcNow, or DateTime.Today are used in orchestration methods. Use context.CurrentUtcDateTime instead to ensure deterministic replay and to follow [orchestrator code constraints](https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-code-constraints?tabs=csharp).
11+
DURABLE0002 | Orchestration | Warning | **GuidOrchestrationAnalyzer**: Warns when Guid.NewGuid() is used in an orchestration method. This can break determinism. Please use context.NewGuid() for orchestration-safe GUID generation to follow [orchestrator code constraints](https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-code-constraints?tabs=csharp).
12+
DURABLE0003 | Orchestration | Warning | **DelayOrchestrationAnalyzer**: Warns when Task.Delay or Thread.Sleep are used in orchestrations. These APIs are non-deterministic. Please use context.CreateTimer for delays instead to follow [orchestrator code constraints](https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-code-constraints?tabs=csharp).
13+
DURABLE0004 | Orchestration | Warning | **ThreadTaskOrchestrationAnalyzer**: Warns on usage of non-deterministic thread and task APIs like Thread.Start, Task.Run, Task.ContinueWith, TaskFactory.StartNew in orchestrations. Orchestrations must not use parallelism APIs as these break replay and don't follow [orchestrator code constraints](https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-code-constraints?tabs=csharp).
14+
DURABLE0005 | Orchestration | Warning | **IOOrchestrationAnalyzer**: Warns when I/O APIs (e.g., HttpClient, Azure Storage clients) are used directly in orchestrations. I/O calls are not replay-safe and should be invoked via activities to follow [orchestrator code constraints](https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-code-constraints?tabs=csharp)
15+
DURABLE0006 | Orchestration | Warning | **EnvironmentOrchestrationAnalyzer**: Warns on usage of System.Environment APIs (e.g., GetEnvironmentVariable) in orchestrations. Reading environment variables can introduce non-determinism. Please follow [orchestrator code constraints](https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-code-constraints?tabs=csharp)
16+
DURABLE0007 | Orchestration | Warning | **CancellationTokenOrchestrationAnalyzer**: Warns when CancellationToken parameters are used in orchestration function signatures. Orchestration methods should not accept cancellation tokens directly.
17+
DURABLE0008 | Orchestration | Warning | **OtherBindingsOrchestrationAnalyzer**: Warns when orchestration methods have input parameters with bindings other than [OrchestrationTrigger] (e.g., [EntityTrigger], [DurableClient]). Orchestrations must only use [OrchestrationTrigger] bindings.
18+
DURABLE1001 | Attribute Binding | Error | **OrchestrationTriggerBindingAnalyzer**: Ensures [OrchestrationTrigger] is only applied to parameters of type TaskOrchestrationContext.
19+
DURABLE1002 | Attribute Binding | Error | **DurableClientBindingAnalyzer**: Ensures [DurableClient] is only applied to parameters of type DurableTaskClient.
20+
DURABLE1003 | Attribute Binding | Error | **EntityTriggerBindingAnalyzer**: Ensures [EntityTrigger] is only applied to parameters of type TaskEntityDispatcher.
21+
DURABLE2001 | Activity | Warning | **MatchingInputOutputTypeActivityAnalyzer**: Warns when the input type passed to an activity invocation does not match the activity's definition.
22+
DURABLE2002 | Activity | Warning | **MatchingInputOutputTypeActivityAnalyzer**: Warns when the output type expected from an activity invocation does not match the activity's definition.

0 commit comments

Comments
 (0)