github dapr/dapr v0.9.0
Dapr Runtime v0.9.0

latest releases: v1.13.2, v1.13.2-rc.1, v1.13.1...
pre-release3 years ago

Dapr 0.9.0

We're happy to announce the release of Dapr 0.9.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.9.0.

New in this release

Dapr Runtime

Integrated Postgresql state store (Thanks @brooke-hamilton)

Added github actions workflow to push helm charts to githubpages helm repo

Fixed inappropriate HTTP API status codes

Added install dapr control plane to linux containers

Added Dapr dashboard Helm integration

Fixed state error messages

Added transaction support for actors using cosmos

Added injection of Dapr env vars in user container

Improved http/gRPC internal metadata handling

Fixed add trace headers if not provided in response

Added decision record for HTTP Appcallback versioning

Added Registering local secretstore (Thanks @cmendible)

Added Dapr dependencies in e2e test apps whenever proto has breaking changes

Added functionality to remove default components dir

Fixed stateapp dockerfile

Renamed default config to daprsystem config

Changed servicediscovery pkg to nameresolution pkg and remove mdns code

Added sidecar injector readiness/liveness probe path adjustement (Thanks @piotr.mscichowski)

Fixed return GRPC OK for 2xx http status code

Fixed Helm chart installation issue with missing package

Added ARC-004-http-server ADR

Fixed 1s delay for service invocation on selfhost mode

Fixed TestSignCSR flaky test

Added destination appID target and header tests

Dapr CLI

Added command completion feature to Dapr CLI (Thanks @halation3)

Added support to initialize dapr without docker dependency

Added new CLI dapr dashboard command (Thanks @gdhuper)

Added support in the dashboard to accept -n namespace argument

Updated standalone dapr init and uninstall behavior (#breaking-changes)

Updated cli documentation to cover all command options (Thanks @halation3)

Updated linter version to 1.26

Fixed timeout for linter

Added tracing config, Zipkin component on init

Updated dapr init behavior to create default component files (#breaking-changes)

Fixed path truncation issue with Windows

Added functionality to pass components folder to daprd

Components

Added transaction support in the Cosmos db component

Fixed json array envelope parsing

Fixed double envelope when published payload is already a cloud event

Added support output to Twitter binding

Added PostgreSQL State Store (Thanks @brooke-hamilton)

Updated cloudevent identification

Added scheduler (cron) binding

Fixed Azure Service Bus lock renewal per topic (Thanks @jjcollinge)

Added functionality to handle errors in AzureEventHubs.Read (Thanks @nilstschmidt.de)

Fixed enableTLS to work as per the config for Apache Pulsar (Thanks @khous)

Fixed context deadline exceeded issue with an operation timeout

Renamed and refactored servicediscovery to nameresolution pkg

Updated setting URL in mongoDB component to make username/password optional

Refactored JSONSecretStore to LocalSecretStore (Thanks @cmendible)

Fixed the minimum delay of 1s for service invocation

Java SDK

Fixed content-type for Spring controller

Updated use of TypeRef for deserialization and client APIs

Updated samples to use --components-path

Fixed documentation for samples directory

.NET SDK

Updated dotnet sdk in github actions

Fixed actor method names in getting started guide (Thanks @@LayZeeDK)

Fixed InvokeAsync example in getting started guide (Thanks @@LayZeeDK)

Rust/Go SDK

Added pub sub example (Thanks @gdhuper)

Updated and Beautified code snippet (Thanks @franpog859)

JS-SDK

Updated workflow to publish npm package

Updated package.json of samples

Docs

Added threat model image png

Added readme note for uninstall in linux

Updated minor style guide changes to hybrid-clusters howto stub

Fixed typo in setup-azure-servicebus.md (Thanks @candreso)

Added docs for dapr init without Docker

Updated Put a note that Windows containers are not supported in Kubernetes

Updated Cosmos documentation for transaction changes

Moved Kubernetes hybrid-cluster guide howto

Added Kubernetes docs for installing dapr to hybrid windows/linux clusters

Updated Azure Service Bus metadata (Thanks @jjcollinge)

Updated section related to output binding support

Updated documentation related to PostgreSQL (Thanks @brooke-hamilton)

Updated bindings_api.md

Added cron binding documentation

Added binding listing, docs on canceling schedules

Added local developement secret store how to (Thanks @cmendible)

Added docs for injecting env vars

Updated to rename default config to daprsystem config

Updated docs for Zipkin initialization

Updated with missing Kafka link in reference section

Updated component-secrets.md

Updated W3C tracing docs to describe how to use tracing in your applications

Added Dapr with Docker docs (Thanks @jjcollinge)

Updated the doc as how to retrieve the response headers

Added How to Use W3C Trace Context

Added link from main observability how-to

Updated Grafana dashboard - dapr sidecar dashboard and add new actor dashboard #634

Added links to videos from the community calls

Updated Event Hubs doc

Updated Pub/Sub index

Upgrading to Dapr 0.9.0

If you're upgrading from an older version of Dapr to 0.9.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. Note that this will remove the default .dapr directory, binaries and all containers dapr_redis, dapr_placement and dapr_zipkin. Linux users need to run sudo if they have installed binary in default path /usr/local/bin/ or have docker command needing sudo.:

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

dapr --version

Kubernetes

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

Update the Dapr repo:

helm repo update

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

Post installation

After Dapr 0.9.0 has been installed, perform a rolling restart for your deployments.

Breaking Changes

Standalone dapr init and uninstall behavior

  • dapr uninstall --all now removes the default .dapr directory and binaries
  • dapr init fails if a previous version is installed. You will need to run dapr uninstall first.
  • dapr init now deploys a local Zipkin container by default for use with local diagnostic testing.

Dapr init behavior to create default component files

  • The default component files are now created during dapr init time.

Cosmos DB partition key setup and usage

The name of the required partition key has changed from /id to /partitionKey. Please see this for more details.

Don't miss a new dapr release

NewReleases is sending notifications on new releases.