github dapr/dapr v0.4.0
Dapr Runtime v0.4.0

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

Dapr 0.4.0

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

This release includes new components, security improvements, API level enhancements, new CLI features, stability and bug fixes, a richer Java SDK, docs and samples updates.

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.

Note: This release of Dapr contains breaking changes. Read through for more details, and see this section on upgrading Dapr

New in this release

Dapr Runtime

Added Support for multiple state stores (Breaking change in API)

Added Automatic mTLS between Dapr instances

Updated Main entrypoint to allow customization of included components (Thanks @pkedy)

Changed State key delimiter

Refactored Error codes (Thanks @shaggygi)

Updated Output bindings to receive component name in metadata (Thanks @lynn-orrell)

Fixed HTTP Middleware pipeline duplicate registration (Thanks @jjcollinge)

Added Forwarding HTTP headers to pipeline (Thanks @jjcollinge)

Fixed gRPC Cloud Events Envelope during publishing (Thanks @lhx6538665)

Removed Vendor directory

Updated Helm 2 to Helm 3

Improved Kafka installation in CI tests

Added VSCode Dev-Container environment and documentation

Components

Added Twilio binding (Thanks @markrussinovich)

Added Cloudstate Integration (Thanks @jroper @viktorklang @jboner)

Added Azure Table Storage State Store (Thanks @aloneguid)

Added SQL Server State Store with transactions support (Thanks @fbeltrao)

Added Aerospike State Store (Thanks @abhirockzz)

Added Couchbase Store (Thanks @abhirockzz)

Added Hazalcast State Store (Thanks @abhirockzz)

Added Managed Identity support for Azure Key Vault (Thanks @cmendible)

Added OIDC Bearer middleware (Thanks @mkosieradzki)

Added Params/SSL support for MongoDB

Fixed Block timeout issue with Redis Streams

Fixed Goroutine leak with Azure Service Bus

Fixed Single concurrency stream handler in Redis Streams

Fixed NetHTTPAdapter panicing with non-nil body

Updated Azure Blob Storage schema (Thanks @mkosieradzki)

Removed Vendor directory

Added Concurrency limit support for Azure Service Bus Pub/Sub (Thanks @jjcollinge)

Updated Logrus to v1.4.2 (Thanks @thinkerou)

Added Azure Storage Queues (Thanks @stather)

Improved Redis tests (Thanks @David-Kunz)

Added Middleware for rate limiting requests (Thanks @jjcollinge)

CLI

Added Command to view configurations in a Kubernetes cluster

Added Command to view components in a Kubernetes cluster

Added Command to view status for mTLS in a Kubernetes cluster

Added Command to fetch app/dapr logs in a Kubernetes cluster

Fixed Init command downloading -RC versions

Fixed dapr stop failing on Windows

Removed Vendor directory

Updated Linter settings

.NET SDK

Added Support for multiple state stores

Fixed Reminder not fetching state correctly

Updated Build for Dotnet Core 3.1 LTS

Added InvokeClient and InvokeHttpClient implementations (Thanks @jeastham1993)

Updated Localhost to 127.0.0.1

Updated Actors samples to show timers and reminders (Thanks @pacodelacruz)

Fixed Integration tests (Thanks @ryanNowak)

Fixed Actor reminders corrupt state (Thanks @chgeuer)

Added Support for delete operations (Thanks @ryanNowak)

Updated ASP.NET core sample docs to include commands for windows

Fixed URL generation when BaseAddress is used (Thanks @ryanNowak)

Updated Readme for Actor Sample to clarify client invocation

Java SDK

Added Actor support

Added Support for bindings

Added Support for pub/sub

Added Support for state management

Added Support for service invocation

Added Unit tests

Added Integration tests

Added Custom serialization support

Removed Maven dependency to run dapr for examples (Thanks @Rinita-De)

Samples

Updated All samples to account for multiple state stores API changes

Docs

Added CloudState How-To

Added Azure Table Storage How-To (Thanks @aloneguid)

Added Hashicorp Vault How-To

Added mTLS How-To

Added Hazalcast How-To

Added SQL Server How-To (Thanks @fbeltrao)

Added Couchbase How-To

Added Aerospike How-To

Added Java SDK docs

Improved Event Hubs binding spec

Updated docs to comply with Microsoft Doc Authoring Pack (Thanks @LaurentLesle)

Updated Docs to account for multiple state stores API changes

Added IntelliJ debugging guide

Added Azure SignarlR binding docs (Thanks @fbeltrao)

Updated Helm 2 to Helm 3

Updated Diagrams

Upgrading to Dapr 0.4.0

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

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

Wait until Dapr is uninstalled, and make sure the dapr-system namespace is gone.

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

For more information on upgrading to Helm 3, go to this link.

Breaking Changes

With the introduction of multiple state stores, the API has changed to allow a developer to specify which state store the operation is targeting.

Starting this release, any state operation is required to provide a state store name:

v1.0/state/<state-store-name>/

For the latest API spec, go to this link.

Example

A call to get state prior to 0.4.0:

curl http://localhost:3500/v1.0/state/myKey

A call to get state in 0.4.0:

curl http://localhost:3500/v1.0/state/cassandra-dev/myKey

Don't miss a new dapr release

NewReleases is sending notifications on new releases.