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

We're happy to announce the release of Dapr 1.6.0! We would like to extend our thanks to all the new and existing contributors who helped make this release happen. This release focused on preparing the next set of components to be ready for `stable` designation per community feedback. This means certification tests are added and quality issues are addressed. Read for details. The following components are now officially designated `beta` status, several of which are candidates to become `stable` soon in an upcoming release: (`stable` candidate) (`stable` candidate) (`stable` candidate) (`stable` candidate) (`stable` candidate) New capabilities were added to existing components: Kafka OAuth 2.0 support for & . improvements for topics and partitions. Added numerous new capabilities to including: Tenant namespace support. Backoff policies. Token authentication support. Ability to disable batching. New components added in this release: Added - secret store Added - state store Components removed from release: The alpha component is no longer included. now available for Python, Java and .NET. feature now available for Python, Javascript, Go and .NET. is now available in the Go SDK. If you're new to Dapr, visit the 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 and the . Note: This release contains a few . See section on upgrading Dapr to version 1.6.0. ADDED API for state store filtering and querying ADDED Support Actor reminder renaming FIXED Handle the error when creating http middleware other than ignore it RESOLVED cosmosdb statestore partitioning broken under load FIXED Multiple subscriber for a topic in Pub/Sub component with Event hub is not working as expected RESOLVED Setting global.ha.enabled: true produces deployment yaml with 2 affinity elements FIXED Cross namespace grpc proxy call in kubernetes fails FIXED Retry /dapr/subscribe in case of failure or wait for app to get into Ready state FIXED fix: add missing yaml tag for mtls spec config FIXED optimize/operator: the server side actively detects whether grpc connection is available FIXED Fix log output for "daprd --version" call FIXED Remove Cloudstate state store FIXED Bug in runtime. daprd does not respond to `shutdown` API command down in a timely fashion. FIXED Operator logs - Version always shows "ver: unknown" FIXED Operator unable to see secrets across namespaces when processing component updates - K8s FIXED Add namespace check for component updates FIXED daprd crashes if gRPC request arrives before runtime init completes ADDED Make the grace period configurable FIXED Reminders and Timer ISO-8601 off-by-one error ADDED Add DCO requirements and updated code of conduct FIXED logging of conflict when loading actor state store and fixes to actor reminders partitioning. FIXED validation for AppID length. FIXED Clarify message about app channel not initialized FIXED bugfix: QueryStateAlpha1 return data nil ADDED Charts - Supports to customize livenessProbe and readinessProbe FIXED Error in component field causing daprd panic ADDED Support stateful resource with corresponding service ADDED Added hostNetwork setting to sidecar injector chart FIXED Fixed create timer duetime FIXED compare field causing daprd panic ADDED Kill sidecar on init if duplicate actor state

ADDED Incorporate OCI StorageService state store component in daprd FIXED Updated paho.mqtt.golang dependency to fix auto ack issue in MQTT v3 library FIXED state store: client-side encryption and query api are mutually excluded ADDED add alibaba cloud oos parameter store support REMOVED Remove Cloudstate state store FIXED `dapr status -k` does not work on Windows with KUBECONFIG set FIXED Pass missing environment variables in CLI FIXED Detect publish events with CloudEvent envelopes FIXED incorrect queue to exchange binding ADDED New implementation of Azure EventHub PubSub component ADDED MQTT pubsub component as `stable` candidate ADDED Azure Blob Storage output binding as `stable` candidate ADDED Azure Service Bus Queues binding as `stable` candidate ADDED Azure CosmosDB output binding as `stable` candidate FIXED Azure Event Hub pubsub component properly handles topics. ADDED Support OAuth2 authentication with Kafka for pub/sub binding ADDED feature(middleware/routerchecker): avoid sending dirty data to opentelemetry system and logic servers. FIXED Upgrade rocketmq for pubsub ADDED common auth for Service Bus Pubsub/Binding ADDED Support for partition key while publishing to Azure Event Hubs FIXED Kinesis client library needs update FIXED MQTT messages are always acked even if handler returns an error FIXED GCP pub/sub subscription stops working after error FIXED Route of subscription API does not work on pubsub.pulsar FIXED MQTT output bindings sporadic failure on Create operation. REMOVED Remove Cloudstate state store ADDED PubSub AWS SNS/SQS - Disable Entity Management feature FIXED Redis configuration API subscription ADDED Add S3ForcePathStyle metadata key to S3 binding FIXED Update azure-sdk-for-go to v59.3.0 for EventGrid FIXED AWS SQS/SNS Wrong queue access policy (broken in last version (1.5.0)) FIXED Panic on azure blob storage state store FIXED pub/sub rocketmq:upgrade with v2 FIXED Pub/Sub AWS SNS SQS - disableEntityManagement - SQS policy should not be created FIXED Bind variables cannot be used for table names in cassandra state component FIXED upgrade dgrijalva/jwt-go dependency ADDED Add DCO requirements and updated code of conduct FIXED kafka input binding infinite loop when no topics set FIXED bindings.cron Input & Output communicates through a signal queue FIXED update license to Apache v2.0 FIXED hotfix: bindings.cron Input & Output communicates through a signal queue FIXED Http StatusCode always 200 in middleware HTTP component ADDED Pubsub AWS SNS/SQS - operations timeouts, retrying, backoffs FIXED Actor state is reset if execution ends in exception. ADDED Support for statestore query API ADDED Support for Configuration API ADDED add Unix domain socket support ADDED add support for statestore query API ADDED add support for TTL and time/interval formats in actor timers/reminders ADDED Add Pub/Sub routing support FIXED Inconsistent TopicEvent Data value between HTTP and gRPC service implementations. FIXED Fix error saving actor state for readonly changes FIXED bugfix/apptoken: missing app token verification codes RESOLVED Migrated out of JCenter as a Maven repository. FIXED Spring security context added as additional http header to http request via service invocation ADDED Support for Configuration API RESOLVED Update copyright information to Apache

