We're happy to announce the release of Dapr 0.5.0!
This release introduces a new Secrets API to get application secrets, comprehensive metrics for the Dapr runtime as well as Dapr's system components, the ability to scope components to a namespace and/or a list of authorized apps, improved logging with JSON output, tracing support for Pub/Sub, new components, retries for bindings and general bug fixes and stability improvements.
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
If you're new to Dapr, visit the getting started page and familiarize yourself with Dapr.
Docs have been updated with all the new features and changes of this release. To get started with new capabilities introduced in this release, go to the How To section.
Note: This release contains a few minor breakings. See breaking changes.
See this section on upgrading Dapr to version 0.5.0.
New in this release
Added API for getting application secrets from any Dapr supported Secret Store (Thanks @cmendible)
Added Prometheus metrics API endpoints (Thanks @jjcollinge)
Added Ability to scope components to a namespace, as well as to a list of authorized apps
Improved Host IP choosing process in self-hosted mode
Fixed Case where user app returned an error and the runtime would return success to an input binding, causing the message to be removed without being processed
Fixed Crash in service invocation over gRPC with no data in payload
Added Tracing for Pub/Sub messages
Added Metrics groups including process and runtime level metrics
Improved Logging messages and error details for components
Added JSON formatted logs
Fixed Possible crash where service invocations were allowed before certificate was issued (Thanks @lynn-orrell)
Improved Docker build to allow multi-arch images
Fixed Custom Content-Type being overridden in service invocation
HOST_IP environment variable to
DAPR_HOST_IP to manually set the Host IP for the runtime
Changed HTTP Get State API to return
204 instead of
200 when a key does not exist
Added AWS Secret Manager Secret Store (Thanks @sayboras)
Added GCP Secret Manager Secret Store (Thanks @dev-drprasad)
Added Ability to set the
toNumber on a per-call basis for the Twilio binding (Thanks @ksivamuthu)
Updated Secret Store Index (Thanks @RicardoNiepel)
Updated Azure Event Hubs binding to use Event Processor Host (Thanks @abhirockzz)
Fixed SQL Server returning error for key not found
dapr list and
dapr run to rely on metadata API, fixing sync issues and zombie processes
-k shorthands for all Kubernetes specific commands (Thanks @CarlosLanderas)
Fixed Error message showing on with
dapr uninstall --kubernetes even if successful
Fixed One line installer downloading wrong version
dapr-id occurrences to
Fixed K8s client init when multiple contexts exist in KUBECONFIG (Thanks @CarlosLanderas)
Updated CLI to provide warning when overriding local component YAMLs
Added Ability to run CLI with the Dapr runtime without an app
Added Metrics endpoint for Sidecar-Injector
Added Metrics endpoint for Kubernetes Operator
Added Metrics endpoint for Sentry CA
Added Metrics endpoint for Actors Placement Service
Added Secrets API support
Improved Client APIs for gRPC
Refactored Separate Clients into a single API Client
Added Concurrency model for state operations (Thanks @rynowak)
Added Consistency model options for state operations (Thanks @rynowak)
Added editorconfig and removed Stylecop.Analyzers dependency
Updated Actor serialization to JSON by default
Updated Usage of Newtonsoft.Json package to System.Text.Json
Fixed Hot monos in gRPC client
Added Secrets API support
Fixed Swallowing actor exceptions
Added Strongly typed actors
Fixed Node.JS subscriber in Pub/Sub sample
Fixed Output message for Python in Bindings sample
Added Observability (metrics/logs) concepts
Added Grafana dashboard template
Dapr ID to
App ID for consistency
Fixed Pub/Sub API reference (Thanks @lynn-orrel)
Updated Azure Event Hubs binding spec
Refactored Concepts and API references structure
Added Monitoring tools(metric and logs) setup How-To tutorial
Added Secrets API How-To tutorial
Added AWS Secret Manager How-To tutorial
Added GCP Secret Manager How-To tutorial
Added Azure Storage Queues binding spec
Added Azure KeyVault documentation
Added Component authorization How-To tutorial
Added Documentation for metrics monitoring tools
Added Documentation for logs monitoring tools
Added Cheat-sheet for common diagnostics queries
Upgrading to Dapr 0.5.0
If you're upgrading from an older version of Dapr to 0.5.0, 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?
Local Machine / Self-hosted
Uninstall Dapr using the CLI you currently have:
dapr uninstall --all
Once you have downloaded the CLI, run:
Wait for the update to finish, and you're good to go!
Make sure you have the right runtime version (0.5.0) with:
Download the latest CLI release as outlined above in the
Local Machine / Self-hosted section.
If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, run:
dapr uninstall --kubernetes
It's fine to ignore any errors that might show up.
If you previously installed Dapr using Helm 2.X:
helm del --purge dapr
If you previously installed Dapr using Helm 3.X:
helm uninstall dapr -n dapr-system
helm repo update
Wait until Dapr is uninstalled, and make sure the
dapr-system namespace is gone.
If you installed Dapr with Helm to a namespace other than
dapr-system, modify the uninstall command above to account for that.
You can now follow these instructions on how to install Dapr using Helm 3.
Alternatively, if you want to install Dapr in a dev/test setup, run:
dapr init --kubernetes
Azure Event Hubs Binding
The Azure Event Hubs binding is now using Event Processor Host to provide reliable checkpointing.
The updated YAML spec can be found here.
Host IP Environment Variable
The environment variable
HOST_IP is now changed to
DAPR-ID parameter removed
When launching Dapr manually with the
daprd binary, to specify the ID of the app, use
app-id instead of
Status Code for missing key in Get State API
The HTTP Get State endpoint will now return
204 Not Found status code instead of
Component Secret Schema
Non Kubernetes secret stores need to add a
key in addition to the
name field under
secretKeyRef. See an example here.