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

We're excited to announce the release of Dapr 1.0.0! We would like to extend our thanks to all the new and existing contributors who helped make this release happen. 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 . See section on installing/upgrading Dapr to version 1.0.0. For a list of all changes since 0.11 release, refer to the release notes from the release candidates: - - - For Java applications using Dapr Java SDK, use SDK version 1.0.0. See . For .Net applications using Dapr .Net SDK, use SDK version 1.0.0. See . Thanks to everyone who made this release possible! @AaronCrawfis, @1046102779, @abserari, @alpha-baby, @alydersen, @ajaysingh77, @arghya88, @artursouza, @beiwei30, @Betula-L, @bvwells, @cilerler, @cmendible, @cvictory, @DarqueWarrior, @darren-wang, @davidkarlsen, @discostu105, @dylandee, @eibrunorodrigues, @eNeRGy164, @fjvela, @gaoxinge, @georgestevens99, @halspang, @harrykimpel, @hepin1989, @IroNEDR, @issacg, @jdubois, @jigargandhi, @jjcollinge, @juazasan, @karishma-chawla, @karoldeland, @kendallroden, @kevgo, @ksivamuthu, @kzmake, @Li-Yanzhi, @mchmarny, @mfcollins3, @msfussell, @mrchypark, @mukundansundar, @newbe36524, @orizohar, @PeterGerrard, @Phiph, @pkedy, @ProfessorMc, @Qalifah, @rrylee, @rynowak, @sau-lanvy, @shubham1172, @skyao, @soiboxauxi, @tcnghia, @TenSt, @tianvan, @tomkerkhove, @trondhindenes, @tylermurry, @vinayada1, @wcs1only, @withinboredom, @wjayesh, @XavierGeerinck, @xiazuojie, @yaron2, @Yggdrasill-7C9, @youngbupark, @wwulfric, @ZeyadYasser, @zzxwill The now has a high availability (HA) configuration to improve resilience and enable upgrades on production system that use actors to minimize downtime on actor instance availability. Substantial work has been done on improving the scale and performance of actors. All Dapr APIs can now be called on the Dapr sidecar before the app has responded on the app-port. For example, this enables the app to retrieve secrets before the app starts, enabling setting up JWT validation in an auth pipeline/middleware. Http endpoints in your app can now be https endpoints, which previously were blocked. If your app is listening on `https` or has a gRPC TLS configuration enabled, use the `app-ssl` flag like this. This will have Dapr invoke the app over an insecure SSL channel: `dapr run --app-id nodeapp --app-port 3000 node app.js --app-ssl` Published . The CLI component command `dapr components -k` now shows version information for each component. Support for HTTP query parameters with many values per key, including support in SDKs. Added the ability to share state between different applications using prefix strategies. Visit link to learn more. Added a to get all the secrets at once from a secret store that the app has access to. Implemented in the Actors in Java SDK communicate to Dapr sidecar via GRPC. This allows better performance for invocation of Actor methods, timers and reminders. Deprecation of exporters component : Tracing is now part of Dapr core, and tracing settings have moved to Configuration CRD. See for information about the new tracing settings. For more detailed instructions on setting up tracing in new Configuration, check out the as well as backend-specific guides for , , , and . Service invocation performance test results now published and available at the Full review on the to make command parameters consistent, update descriptions, provide more examples and add capabilities such as getting the .Note that this includes breaking changes. Improvements to the . Round robin load balancing of mDNS requests. This supports multiple app instances for a single standalone app id with round robin load balancing across them for environments that support mDNS, such a physical

