Project: Dapr (App Definition and Development / Application Definition & Image Build)
File: v1.3.0.md

We're happy to announce the release of Dapr 1.3.0! We would like to extend our thanks to all the new and existing contributors who helped make this release happen. Highlights If youre new to Dapr, familiarize yourself by visiting the page. Service Invocation Added gRPC proxying to enable bring-your-own-proto . Use your existing proto based gRPC services and have the traffic go through the Dapr sidecar. This enables Dapr applications to use the benefits of Service Invocation, including security, retries and ACLs to these gRPC services. See our documentation for further details. Actors Actor reminders and triggers now support ISO 8601 intervals . Read more Added actor reentrancy support in .NET, PHP and Python SDKs . Actor reentrancy remains a in this release. Note that Java and PHP SDKs will support actor reentrancy in the next release. Added configuration for actor reentrancy . Actor reentrancy has several configuration values that must be understood by the runtime/actors. The configuration is provided to the runtime during the call to dapr/config Support for actor reminder storage partitioning . Applications can now enable partitioning of actor reminders in the state store across multiple keys for improved scale and performance. For more information on actor reminder storage partitioning, visit State Management Added support for TTL (time to live) to a subset of state store components . Applications can set time-to-live per state stored, and these states cannot be retrieved after expiration (the state is deleted) are: Cassandra, Memcache, Redis, CosmosDB. Read more about New components - Setup VS Code development in a containerized environment and use this in GitHub Codespaces for contributing to dapr project . Read more Note: This release contains . See section on upgrading Dapr to version 1.3.0. Thanks to everyone who made this release possible! @1046102779, @AaronCrawfis, @akkie, @alvinhenrick, @amirmm11, @anhldbk, @artursouza, @Banchio, @beiwei30, @berndverst, @bjorkstromm, @caogj, @CodeMonkeyLeet, @CodingSinger, @daixiang0, @DanAbara, @DarqueWarrior, @delvh, @dmitsh, @emattiza, @eNeRGy164, @fabistb, @gogi2811, @greenie-msft, @halspang, @iamazy, @ItalyPaleAle, @jasonviviano, @jcdickinson, @jigargandhi, @Junnplus, @luckyxiaoqiang, @luiscantero, @marviniter, @msfussell, @mukundansundar, @orizohar, @pinxiong, @pkedy, @puzpuzpuz, @rovangju, @seeflood, @skyao, @stulzq, @Taction, @tanvigour, @tianjipeng, @tomkerkhove, @wcs1only, @withinboredom, @yaron2 RESOLVED Have Actor reminder and triggers support ISO 8601 intervals standard format RESOLVED Improve developer documentation for Windows ADDED Custom component definition of Kubernetes secret store RESOLVED Support partitioned storage of actor reminders as experimental feature FIXED Data race and concurrency problems of actor placement. ADDED Log warning for missing app port when pub/sub subscription is loaded. FIXED Race condition between placement service table dissemination and actor removal ADDED Configuration for actor reentrancy RESOLVED Crash in daprd sidecar when multiple invocation requests are made without the server running ADDED Use pod anti-affinity for spreading across node for high-availability ADDED Use Pod Disruption Budget to ensure Dapr remains up RESOLVED Injector customize cluster domain of k8s when access some system service RESOLVED GetState API to return metadata in HTTP RESOLVED Exit runtime on connection error during component update loop RESOLVED Use separate custom image for injector service in daprsidecarinjector chart RESOLVED Add support for metadata in pub/sub subscription CRD ADDED Support GitHub Codespaces for contributing to dapr project RESOLVED Call existing gRPC methods and bring your own gRPC protos - renewed gRPC

