dapr - v1.6.0


Dapr 1.6.0

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.

Highlights

Component improvements

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 component certification lifecycle for details.

The following components are now offically designated beta status, several of which are candidates to become stable soon in an upcoming release:
- MQTT pub/sub (stable candidate)
- RabbitMQ pub/sub (stable candidate)
- Azure Blob Storage binding (stable candidate)
- Azure CosmosDB binding (stable candidate)
- Azure Service Bus Queues binding (stable candidate)
- Azure Event Hubs pub/sub
- AWS SNS/SQS pub/sub

New capabilities were added to existing components:
- Kafka OAuth 2.0 support for pub/sub & binding.
- Azure Event Hubs pub/sub improvements for topics and partitions.
- Added numerous new capabilities to Apache Pulsar pub/sub including:
- Tenant namespace support.
- Backoff policies.
- Token authentication support.
- Ability to disable batching.

New components added in this release:
- Added Alibaba Cloud OOS Parameter Store - secret store
- Added Oracle Cloud Infrastructure (OCI) object storage - state store

Components removed from release:
- The Cloudstate store alpha component is no longer included.

SDK Improvements

Try it

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 Developing applications.

Note: This release contains a few breaking changes.

See this section on upgrading Dapr to version 1.6.0.

Details - new in this release

Dapr Runtime

  • ADDED API for state store filtering and querying 1339
  • ADDED Support Actor reminder renaming 3273
  • FIXED Handle the error when creating http middleware other than ignore it 3657
  • RESOLVED cosmosdb statestore partitioning broken under load 3716
  • FIXED Multiple subscriber for a topic in Pub/Sub component with Event hub is not working as expected 3753
  • RESOLVED Setting global.ha.enabled: true produces deployment yaml with 2 affinity elements 3788
  • FIXED Cross namespace grpc proxy call in kubernetes fails 3807
  • FIXED Retry /dapr/subscribe in case of failure or wait for app to get into Ready state 3839
  • FIXED fix: add missing yaml tag for mtls spec config 3864
  • FIXED optimize/operator: the server side actively detects whether grpc connection is available 3890
  • FIXED Fix log output for "daprd --version" call 3895
  • FIXED Remove Cloudstate state store 3897
  • FIXED Bug in runtime. daprd does not respond to shutdown API command down in a timely fashion. 3930
  • FIXED Operator logs - Version always shows "ver: unknown" 3948
  • FIXED Operator unable to see secrets across namespaces when processing component updates - K8s 3949
  • FIXED Add namespace check for component updates 3952
  • FIXED daprd crashes if gRPC request arrives before runtime init completes 3982
  • ADDED Make the grace period configurable 3983
  • FIXED Reminders and Timer ISO-8601 off-by-one error 3995
  • ADDED Add DCO requirements and updated code of conduct 4018
  • FIXED logging of conflict when loading actor state store and fixes to actor reminders partitioning. 4021
  • FIXED validation for AppID length. 4023
  • FIXED Clarify message about app channel not initialized 4025
  • FIXED bugfix: QueryStateAlpha1 return data nil 4039
  • ADDED Charts - Supports to customize livenessProbe and readinessProbe 4049
  • FIXED Error in component field causing daprd panic 4054
  • ADDED Support stateful resource with corresponding service 4061
  • ADDED Added hostNetwork setting to sidecar injector chart 4074
  • FIXED Fixed create timer duetime 4075
  • FIXED compare field causing daprd panic 4083
  • ADDED Kill sidecar on init if duplicate actor state store. 4087
  • ADDED Incorporate OCI StorageService state store component in daprd 4095
  • FIXED Updated paho.mqtt.golang dependency to fix auto ack issue in MQTT v3 library 4111
  • FIXED state store: client-side encryption and query api are mutually excluded 4126
  • ADDED add alibaba cloud oos parameter store support 4142
  • REMOVED Remove Cloudstate state store 1297

Dapr CLI

  • FIXED dapr status -k does not work on Windows with KUBECONFIG set 779
  • FIXED Pass missing environment variables in CLI 860
  • FIXED Detect publish events with CloudEvent envelopes 838

