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
Copy file name to clipboardexpand all lines: daprblog/content/posts/2024/v1.14-release.md
+45-13
Original file line number
Diff line number
Diff line change
@@ -20,30 +20,63 @@ See [this](#upgrading-to-dapr-1.14) section on upgrading Dapr to version 1.14.
20
20
21
21
## Highlights
22
22
23
-
These are the v1.14 release highlights:
23
+
These are the new feature highlights for the v1.14 release:
24
24
25
-
### Jobs API and Scheduler service
26
-
Many applications require job scheduling, or the need to take an action in the future. The new jobs API is an orchestrator for scheduling these future jobs, either at a specific time or for a specific interval. For example job scheduling is useful in scenarios such as automated database backups, regular Data Processing and ETL (Extract, Transform, Load), email notifications, maintenance tasks and system Updates and batch processing to name a few
25
+
### Jobs API and Scheduler service (preview)
26
+
Many applications require job scheduling, or the need to take an action in the future. The new jobs API is an orchestrator for scheduling these future jobs, either at a specific time or for a specific interval. For example job scheduling is useful in scenarios such as automated database backups, regular Data Processing and ETL, email notifications, maintenance tasks and system updates and batch processing to name a few.
27
27
28
-
The Dapr’s jobs API ensures the tasks represented in these scenarios are performed consistently and reliably without manual intervention, improving efficiency and reducing the risk of errors.
28
+
Dapr’s Jobs API ensures the tasks represented in these types of scenarios are performed consistently and reliably, improving efficiency and reducing the risk of errors. Think of this as a scalable version of the popular Dapr [Cron Binding](https://docs.dapr.io/reference/components-reference/supported-bindings/cron/), now as a first class API available throught the Dapr SDKs.
29
29
30
-
You can read more in the [Jobs API overview](https://v1-14.docs.dapr.io/developing-applications/building-blocks/jobs/jobs-overview/) documentation, or dive into a [Quickstart Go code example](https://v1-14.docs.dapr.io/getting-started/quickstarts/jobs-quickstart/)
30
+
You can read more in the [Jobs API overview](https://v1-14.docs.dapr.io/developing-applications/building-blocks/jobs/jobs-overview/) documentation, or dive into a [Quickstart Go code example](https://v1-14.docs.dapr.io/getting-started/quickstarts/jobs-quickstart/).
31
31
32
-
#### Scheduler service
33
-
The [Scheduler service](https://v1-14.docs.dapr.io/concepts/dapr-services/scheduler/) is a new control plane service used to schedule jobs, running in self-hosted mode or on Kubernetes.
32
+
#### Scheduler service (preview)
33
+
The [Scheduler service](https://v1-14.docs.dapr.io/concepts/dapr-services/scheduler/) is a new [control plane service](https://v1-14.docs.dapr.io/concepts/overview/#kubernetes) used to schedule jobs, running in self-hosted mode or on Kubernetes. It is installed by when using the Dapr CLI and is the service responsible for managing the scheduled jobs.
34
34
35
+
### Increased throughput and scalability for actors and workflows (preview)
35
36
36
-
### Streaming subscriptions
37
-
TBD
37
+
The new Scheduler service can optionally be used as the backend for actor reminders and enables increased throughput and lower latency for both actors and workflows. To use the scheduler service for actors and workflows, simply [enable it in a Dapr Configuration](https://v1-14.docs.dapr.io/operations/configuration/preview-features/#enabling-a-preview-feature) resource like this:
38
38
39
+
```yaml
40
+
apiVersion: dapr.io/v1alpha1
41
+
kind: Configuration
42
+
metadata:
43
+
name: featureconfig
44
+
spec:
45
+
features:
46
+
- name: SchedulerReminders
47
+
enabled: true
48
+
```
49
+
50
+
> **Note:** Old reminder data will not be compatible with the scheduler service.
51
+
52
+
### Streaming subscriptions (preview)
53
+
[Streaming subscription are a new type of subscription written in code](https://v1-14.docs.dapr.io/developing-applications/building-blocks/pubsub/subscription-methods/). Streaming subscriptions are dynamic, meaning they allow for adding or removing subscriptions at runtime. They do not require a subscription HTTP endpoint in your application (that is required by the current programmatic and declarative subscriptions), making them easy to configure in code. Streaming subscriptions also do not require an app to be configured with the sidecar to receive messages. These are an [incredibly easy way to configure topic subscriptions](https://v1-14.docs.dapr.io/developing-applications/building-blocks/pubsub/subscription-methods/#streaming-subscriptions) for your app.
54
+
55
+
### Actor multi-tenancy with namespacing
56
+
Namespacing in Dapr provides [isolation](https://v1-14.docs.dapr.io/concepts/isolation-concept/), and thus multi-tenancy. With [actor namespacing](https://v1-14.docs.dapr.io/developing-applications/building-blocks/actors/namespaced-actors/), the same actor type can be deployed into different namespaces. You can then call instances of these actors within the same namespace. Each namespaced actor deployment must use its own separate state store, especially if the same actor type is used across namespaces.
57
+
58
+
### HTTP metrics filtering with path matching
59
+
When invoking Dapr using HTTP, [metrics](https://v1-14.docs.dapr.io/operations/observability/metrics/metrics-overview/) are created for each requested method by default. Metric include error rates,latency and throughput numbers for example. This can result in a high number of metrics, known as high cardinality, which can impact memory usage and CPU.
60
+
61
+
[HTTP metric path matching](https://v1-14.docs.dapr.io/operations/observability/metrics/metrics-overview/#optimizing-http-metrics-reporting-with-path-matching) allows you to manage and control the cardinality of HTTP metrics in Dapr. This is an aggregation of metrics, so rather than having a metric for each event, you can reduce the number of metrics events and report an overall number.
62
+
63
+
### Outbox message projections (stable)
64
+
The [transactional outbox](https://v1-14.docs.dapr.io/developing-applications/building-blocks/state-management/howto-outbox/) feature allows you to commit a single transaction across a large combination of pub/sub brokers and databases. The [transactional outbox](https://v1-14.docs.dapr.io/developing-applications/building-blocks/state-management/howto-outbox/) is now stable in v1.14.
39
65
66
+
When using the [outbox pattern](https://v1-14.docs.dapr.io/developing-applications/building-blocks/state-management/howto-outbox/), you can now [send a different payload to the pub/sub broker](https://v1-14.docs.dapr.io/developing-applications/building-blocks/state-management/howto-outbox/#shape-the-outbox-pattern-message) than the one saved in the database. These are outbox message projections.
67
+
68
+
### Dapr Shared ([new preview repo in Dapr org](https://github.com/dapr/dapr-shared/blob/main/README.md))
69
+
Although not part of the Dapr runtime v1.14 release, [Dapr Shared provides alternative deployment choices for Dapr](https://docs.dapr.io/operations/hosting/kubernetes/kubernetes-dapr-shared/).
70
+
71
+
Dapr, by default, is injected as a sidecar to enable the Dapr APIs for your applications for the best availability and reliability. Dapr Shared enables two alternative deployment strategies to create Dapr applications using a **Kubernetes Daemonset for a per-node deployment** or a **Deployment for a per-cluster** deployment.
72
+
73
+
For example, Dapr Shared can be used to reduce resource usage in a cluster or to make a simpler testing deployment enviroment.
40
74
41
75
## Acknowledgements
42
76
43
77
Thanks to everyone who made this release possible!
@@ -261,7 +294,7 @@ Thanks to everyone who made this release possible!
261
294
262
295
- **FIXED** "TypeError: Converting circular structure to JSON" while using custom winston logger service [488](https://github.com/dapr/js-sdk/issues/488)
263
296
- **FIXED** Update the holopin.yaml to use the sdk badge [589](https://github.com/dapr/js-sdk/issues/589)
264
-
297
+
-
265
298
### Quickstarts
266
299
267
300
- **ADDED** Go SDK and Go Http Quickstart for Jobs API [1026](https://github.com/dapr/quickstarts/issues/1026)
@@ -272,7 +305,6 @@ Thanks to everyone who made this release possible!
- **DOCUMENTED** Updating Readme to favor kubectl based deploy vs. multi app run [1057](https://github.com/dapr/quickstarts/pull/1057)
274
307
275
-
276
308
## Upgrading to Dapr 1.14
277
309
278
310
To upgrade to this release of Dapr, follow the steps here to ensure a smooth upgrade. You know, the one where you don't get red errors on the terminal.. we all hate that, right?
0 commit comments