docs/release_notes/v1.0.0-rc.3.md
We're happy to announce the release of Dapr 1.0.0-rc.3!
We would like to extend our thanks to all new and existing contributors who helped make this release happen.
This is a release candidate version as we progress towards Dapr v1.0.0. We appreciate you trying Dapr and providing feedback on this release.
See this section on upgrading Dapr to version 1.0.0-rc.3.
{uuid} markerThanks to everyone who made this release possible!
@1046102779, @AaronCrawfis, @Betula-L, @DarqueWarrior, @Yggdrasill-7C9, @alpha-baby, @alydersen, @arghya88, @artursouza, @beiwei30, @cmendible, @darren-wang, @davidkarlsen, @dylandee, @eibrunorodrigues, @fjvela, @gaoxinge, @georgestevens99, @halspang, @hepin1989, @IroNEDR, @jigargandhi, @juazasan, @karishma-chawla, @karoldeland, @kevgo, @kzmake, @mchmarny, @mrchypark, @msfussell, @mukundansundar, @newbe36524, @pkedy, @rrylee, @rynowak, @skyao, @soiboxauxi, @tcnghia, @TenSt, @tomkerkhove, @trondhindenes, @vinayada1, @wcs1only, @withinboredom, @wjayesh, @XavierGeerinck, @xiazuojie, @yaron2, @youngbupark, @zzxwill
RESOLVED Migrate Dockerfile used to build Dapr to static, nonroot runtime image 1551
RESOLVED Enable sidecar to app authentication 1781
ADDED Support for message expiration in PubSub. 2216
RESOLVED Make required the version field on Component YAML 2260
FIXED Empty etags treated as empty etags. 2320
Change response handling for cross-protocol invocation. 2342
RESOLVED v1.0 Milestone 3 Plan 2346
RESOLVED Error: app not subscribed to binding 2468
RESOLVED How to configure oauth middleware in dapr1.0-rc1 and running? 2474
GENERATED _pb.go and _grpc.pb.go separately using newer gRPC protoc for Go. 2481
RESOLVED The invocation chain is break when using service invoke 2504
RESOLVED Access control configuration invalid w/o at least 1 policy 2526
RESOLVED Add Metadata gRPC API 2527
RESOLVED Consistency of API names surfaced by each SDK 2535
FIXED Docker image to be distroless and nonroot. 2536
FIXED Error message for unknown state stores being HTTP escaped. 2551
RESOLVED Remove redundant cancelfunc calls 2598
RESOLVED GetBulkSecrets fails when access limits are set in config 2600
FIXED The middleware.http.uppercase middleware comes pre-registered in Standalone mode. 2602
RESOLVED Make missing app-id annotation have a clearer log message 2603
FIXED CLI and Helm chart no longer default to amd64 architecture for Kubernetes installs. This allows deployments to arm64 Kubernetes clusters to succeed with the default configuration. 2605
RESOLVED Add missing metadata in getBulkState() response 2608
RESOLVED Update setup-dapr-development-env.md 2614
RESOLVED Return HTTP 409 Conflict when ETag doesn't match 2619
RESOLVED RBAC issue on OpenShift when installing with Helm 2620
RESOLVED fix(fsm): Apply return type must be bool type, or daprd runtime maybe panic 2626
RESOLVED Add Known Types repeated twice 2627
RESOLVED Secret API "bulk" http endpoint does not work 2649
RESOLVED Update Bulk Secrets API to return map[string]map[string]string 2652
RESOLVED Update setup-dapr-development-env.md 2664
RESOLVED fix(actors): timer ticker bug 2670
RESOLVED Helm chart tlc 2692
FIXED Support multiple path segments in access control policy 2725
RESOLVED Dapr Uninstall Fails with Dapr: cannot get the manifest file: https://api.github.com/repos/dapr/dapr/releases - 403 rate limit exceeded 415
RESOLVED Update Dapr CLI logging to better show errors and warnings 484
RESOLVED Change the way of dapr cli reinstalling 527
RESOLVED [feature] add a metrics-port on run command 554
FIXED Dapr slim init now creates a config.yaml file like a normal init. 556
RESOLVED Add Upgrade CLI command to upgrade the Dapr control plane services 560
FIXED Workaround to allow dapr to be run with rosetta on M1 macs 570
RESOLVED Document metrics port 573
RESOLVED Allow all Helm values to pass to init/upgrade commands 574
RESOLVED Helm link points to self hosted 576
RESOLVED Dapr pub/sub publish is stripping Cloud Event fields 506
RESOLVED Document when to release a new version of a component 526
RESOLVED Can't load oauth2 middleware in dapr1.0-rc1 kubernetes 537
RESOLVED Update the Secrets Component documentation 559
RESOLVED Add prefetch count to RabbitMQ pub/sub 560
FIXED Kubernetes get secret to fallback to k8s namespace. 563
RESOLVED Add concurrency to RabbitMQ 574
RESOLVED Exclusive Queues for RabbitMQ 577
RESOLVED Added Exclusive Flag to RabbitMQ queues 580
RESOLVED Support priority queue for RabbitMQ Bind/Pubsub Components 582
RESOLVED App able to subscribe to one GCP Pub/Sub topic only 583
RESOLVED Shared Subscription in MQTT 589
RESOLVED SecretStore BulkGetSecret method flattens all of secrets into a single map 590
RESOLVED Update sample links 611
RESOLVED Need a MySQL binding support similar with PostgreSQL 616
RESOLVED Fix get bulk secret for hashicorp vault. 632
RESOLVED Fix service bus new topic creation 636
FIXED display of full cmd and registered actors 78
RESOLVED Numerous improvements and issues on the Dashboard 93
RESOLVED Improve log page for K8s 104
ENABLED Dashboard to run unprivileged. 119
FIXED reported vulnerabilities by npm. 120
The .NET SDK NuGet packages that corresponds with RC3 of the Dapr runtime is version 1.0.0-rc05.
The .NET SDK has several major feature additions and impactful changes in this release. We recommend every user to read this migration guide as a supplement to the release notes.
RESOLVED Remove Query all statenames from IActorStateManager because it does not behave as expected 53
FIXED Changed signatures to use IReadOnlyDictionary<TKey, TValue> over Dictionary<TKey, TValue> in public APIs 395
FIXED Actor Runtime should not report Exception text in HTTP responses 410
ADDED support for metadata in pub/sub 425
FIXED TrySaveStateAsync and TryDeleteStateAsync should only handle "rejections" based on ETag, not all RPC exceptions 426
FIXED Actors HTTP handlers don't work with some common frontend server patterns 434
FIXED bug in actor serialization of ActorId. 477
RESOLVED Have consistent API names for .NET SDK 500
ADDED DaprClient: Implement GetBulkSecretAsync 510
RESOLVED Change the name of Invoke to InvokeMethod on the Actor proxy for naming consistency 513
RESOLVED Throw DaprException for dapr errors 516
RESOLVED Use Task instead of ValueTask 517
ADDED Support for metadata in Publish API. 521
FIXED ActorProxy.Create(ActorId actorId, Type actorInterfaceType, string actorType) does not work522
RESOLVED ModelBinding throws ArgumentNullException when state not found in store 524
ADDED More flexible options for HTTP service invocation 526
FIXED Support for null and empty etag. 545
RESOLVED Simplifying Service Invocation API surface 549
RESOLVED Expose Dapr API token to users as a settable value 551
FIXED DaprClient now implements IDisposable so that networking resources can be reclaimed deterministically. 559
FIXED Remove automatic protobuf conversion 442
RESOLVED Provide a single way to configure System.Text.Json serializer options for all Dapr Client and Actors features 532
RESOLVED add metadata in state get response 128
RESOLVED fix some typo 131
RESOLVED Update SDK to support new etag mechanism, change BulkGetSecrets 134
RESOLVED Add support for etag and bulk secret modifications 135
The Maven version that corresponds with this release of the Dapr runtime is version 1.0.0-rc-4.
The Java SDK has several major feature additions and impactful changes in this release. We recommend every user to read this migration guide as a supplement to the release notes.
RESOLVED add java.lang.reflect.Type to deserialize API 331
RESOLVED Add wait() method to block until Sidecar is up 377
REFACTORED CloudEvent serialization, also adding default constructor. 385
RESOLVED validated handling of metadata and fixed when applicable. 396
RESOLVED How to set timeout invoking service 399
FIXED missing eTag response for state APIs. 405
RENAMED methods and properties for consistency across SDKs. 409
RESOLVED Rename invoke to invokeMethod for ActorProxy 418
RESOLVED Implement getBulkSecret API 421
REMOVED DaprException from IllegalArgumentException. 424
FIXED input encoding for HTTP calls. 427
RESOLVED Add support for metadata in Publish API 430
FIXED datacontenttype to respect content-type metadata. 432
FIXED implementations of DaprClient API were blocking for gRPC and HTTP. 434
RESOLVED etag error code changes in dapr runtime need a change in the sdk 437
RESOLVED Handle service invocation over HTTP only 438
REMOVED unused etag param from getState() 439
RESOLVED Why not implement java-sdk-springboot as a spring boot starter? 441
FIXED Support for null and empty etag. 442
RENAMED InvokeServiceRequest to InvokeMethodRequest. 443
RESOLVED @ActorMethod to override method's name for client and service 444
REMOVED Dependency from OpenTelemetry SDK 453
FIXED error handling for service invocation with HTTP client and gRPC service. 461
ADDED examples on how to write Unit tests with DaprClient and Actors. 470
FIXED order of State key-value params. 472
Python SDK version is 1.0.0rc3 and is available through pip/pypi
RESOLVED Add wait() method to block until Sidecar is up 140
RESOLVED For invoke Service - How to return error over grpc. 141
RESOLVED Naming changes 150
RESOLVED Allow for a more recent version of grpcio 160
ADDED code in state store example showcasing etag handling. 167
FIXED Support for null and empty etag. 169
RESOLVED Makes service method API invocations over HTTP by default. 176
RESOLVED Add support for bulkGetSecret 179
REMOVE dependency from OpenCensus SDK. 181
RESOLVED Make it clear in the docs that all Dapr services Placements and Sentry service do not need Docker to run locally 857
RESOLVED Document components maturity status 935
UPDATED overview description for pub/sub topics and subscriptions 987
RESOLVED mDNS round robin capability 1025
RESOLVED Fix spelling of Rust 1056
RESOLVED Update apns.md 1058
RESOLVED Fix typo in Kubernetes binding docs 1060
RESOLVED [CONTENT] PubSub handling of CloudEvents and TTL 1061
RESOLVED Add a note about installing the cli to M1 macs 1064
RESOLVED refine code align in middleware concept 1066
RESOLVED update link 1068
RESOLVED updated rabbitmq pub/sub documentation 1069
RESOLVED Change NATS streaming deliverAll to deliverNew 1074
RESOLVED Update rabbitmq.md 1086
RESOLVED Update the component docs for state stores to capture all the metadata fields and have complete examples 1087
RESOLVED [CONTENT] Add info about {uuid} 1095
RESOLVED Insert section for Dapr to App authentication 1096
RESOLVED MySQL State component documentation 1100
RESOLVED Document Content Type application/cloudevents+json 1130
ADDED Automated validation of quickstarts 357
RESOLVED Error when running Python app: exec: "flask": executable file not found in $PATH 363
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 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.0.0-rc.3
Wait for the update to finish, ensure you are using the latest version of Dapr(1.0.0-rc.3) with:
$ dapr --version
CLI version: 1.0.0-rc.4
Runtime version: 1.0.0-rc.3
You can perform zero-downtime upgrades using both Helm 3 and the Dapr 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.0.0-rc.3 -k
To upgrade with high availability mode:
dapr upgrade --runtime-version 1.0.0.-rc.3 --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.0.0-rc.3 --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
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.0.0-rc.3 --namespace dapr-system --wait
Alternatively, you can use the latest version of CLI:
dapr init --runtime-version=1.0.0-rc.3 -k
Verify the control plane pods are running and are healthy:
$ kubectl get pods -n dapr-system
NAME READY STATUS RESTARTS AGE
dapr-dashboard-85cc6c9f7d-hzk69 1/1 Running 0 13m
dapr-operator-84985cb985-h2zdv 1/1 Running 0 13m
dapr-placement-server-0 1/1 Running 0 13m
dapr-sentry-5974c7cb6d-9bnqd 1/1 Running 0 13m
dapr-sidecar-injector-5b5bb9454-sfmmx 1/1 Running 0 13m
Specifying a component version is now required.
All components MUST now include the v1 version in their spec:
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: mycomponent
spec:
version: v1
Two changes were made regarding ETags:
An Etag mismatch operation will now return an HTTP status code of 409 and a gRPC code of Aborted.
There is now a distinction between missing and empty etags. An missing etag from the request is assumed as last-write-wins, while an empty etag will attempt saving the record only if it doesn't exist.
RESOLVED Make required the version field on Component YAML 2260
FIXED Empty etag treated as no etag. 2320
CHANGED response handling for cross-protocol invocation. 2342
RESOLVED Return HTTP 409 Conflict when ETag doesn't match 2619
RESOLVED Remove Query all statenames from IActorStateManager because it does not behave as expected 53
RESOLVED Prefer IDictionary<TKey, TValue> over Dictionary<TKey, TValue> in public APIs 395
RESOLVED TrySaveStateAsync and TryDeleteStateAsync should only handle "rejections" based on ETag, not all RPC exceptions 426
RESOLVED Actors HTTP handlers don't work with some common frontend server patterns 434
RESOLVED Have consistent API names for .NET SDK 500
RESOLVED Throw DaprException for dapr errors 516
RESOLVED Use Task instead of ValueTask 517
RESOLVED Reimagining service invocation for dotnet-sdk 526
RESOLVED Simplifying Service Invocation API surface 549
RESOLVED Expose Dapr API token to users as a settable value 551
FIXED DaprClient now implements IDisposable so that networking resources can be reclaimed deterministically. 559
REFACTORED CloudEvent serialization, also adding default constructor. 385
FIXED missing eTag response for state APIs. 405
RENAMED methods and properties for consistency across SDKs. 409
RESOLVED Handle service invocation over HTTP only 438
REMOVED unused etag param from getState() 439
RENAMED InvokeServiceRequest to InvokeMethodRequest. 443
REMOVED dependency from OpenTelemetry SDK 453
FIXED order of State key-value params. 472