# Dapr 0.2.0

We're happy to announce the release of Dapr 0.2.0.

This release focuses on community-driven components (BIG thank you to everyone involved, you rock), bug fixes across the Dapr runtime and CLI, updates to documentation and samples and the addition of E2E tests.

Visit the [getting started](https://docs.dapr.io/getting-started/install-dapr/) page to get started with Dapr.

## Upgrading to Dapr 0.2.0

To get the latest bits, follow the instructions [here](https://docs.dapr.io/getting-started/install-dapr/) to download the latest and greatest CLI release and binaries.

Once you have the Dapr CLI in your path, run `dapr init`.
Wait for the update to finish, and you're good to go!

## Kubernetes

If you previously installed Dapr on your Kubernetes cluster using the Dapr CLI, first download the latest CLI release as outlined above.

Once you have the CLI, run:

```
dapr uninstall --kubernetes
dapr init --kubernetes
```

If installed Dapr previously via Helm, run the following command to upgrade:

```
helm upgrade dapr dapr/dapr --set global.tag=0.2.0
```

*Note: If you installed with a different chart name, use `helm upgrade <your-chart-name>`*

## Dapr Runtime

**Added** MongoDB as a State Store (w/ transactions)

**Added** Cassandra as a State Store

**Added** etcd as a State Store

**Added** Google Cloud Firestore as a State Store

**Added** Consul as a State Store

**Added** Memcached as a State Store

**Added** Zookeeper as a State Store

**Added** NATS as a Pub/Sub message bus

**Added** Azure Service Bus as a Pub/Sub message bus

**Added** Hashicorp Vault as a Secrets Store

**Added** Kafka bindings SASL authentication

**Added** Azure Monitor tracing exporter

**Added** TLS support for Redis Streams

**Added** E2E tests

**Fixed** Issue where rejected  Pub/Sub messages were marked as processed successfully

**Fixed** Issue where headers were dropped when invoking actors

**Improved** Testability of the Kubernetes package

**Fixed** ETag error on state deletion of a given key

**Added** Retry mechanism for loading components, enabling running side-by-side with Service Meshes

**Fixed** Issue where Kubernetes services were not removed when a Dapr enabled deployment is deleted

**Added** Go linter checks

## CLI

**Added** Ability to run Actor placement service and Redis in a Docker network

**Fixed** Issue where non-default component YAMLs could not be used when executing `dapr run`

**Fixed** Issue where the Actor placement container does not update on `dapr init`

## .NET  SDK

**Changed** Testing framework to XUnit

**Removed** Redundant using statements

**Updated** Actor documentation

**Removed** Redundant null checks

**Updated** to use span slicing instead of string substrings for Dapr format TimeSpan string

## C++ SDK

**Added** A C++ SDK

## Rust SDK

**Added** A Rust SDK
