You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For more details about how different version formats are compared, see [Version comparison rules](#version-comparison-rules).
71
+
- Multi-part versioning: `"1.0.0"`, `"2.1.0"`
72
+
- Simple numbering: `"1"`, `"2"`
73
+
- Date-based: `"2025-01-01"`
74
+
- Custom format: `"v1.0-release"`
77
75
78
76
After you set the `defaultVersion`, all new orchestration instances will be permanently associated with that version.
79
77
78
+
### Version comparison rules
79
+
80
+
When the `Strict` or `CurrentOrOlder` strategy is selected (see [Version matching](#version-matching)), the runtime compares the orchestration instance's version with the `defaultVersion` value of the worker using the following rules:
81
+
82
+
1. Empty or null versions are treated as equal.
83
+
2. An empty or null version is considered older than any defined version.
84
+
3. If both versions can be parsed as `System.Version`, the `CompareTo` method is used.
85
+
4. Otherwise, case-insensitive string comparison is performed.
86
+
80
87
### Step 2: Orchestrator function logic
81
88
82
89
To implement version-aware logic in your orchestrator function, you can use the context parameter passed to the orchestrator to access the current orchestration instance's version, which allows you to branch your orchestrator logic based on the version.
@@ -250,15 +257,6 @@ The `versionMatchStrategy` setting determines how the runtime matches orchestrat
250
257
251
258
-**`CurrentOrOlder`** (default): Process tasks from orchestrations whose version is less than or equal to the version specified by `defaultVersion` in the worker's `host.json`. This strategy enables backward compatibility, allowing newer workers to handle orchestrations started by older orchestrator versions while preventing older workers from processing newer orchestrations.
252
259
253
-
### Version comparison rules
254
-
255
-
When the `Strict` or `CurrentOrOlder` strategy is selected, the runtime compares the orchestration instance's version with the `defaultVersion` value of the worker using the following rules:
256
-
257
-
1. Empty or null versions are treated as equal.
258
-
2. An empty or null version is considered older than any defined version.
259
-
3. If both versions can be parsed as `System.Version`, the `CompareTo` method is used.
260
-
4. Otherwise, case-insensitive string comparison is performed.
261
-
262
260
### Version mismatch handling
263
261
264
262
The `versionFailureStrategy` setting determines what happens when an orchestration instance version doesn't match the current `defaultVersion`.
0 commit comments