For example, if you have 1 instance of app A and 5 instances of app B and then call from A->B, Dapr round robins' between the 5 B instances. Added the option to specify whether Dapr should ignore errors when loading a component and continue initialization. See for the new `ignoreErrors` field. for .NET actors Pub/Sub Dapr enables per-message time-to-live (TTL) for all pub/sub components. Applications can set time-to-live per message, and subscribers will not receive those messages after expiration. Component metadata's random value via `{uuid}` marker Runs as non-root by defaut on Kubernetes Numerous improvements to the Added fixed to perform async API calls to Dapr sidecar in the .NET SDK Service invocation in the SDK now uses HTTP as the underlying protocol so deeper integration with API surface for HTTP is possible, which makes service invocation much more flexible. See for more details Support for `data_base64` attribute when wrapping pubsub payload as CloudEvent. Java SDK uses Reactor's context builtin capabilities and does not have Context object as part of the request and response objects anymore. RESOLVED Add sha256sum to the released files RESOLVED oauth middleware not obtaining token RESOLVED Require versions in APIs FIXED Update E2E procedures to replace deprecated kafka chart ADDED Support for binary data when wrapping pubsub payload as CloudEvent. RESOLVED Update the license header in all files RESOLVED Apply access list url normalization RESOLVED Helm chart has duplicate securityContext attributes for dapr-sidecar-injector RESOLVED Allow duplicate query string parameters in service to service invocation FIXED gRPC app callback should use data_base64 CloudEvent field when present. Fix Dapr stable version initialization RESOLVED Azure Blob Storage Binding Expecting String for Data RESOLVED Remove Exporter Components now OpenTelemetry is adopted. RESOLVED Allow DynamoDB state store to resolve credentials using AWS SDK credentials chain RESOLVED Support Kafka partition key in Pub/Sub FIXED handling of key not found in mongodb to return empty result instead of errror. RESOLVED Error when saving byte RESOLVED Kafka pubsub can drop message in partial failures RESOLVED Handle content type of "application/octet-stream" in CloudEvent data RESOLVED Add missing cancellation token RESOLVED Updates for next runtime RC RESOLVED Fix PubSub publish + Update IT to use RC3 bits. RESOLVED Enhancing validation for ActorTurnBasedConcurrencyIT. RESOLVED Adds IT to confirm eTag is parsed correctly to/from runtime. REMOVED Context from request and response objects. ADDED Support many values for one query param in HTTP and binary data in Cloud Event for PubSub. ADDED Support to publish CloudEvent payload (and others) with correct content-type per event. ADDED Autovalidation for python examples. RESOLVED Allow multiple query param values per key for service invocation RESOLVED update proto to the latest RESOLVED Automate cargo package publish process RESOLVED Update copyright header RESOLVED Upgrade proto to the latest RESOLVED Update troubleshooting guide for tracing RESOLVED Improved the service invocation building block concepts doc RESOLVED Provide guidance doc to use Prometheus queries to view Dapr metrics RESOLVED Update the mTLS configuration doc to describe how to run Sentry control plan service locally RESOLVED Establish a deprecation/support versions policy RESOLVED Update docs for dapr/dapr#2338 RESOLVED Binding documentation needed for Alicloud Object Storage (OSS) RESOLVED Incorrect instructions for sending ETag RESOLVED Updating K8s guidance to include app rollout step for when a cluster is completely restarted RESOLVED Update Secrets API reference with the new Get Bulk Secret HTTP Response type RESOLVED Add competing consumer concept to pub/sub overview docs RESOLVED Add documentation for the "--dapr-http-max-request-size" argument for the CLI and

annotation RESOLVED Document all the environments variables used by developer in code and in the dapr CLI RESOLVED Rework Azure Blob Storage documentation to be more clear RESOLVED Update the component docs for bindings to capture all the metadata fields and have complete examples [1137](https://github.com/dapr/docs/issues/1137 RESOLVED Update get-started-component.md RESOLVED HTTP Binding missing information/outdated RESOLVED CLI Upgrade command missing RESOLVED Update the Kubernetes Hosting documentation RESOLVED Update the Service Invocation Perf numbers for v1.0 RESOLVED fixed typo in Service invocation overview RESOLVED Remove retry policies section for state RESOLVED v1.0 - Update RC related commands in "getting-started" RESOLVED It is unclear which state store components support actors RESOLVED Document steps to setup allow lists feature for self hosted mode RESOLVED Add OpenTelemetry collector agent instruction into quickstarts sample RESOLVED Kafka helm chart deprecated. RESOLVED Kubernetes quickstarts should point at 'latest' container tags. RESOLVED Update test-infra to v0.12.0 .Net SDK 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 ``` Next, follow instructions to install the latest CLI version, or alternatively 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 ``` Wait for the update to finish, ensure you are using the latest version of Dapr(1.0.0) with: ```bash $ dapr --version CLI version: 1.0.0 Runtime version: 1.0.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.0.0 -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 Note: If upgrading from Dapr 0.11.x, use the CLI to upgrade To upgrade Dapr using Helm, run: ``` helm repo add dapr https://dapr.github.io/helm-charts/ helm repo update helm upgrade dapr dapr/dapr --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 helm install dapr dapr/dapr --create-namespace=true --namespace dapr-system --wait ``` Alternatively, you can use the latest version of CLI: ``` dapr init -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.6.0 15s 2021-02-14 13:07.39 dapr-sidecar-injector dapr-system True Running 1 1.0.0 15s 2021-02-14 13:07.39 dapr-sentry dapr-system True Running 1 1.0.0 15s 2021-02-14 13:07.39 dapr-operator dapr-system True Running 1 1.0.0 15s 2021-02-14 13:07.39 dapr-placement dapr-system True Running 1 1.0.0 15s 2021-02-14 13:07.39 ``` After Dapr 1.0.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> ``` FIXED handling of key not found in mongodb to return empty result instead of errror. RESOLVED Error when saving byte REMOVED Context from request and response objects. ADDED Support many values for one query param