Skip to content

Commit 7bae07e

Browse files
authored
Merge branch 'v1.16' into remove-algolia-workflow
2 parents 877e2b9 + a388998 commit 7bae07e

File tree

22 files changed

+310
-196
lines changed

22 files changed

+310
-196
lines changed

daprdocs/content/en/concepts/building-blocks-concept.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ Dapr provides the following building blocks:
3131
| [**Distributed lock**]({{% ref "distributed-lock-api-overview" %}}) | `/v1.0-alpha1/lock` | The distributed lock API enables you to take a lock on a resource so that multiple instances of an application can access the resource without conflicts and provide consistency guarantees.
3232
| [**Cryptography**]({{% ref "cryptography-overview" %}}) | `/v1.0-alpha1/crypto` | The Cryptography API enables you to perform cryptographic operations, such as encrypting and decrypting messages, without exposing keys to your application.
3333
| [**Jobs**]({{% ref "jobs-overview" %}}) | `/v1.0-alpha1/jobs` | The Jobs API enables you to schedule and orchestrate jobs. Example scenarios include: <ul><li>Schedule batch processing jobs to run every business day</li><li>Schedule various maintenance scripts to perform clean-ups</li><li>Schedule ETL jobs to run at specific times (hourly, daily) to fetch new data, process it, and update the data warehouse with the latest information.</li></ul>
34-
| [**Conversation**]({{% ref "conversation-overview" %}}) | `/v1.0-alpha1/conversation` | The Conversation API enables you to supply prompts to converse with different large language models (LLMs) and includes features such as prompt caching and personally identifiable information (PII) obfuscation.
34+
| [**Conversation**]({{% ref "conversation-overview" %}}) | `/v1.0-alpha2/conversation` | The Conversation API enables you to supply prompts to converse with different large language models (LLMs) and includes features such as prompt caching and personally identifiable information (PII) obfuscation.

daprdocs/content/en/concepts/security-concept.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ The audit was a holistic security audit with the following goals:
244244

245245
- Formalize a threat model of Dapr
246246
- Perform manual code review
247-
- Evaluate Daprs fuzzing suite against the formalized threat model
247+
- Evaluate Dapr's fuzzing suite against the formalized threat model
248248
- Carry out a SLSA review of Dapr.
249249

250250
You can find the full report [here](/docs/Dapr-september-2023-security-audit-report.pdf).

daprdocs/content/en/developing-applications/building-blocks/actors/namespaced-actors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ In self-hosted mode, you can specify the namespace for a Dapr instance by settin
2525
{{% /tab %}}
2626

2727
{{% tab "Kubernetes" %}}
28-
On Kubernetes, you can create and configure namepaces when deploying actor applications. For example, start with the following `kubectl` commands:
28+
On Kubernetes, you can create and configure namespaces when deploying actor applications. For example, start with the following `kubectl` commands:
2929

3030
```bash
3131
kubectl create namespace namespace-actorA

daprdocs/content/en/developing-applications/building-blocks/jobs/howto-schedule-and-handle-triggered-jobs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ internal sealed record BackupJobData([property: JsonPropertyName("task")] string
5656
internal sealed record BackupMetadata([property: JsonPropertyName("DBName")]string DatabaseName, [property: JsonPropertyName("BackupLocation")] string BackupLocation);
5757
```
5858

59-
Next, set up a handler as part of your application setup that will be called anytime a job is triggered on your
59+
Next, set up a handler as part of your application setup that will be called any time a job is triggered on your
6060
application. It's the responsibility of this handler to identify how jobs should be processed based on the job name provided.
6161

6262
This works by registering a handler with ASP.NET Core at `/job/<job-name>`, where `<job-name>` is parameterized and