ADDED PKCS8 support FIXED Go Panic on Actors usage (Redis) with PubSub (Redis) on Start RESOLVED Apply max request body to gRPC channel FIXED sendToOutputBinding incorrect make slice RESOLVED use dapr.io/enable-debug: "true" to debug dapr failed FIXED Race condition in grpc/api.go for state API RESOLVED InvokeBinding API now returns metadata in HTTP ADDED Git commit hash to STDOUT with new flag `--buildinfo` FIXED unblockPlacements concurrent calls will raise panic bug ADDED Support for aws parameter store FIXED operator component crd resouces update all dapr runtime ADDED GraphQL Binding (components-contrib#844) RESOLVED Make install script work with non-privilege's environments like Azure Cloud Shell ADDED `dapr buildinfo` command to print commit id and other info ADDED `dapr uninstall -k --all` which also removes CRDs FIXED Added fallback version check for `dapr init` if Github API is unavailable ADDED `dapr run --placement-host-address` now supports specifying TCP port RESOLVED JSON/YAML output format for `dapr list` RESOLVED Dapr List Displays Dapr Dashboards As Empty Services FIXED The `--enable-profiling` and `--app-ssl` parameters not being properly passed to `daprd` RESOLVED Event-Hub input binding should propagate event meta-data RESOLVED Add optional support for TTL (Time to Live) for state stores Currently supported components: Cassandra, Memcache, Redis, CosmosDB. See . RESOLVED AWS Managed Cassandra State : not working RESOLVED Azure Storage - getBlobRetryCount RESOLVED Move The common Redis code to internal RESOLVED Add backoff for rabbitmq PubSub component RESOLVED Rabbitmq component goroutine not exit after close RESOLVED Update Zeebe to version 1.0 RESOLVED Move retry and config packages to dapr/kit for reuse RESOLVED Binding to GraphQL RESOLVED Dapr Mongo State Store component does not support srv record format RESOLVED Mysql should support more data types. RESOLVED Hashicorp Vault - using BulkGetSecret (through asp.net core) always return 404 Not Found ADDED ConsumerId parameter can also be referred as ConsumerGroup for Kafka ADDED Support Codespaces and VSCode devcontainers in Components-Contrib repo FIXED Panic when handle Pub/Sub with missing CloudEvent attributes (dapr#3281) RESOLVED Fix reported 3rd party vulnerabilities ADDED Support for actor reentrancy RESOLVED Add support to provide Pubsub (and Topic) during runtime at startup for controller methods. RESOLVED Adds support for providing pubsub and topic names during runtime. RESOLVED Improve Actor error messages RESOLVED fix: InvalidProgramException under ASP.Net 6.0 RESOLVED Configurable actor reminder storage partitions RESOLVED GrpcServiceSample: No message returned from method RESOLVED Introduce golangci-lint RESOLVED Invoke: gRPC errors are wrapped multiple times - cannot get the status code RESOLVED Expose

RESOLVED cleanup temp binary file RESOLVED Update Spring Boot DaprBeanPostProcessor to evaluate expressions Topic attribute values FIXED Actor gRPC client to be non-blocking RESOLVED Update GRPC libraries for security updates ADDED Support for configuring actor reminder storage partitions ADDED Support for actor reentrancy RESOLVED Configurable actor reminder storage patitions ADDED Implement State Isolation for Reentrant Actor Calls ADDED Dapr API token support RESOLVED Add Laravel example ADDED Support for actor reentrancy RESOLVED A whole new client ADDED native DateInterval support RESOLVED Support Reminder Storage Partitions Actor Runtime Config RESOLVED Add deployment and upgrade guidelines for self-hosted mode RESOLVED RESOLVED Enabling HA for existing Dapr installations on Kubernetes RESOLVED RESOLVED VS Code Dapr Extension Documentation Update RESOLVED GCP Pub/Sub Binding required fields RESOLVED gRPC service extension examples won't run RESOLVED Secrets getting started guide should clarify path to file RESOLVED Add gRPC proxy section RESOLVED Building blocks articles do not link to the SDK topic for that building block RESOLVED Add automation to create PR for submodule updates RESOLVED metadata missing consumerGroup RESOLVED Need topic that list all the preview features and when they were introduced RESOLVED Actors reminder and triggers support ISO 8601 intervals standard format RESOLVED Update info about supported Kubernetes versions RESOLVED Document kubernetes secret store RESOLVED Document how to use partitioning for actor reminders storage RESOLVED updated Actor How To docs for reminder intervals RESOLVED Document actor reminder partitioning RESOLVED Add gRPC proxying content RESOLVED Added a How-To section for VSCode debugging RESOLVED Fix profiling flag example RESOLVED Add a list of all current preview features RESOLVED Update the list of supported Dapr versions for v1.3 To upgrade to this release of Dapr, 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 installed. Note that this will remove the default $HOME/.dapr directory, binaries and all containers daprredis, daprplacement and dapr_zipkin. Linux users need to run sudo if docker command needs sudo: ```bash dapr uninstall --all ``` For RC releases like this, download the latest and greatest release from and put the `dapr` binary in your PATH. Once you have installed the CLI, run: ```bash dapr init --runtime-version=1.3.0 ``` Wait for the update to finish, ensure you are using the latest version of Dapr(1.3.0) with: ```bash $ dapr --version CLI version: 1.3.0 Runtime version: 1.3.0 ``` You can perform zero-downtime upgrades using both Helm 3 and the Dapr CLI. Download the latest RC release from and put the `dapr` binary in your PATH. To upgrade Dapr, run: ``` dapr upgrade --runtime-version 1.3.0 -k ``` To upgrade with high availability mode: ``` dapr upgrade --runtime-version 1.3.0 --enable-ha=true -k ``` Wait until the operation is finished and check your status with `dapr status -k`. All done! Note: Make sure your deployments are restarted to pick the latest version of the Dapr sidecar To upgrade Dapr using Helm, run: ``` helm repo add dapr https://dapr.github.io/helm-charts/ helm repo update helm upgrade dapr dapr/dapr --version 1.3.0 --namespace=dapr-system --wait ``` Wait until the operation is finished and check your status with `dapr status -k`. All done! Note: Make sure your deployments are restarted to pick the latest version of the Dapr sidecar Please see for a complete guide to installing Dapr on Kubernetes You can use Helm 3 to install Dapr: ``` helm repo add dapr https://dapr.github.io/helm-charts/ helm repo update kubectl create namespace dapr-system helm install dapr dapr/dapr --version 1.3.0 --namespace dapr-system --wait ``` Alternatively, you can use the latest version of CLI: ``` dapr init --runtime-version=1.3.0 -k