docs/release_notes/v0.5.0.md
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 Developing applications section.
Note: This release contains a few minor breakings. See breaking changes.
See this section on upgrading Dapr to version 0.5.0.
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
Renamed 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
Changed dapr list and dapr run to rely on metadata API, fixing sync issues and zombie processes
Added -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
Changed All dapr-id occurrences to app-id
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
Changed 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
Updated Diagrams
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
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?
Uninstall Dapr using the CLI you currently have:
dapr uninstall --all
Next, get the latest CLI following these instructions, or alternatively download the latest and greatest release from here and put the dapr binary in your PATH.
Once you have downloaded the CLI, run:
dapr init
Wait for the update to finish, and you're good to go! Make sure you have the right runtime version (0.5.0) with:
dapr --version
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
The Azure Event Hubs binding is now using Event Processor Host to provide reliable checkpointing. The updated YAML spec can be found here.
The environment variable HOST_IP is now changed to DAPR_HOST_IP.
When launching Dapr manually with the daprd binary, to specify the ID of the app, use app-id instead of dapr-id.
The HTTP Get State endpoint will now return 204 Not Found status code instead of 200 OK.