daprdocs/content/en/developing-applications/building-blocks/state-management/howto-outbox.md

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -181,28 +181,20 @@ DAPR_STORE_NAME = "statestore"
181181
async def main():
182182
client = DaprClient()
183183
184-
# Define the first state operation to save the value "2"
185-
op1 = StateItem(
186-
key="key1",
187-
value=b"2"
184+
client.execute_state_transaction(
185+
store_name=DAPR_STORE_NAME,
186+
operations=[
187+
# Define the first state operation to save the value "2"
188+
TransactionalStateOperation(
189+
key='key1', data='2', metadata={'outbox.projection': 'false'}
190+
),
191+
# Define the second state operation to publish the value "3" with metadata
192+
TransactionalStateOperation(
193+
key='key1', data='3', metadata={'outbox.projection': 'true'}
194+
),
195+
],
188196
)
189197
190-
# Define the second state operation to publish the value "3" with metadata
191-
op2 = StateItem(
192-
key="key1",
193-
value=b"3",
194-
options=StateOptions(
195-
metadata={
196-
"outbox.projection": "true"
197-
}
198-
)
199-
)
200-
201-
# Create the list of state operations
202-
ops = [op1, op2]
203-
204-
# Execute the state transaction
205-
await client.state.transaction(DAPR_STORE_NAME, operations=ops)
206198
print("State transaction executed.")
207199
```
208200

daprdocs/content/en/developing-applications/building-blocks/workflow/howto-author-workflow.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,9 +364,9 @@ export default class WorkflowRuntime {
364364
// Register workflow activities
365365
public registerActivity(fn: TWorkflowActivity<TInput, TOutput>): WorkflowRuntime {
366366
const name = getFunctionName(fn);
367-
const activityWrapper = (ctx: ActivityContext, intput: TInput): TOutput => {
367+
const activityWrapper = (ctx: ActivityContext, input: TInput): TOutput => {
368368
const wfActivityContext = new WorkflowActivityContext(ctx);
369-
return fn(wfActivityContext, intput);
369+
return fn(wfActivityContext, input);
370370
};
371371
this.worker.addNamedActivity(name, activityWrapper);
372372
return this;

daprdocs/content/en/developing-applications/building-blocks/workflow/workflow-multi-app.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,12 @@ Finally, the target app ID must have the activity or child workflow defined and
7373
{{% /alert %}}
7474

7575
{{% alert title="Important Limitations" color="warning" %}}
76-
**SDKs supporting multi-application workflows** - Multi-application workflows are used via the SDKs.
76+
**SDKs supporting multi-application workflows** - Multi-application workflows are used via the SDKs.
7777
Currently the following are supported:
7878
- **Java** (**only** activity calls)
79-
- **Go** (**both** activities and child workflows calls)
80-
- The Python, .NET, JavaScript SDKs support are planned for future releases
79+
- **Go** (**both** activities and child workflows calls)
80+
- **Python** (**both** activities and child workflows calls)
81+
- The .NET and JavaScript SDKs support are planned for future releases
8182
{{% /alert %}}
8283

8384
## Error handling
@@ -139,6 +140,17 @@ public class BusinessWorkflow implements Workflow {
139140

140141
{{% /tab %}}
141142

143+
{{% tab "Python" %}}
144+
145+
```python
146+
@wfr.workflow
147+
def app1_workflow(ctx: wf.DaprWorkflowContext):
148+
output = yield ctx.call_activity('ActivityA', input='my-input', app_id='App2')
149+
return output
150+
```
151+
152+
{{% /tab %}}
153+
142154
{{< /tabpane >}}
143155

144156
## Multi-application child workflow example
@@ -169,6 +181,17 @@ func BusinessWorkflow(ctx *workflow.WorkflowContext) (any, error) {
169181

170182
{{% /tab %}}
171183

184+
{{% tab "Python" %}}
185+
186+
```python
187+
@wfr.workflow
188+
def workflow1(ctx: wf.DaprWorkflowContext):
189+
output = yield ctx.call_child_workflow(workflow='Workflow2', input='my-input', app_id='App2')
190+
return output
191+
```
192+
193+
{{% /tab %}}
194+
172195
{{< /tabpane >}}
173196

174197
## Related links

daprdocs/content/en/developing-applications/error-codes/errors-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ weight: 10
66
description: "Overview of Dapr errors"
77
---
88

9-
An error code is a numeric or alphamueric code that indicates the nature of an error and, when possible, why it occured.
9+
An error code is a numeric or alphanumeric code that indicates the nature of an error and, when possible, why it occured.
1010

1111
Dapr error codes are standardized strings for over 80+ common errors across HTTP and gRPC requests when using the Dapr APIs. These codes are both:
1212
- Returned in the JSON response body of the request.

daprdocs/content/en/developing-applications/local-development/multi-app-dapr-run/multi-app-template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ dapr list -k
100100

101101
## Stop the multi-app template
102102

103-
Stop the multi-app run template anytime with either of the following commands:
103+
Stop the multi-app run template any time with either of the following commands:
104104

105105
{{< tabpane text=true >}}
106106

daprdocs/content/en/getting-started/quickstarts/conversation-quickstart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ async function main() {
249249
metadata: {},
250250
};
251251
252-
const reqURL = `${daprHost}:${daprHttpPort}/v1.0-alpha1/conversation/${conversationComponentName}/converse`;
252+
const reqURL = `${daprHost}:${daprHttpPort}/v1.0-alpha2/conversation/${conversationComponentName}/converse`;
253253

254254
try {
255255
const response = await fetch(reqURL, {

0 commit comments

Comments
 (0)