Skip to content

Dapr Runtime v0.6.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@dapr-bot dapr-bot released this 02 Apr 17:39
· 4185 commits to master since this release
e99f712

Dapr 0.6.0

We're happy to announce the release of Dapr 0.6.0!

Highlights

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 Concepts and the How To section.

Note: This release contains a few breaking changes.

See this section on upgrading Dapr to version 0.6.0.

New in this release

Dapr Runtime

Improved secret reference in component config by referring SecretKeyRef.Name if Key is not given (Thanks! @lynn-orrell)

Updated publish endpoint to allow path fragments (Thanks! @khous)

Improved self-host component loading by allowing single yaml to have multiple component configurations (Thanks! @ksivamuthu)

Added Hazelcast pubsub (Thanks! @peterjot)

Added GCP Pub/Sub to dapr loader (Thanks! @ksivamuthu)

Added AWS Kinesis input/output bindings to dapr loader (Thanks! @ksivamuthu)

Separated gRPC server for internal/user-exposed endpoints

Added new ssl connection enabled redis component

Added dapr-operator.yaml to GitHub release assets via CI

Added replicas per actor types metric to placement service

Fixed deployment manifest yaml generation command

Fixed http appchannel tracing bug when tracing is enabled

Fixed trace span export bug by skipping grpc-trace-bin

Added PubSub scoping/whitelisting

Removed unnecessary message types from dapr.proto files

Changed Kubernetes Operator API server from HTTP to gRPC

Improved E2E test coverage for Service invocation (e.g. gRPC to gRPC)

Added Support for Readiness and Liveness Probe for Dapr

Added app health checks for actors and its e2e tests

Added new daprd docker image that is used for sidecar image

Improved control plane connectivity resiliency with grpc retry middleware

Components

Fixed key not found error by returning empty response [aerospike/Couchbase/memcache/hazelcast statestore] (Thanks! @abhirockzz, @ksivamuthu)

Added GCP Cloud Pubsub (Thanks! @ksivamuthu)

Improved eventhub bindings by specifying partition id and key (Thanks! @ksivamuthu)

Added the option to decode base64 payloads [Azure Blob storage binding] (Thanks! @CarlosLanderas)

Added AliCloud Object storage bindings (Thanks! @madhugilla)

Added Hazelcast pubsub support (Thanks! @peterjot)

Added AWS Kinesis data stream binding (Thanks! @ksivamuthu)

Added metadata support to Azure Blob binding (Thanks! @RicardoNiepel)

Changed redis client library to go-redis to enable SSL connection [redis statestore]

CLI

Fixed Use the full container name when checking redis (Thanks! @vjrantal)

Updated CI to add new artifact for Homebrew

Changed dapr-operator manifest url to GitHub Release

System service components

Added required TLS connection for Kubernetes Operator

Added required TLS connection for Placement Service

Added required TLS connection for Sentry

Updated client validation of Sentry to require TLS certification all the time

.NET SDK

Added Secret Store configuration provider implementation for Microsoft.Extensions.Configuration (Thanks! @cmendible)

Updated proto clients for 0.6.0 dapr runtime and updating DaprClient

Added more granular actor configuration

Added actor health check API

Java SDK

Added actor health check API

Added Springboot integration

Samples

Added state delete call to complete sample operations (Thanks! @vsaroopchand)

Add SDK Links to README and fixed typos and links in docs

Docs

Added GCP pubsub docs (Thanks! @ksivamuthu)

Updated EventHub single partition id (Thanks! @ksivamuthu)

Added Hazelcast pubsub howto (Thanks! @peterjot)

Added metadata doc to Azure Blob binding (Thanks! @RicardoNiepel)

Added AWS kinesis docs (Thanks! @ksivamuthu)

Improved existing docs and fixed typos (Thanks! @rynowak, @drmcghee, and @eNeRGy164)

Added Liveness and readiness probe /healthz API spec

Update Actors healhcheck endpoint

Added Dapr presentations

Added PubSub scopes How-to

Updated TLS and security docs

Improved application insights distributed tracing onboarding guide by uploading localfowarder docker image to dapr official dockerhub

Test-infra (Long haul test)

Added the initial long-haul test apps: feed-generator, message-analyzer, hashtag-app

Added longhaul-test environment

Added CI/CD to automate test app build and deployment

Upgrading to Dapr 0.6.0

If you're upgrading from an older version of Dapr to 0.6.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

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.6.0) with:

dapr --version

Kubernetes

For this release, its important you first remove your application from the cluster while Dapr is running, to remove the Kubernetes services for Dapr, and re-deploy after upgrading.

Beginning next release, Dapr will include zero-down upgrade instructions.

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

Breaking Changes

Actor Healthz API

Language specific Actor SDKs must expose /healthz endpoint and return 200. All actors SDKs must be upgraded to the latest version.

Separated Dapr sidecar image

For this release, we split the Dapr runtime binary (daprd) from daprio/dapr image to reduce the size of sidecar image. You must confirm that you deploy Dapr to Kubernetes cluster using the latest 0.6.0 Dapr cli or helm chart.

dapr-operator.yaml location change for dapr init --kubernetes

dapr init --kubernetes installs Dapr using dapr-operator.yaml deployment yaml. This release has changed the location of this yaml to GitHub Release asset. You must use the latest CLI. Otherwise, old Dapr CLI will be unable to install the latest Dapr to your Kubernetes cluster.