ADDED Add DCO requirements and updated code of conduct ADDED support for statestore query API ADDED support for Get Configuration API ADDED Deprecation notice for gRPC metadata API field ADDED Microseconds and milliseconds to timedelta conversion FIXED Actors: Should not allow state manipulation outside Actor Runtime ADDED Feature: Query State API Thanks to everyone who made this release possible! @1046102779, @abelperezok, @amimimor, @amulyavarote, @andrey-dubnik, @anhldbk, @artursouza, @berndverst, @ceshihao, @ChethanUK, @chinzhiweiblank, @CodeMonkeyLeet, @CrazyHZM, @cshi0, @daixiang0, @dmitsh, @Gehhilfe, @greenie-msft, @guyzyl, @halspang, @haoxins, @jigargandhi, @jjcollinge, @Juneezee, @LaurenceLiZhixin, @LKI, @ls-2018, @lucasjellema, @marviniter, @mbimbij, @msfussell, @mthmulders, @mukundansundar, @paulyuk, @pkedy, @pravinpushkar, @rabollin, @rainfd, @robsondepaula, @shivamkm07, @sthussey, @Syuparn, @Taction, @tanvigour, @taojwmware, @theonefx, @timonwong, @uptutu, @victorp13, @wcs1only, @willtsai, @withinboredom, @x-shadow-man, @XavierGeerinck, @xj524598, @yaron2, @yordan-pavlov, @zach030, @zcong1993 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.6.0 ``` Wait for the update to finish, ensure you are using the latest version of Dapr(1.6.0) with: ```bash $ dapr --version CLI version: 1.6.0 Runtime version: 1.6.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.6.0 -k ``` To upgrade with high availability mode: ``` dapr upgrade --runtime-version 1.6.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.6.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.6.0 --namespace dapr-system --wait ``` Alternatively, you can use the latest version of CLI: ``` dapr init --runtime-version=1.6.0 -k ``` Verify the control plane pods are running and are healthy: ``` $ dapr status -k NAME NAMESPACE HEALTHY STATUS REPLICAS VERSION AGE CREATED dapr-dashboard dapr-system True Running 1 0.9.0 15s 2022-01-18 13:07.39 dapr-sidecar-injector dapr-system True Running 1 1.6.0 15s 2022-01-18 13:07.39 dapr-sentry dapr-system True Running 1 1.6.0 15s 2022-01-18 13:07.39 dapr-operator dapr-system True Running 1 1.6.0 15s 2022-01-18 13:07.39 dapr-placement dapr-system True Running 1 1.6.0 15s 2022-01-18 13:07.39 ``` After Dapr 1.6.0 has been installed, perform a rolling restart for your deployments to pick up the new version of the sidecar. This can be done with: ``` kubectl rollout restart deploy/<deployment-name> ``` REMOVED Remove Cloudstate state store Deprecation notice for gRPC metadata API field FIXED Actor state is now reset if execution ends in an exception.