Components

  • FIXED incorrect queue to exchange binding 826
  • ADDED New implementation of Azure EventHub PubSub component 951
  • ADDED MQTT pubsub component as stable candidate 952
  • ADDED Azure Blob Storage output binding as stable candidate 956
  • ADDED Azure Service Bus Queues binding as stable candidate 957
  • ADDED Azure CosmosDB output binding as stable candidate 958
  • FIXED Azure Event Hub pubsub component properly handles topics. 964
  • ADDED Support OAuth2 authentication with Kafka for pub/sub binding 1084
  • ADDED feature(middleware/routerchecker): avoid sending dirty data to opentelemetry system and logic servers. 1155
  • FIXED Upgrade rocketmq for pubsub 1169
  • ADDED common auth for Service Bus Pubsub/Binding 1201
  • ADDED Support for partition key while publishing to Azure Event Hubs 1225
  • FIXED Kinesis client library needs update 1231
  • FIXED MQTT messages are always acked even if handler returns an error 1234
  • FIXED GCP pub/sub subscription stops working after error 1250
  • FIXED Route of subscription API does not work on pubsub.pulsar 1263
  • FIXED MQTT output bindings sporadic failure on Create operation. 1282
  • REMOVED Remove Cloudstate state store 1303
  • ADDED PubSub AWS SNS/SQS - Disable Entity Management feature 1313
  • FIXED Redis configuration API subscription 1315
  • ADDED Add S3ForcePathStyle metadata key to S3 binding 1322
  • FIXED Update azure-sdk-for-go to v59.3.0 for EventGrid 1325
  • FIXED AWS SQS/SNS Wrong queue access policy (broken in last version (1.5.0)) 1335
  • FIXED Panic on azure blob storage state store 1351
  • FIXED pub/sub rocketmq:upgrade with v2 1383
  • FIXED Pub/Sub AWS SNS SQS - disableEntityManagement - SQS policy should not be created 1385
  • FIXED Bind variables cannot be used for table names in cassandra state component 1387
  • FIXED upgrade dgrijalva/jwt-go dependency 1391
  • ADDED Add DCO requirements and updated code of conduct 1395
  • FIXED kafka input binding infinite loop when no topics set 1399
  • FIXED bindings.cron Input & Output communicates through a signal queue 1405
  • FIXED update license to Apache v2.0 1406
  • FIXED hotfix: bindings.cron Input & Output communicates through a signal queue 1418
  • FIXED Http StatusCode always 200 in middleware HTTP component 1425
  • ADDED Pubsub AWS SNS/SQS - operations timeouts, retrying, backoffs 1426

.NET SDK

  • FIXED Actor state is reset if execution ends in exception. 762
  • ADDED Support for statestore query API 777
  • ADDED Support for Configuration API 787

Go SDK

  • ADDED add Unix domain socket support 206
  • ADDED add support for statestore query API 215
  • ADDED add support for TTL and time/interval formats in actor timers/reminders 222
  • ADDED Add Pub/Sub routing support 226
  • FIXED Inconsistent TopicEvent Data value between HTTP and gRPC service implementations. 228
  • FIXED Fix error saving actor state for readonly changes 233
  • FIXED bugfix/apptoken: missing app token verification codes 236

Java SDK

  • RESOLVED Migrated out of JCenter as a Maven repository. 608
  • FIXED Spring security context added as additional http header to http request via service invocation 638
  • ADDED Support for Configuration API 659
  • RESOLVED Update copyright information to Apache 2.0 665
  • ADDED Add DCO requirements and updated code of conduct 669

Python SDK

  • ADDED support for statestore query API 296
  • ADDED support for Get Configuration API 308
  • ADDED Deprecation notice for gRPC metadata API field 324
  • ADDED Microseconds and milliseconds to timedelta conversion 327

JavaScript SDK

  • FIXED Actors: Should not allow state manipulation outside Actor Runtime 136
  • ADDED Feature: Query State API 139

Acknowledgements

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

Upgrading to Dapr 1.6.0

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?

Local Machine / Self-hosted

Uninstall Dapr using the CLI you currently have installed. Note that this will remove the default $HOME/.dapr directory, binaries and all containers dapr_redis, dapr_placement and dapr_zipkin. Linux users need to run sudo if docker command needs sudo:

dapr uninstall --all

For RC releases like this, download the latest and greatest release from here and put the dapr binary in your PATH.

Once you have installed the CLI, run:

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:

$ dapr --version

CLI version: 1.6.0
Runtime version: 1.6.0

Kubernetes

Upgrading from previous version

You can perform zero-downtime upgrades using both Helm 3 and the Dapr CLI.

Upgrade using the CLI

Download the latest RC release from here 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

Upgrade using Helm

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

Starting a fresh install on a cluster

Please see how to deploy Dapr on a Kubernetes cluster 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
Post installation

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>

Breaking Changes & Deprecations

Dapr Runtime

  • REMOVED Remove Cloudstate state store 1303

Python SDK

  • Deprecation notice for gRPC metadata API field 324

.NET SDK

  • FIXED Actor state is now reset if execution ends in an exception.

Details

date
Jan. 24, 2022, 8:22 p.m.
name
Dapr Runtime v1.6.0
type
Minor
👇
Register or login to:
  • 🔍View and search all dapr releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or