RSS

Dapr v1.16 is now available

We’re excited to announce the release of Dapr 1.16! There have been in improvements to workflow performance, issues resolved and features that we recommend you upgrade.

Thanks to all the new and existing contributors who helped make this release happen.

If you’re new to Dapr, visit the getting started page and familiarize yourself with Dapr.

The 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.

Go to the upgrading Dapr section for steps to upgrade to version 1.16.

Acknowledgements

Thanks to everyone who made this release possible!

@abossard, @acroca, @adam6878, @aladd04, @alicejgibbons, @antontroshin, @artur-ciocanu, @artursouza, @bibryam, @cicoyle, @ConstantinChirila, @cwalsh2189, @dani-maarouf, @Dzvezdana, @Eileen-Yu, @elena-kolevska, @elKei24, @ericsyh, @famarting, @filintod, @fvandillen, @Gallardot, @giterinhub, @hhunter-ms, @iddeepak, @inishchith, @javier-aliaga, @jev-e, @jjcollinge, @jmenziessmith, @JoshVanL, @kaibocai, @kaspernissen, @KentHsu, @knotseaborg, @ManuInNZ, @marcduiker, @mathieu-benoit, @mcruzdev, @middt, @mikeee, @msfussell, @MyMirelHub, @nelson-parente, @ngruson, @nmalocic, @olitomlinson, @osouzaelias, @passuied, @pnagaraj80, @salaboy, @sicoyle, @siri-varma, @swatimodi-scout, @theonefx, @thrubovc, @tmiddlet2666, @TomasEkeli, @tscolari, @twinguy, @vil02, @WhitWaldo, @willvelida, @yaron2

Highlights

These are the v1.16 release highlights:

Multi-application workflows

The Workflow API now supports multi-application workflows, enabling you to orchestrate complex business processes that span across multiple applications. This allows a workflow to call activities or start child workflows in different applications, distributing the workflow execution while maintaining the security, reliability, and durability guarantees of Dapr’s workflow engine.

By using multi-app workflows, you can design distributed business processes, such as cross-application order processing, complex approval chains that involve multiple workflows and activites, and AI/ML pipelines that coordinate between LLM services and GPU-intensive workloads. Workflow durability and consistency is maintained across application boundaries, ensuring your distributed workflows remain resilient even when individual applications experience temporary failures.

Mutli-application workflows are supported in Java and Go SDKs as of this release. Learn more with the multi-app workflows documentation.

Workflow performance

Dapr continues to invest into the Workflows API building block; with this release focusing on performance and stabilization, particularly when using Workflows for production at scale. These enhancements make Dapr Workflows more robust and performant for high-throughput workloads with high-concurrency requirements.

Key Improvements:

  • Memory Optimization: Reduced memory allocations by pooling reused memory to reduce memory allocations and be smarter about object lifetimes to minimize garbage collection overhead.
  • Concurrency Enhancements: Removed shared memory contention in both daprd and Scheduler to allow for higher throughput of workflow operations.
  • Scheduler Reliability: Fixed deadlocks in the Scheduler service that could occur under extreme load conditions, ensuring more reliable job scheduling and execution.
  • Connection Management: Improved and increased the number of cross-daprd and daprd-to-Scheduler streams to allow for more concurrent operations and reduce bottlenecks.

The results of these improvements mean that Dapr handles larger Workflow throughputs, consumes less memory & CPU overall, and the consumption of these resources is more stable.

The following table shows results of testing the performance of Workflows from Dapr v1.15 and v1.16.

  • Run on a 3 node EKS cluster, using t2.medium node sizes.
  • Actor state store is an Amazon RDS instance using db.r6g.2xlarge.
  • Go Workflow application which starts all scheduled Workflows in parallel, with each workflow executing 15 no-op activities sequentially.
Workflows Started App Replicas 1.15 Time Taken 1.16 Time Taken
1,000 1 1m39.55s 1m30.64s
5,000 1 8m7s.97s 7m38.84s
10,000 1 CRASH 15m6.96s
1,000 3 38.87s 34.87s
5,000 3 7m38s & CRASH 4m26.89s
10,000 3 15m33.50s 11m31.22s
1,000 5 34.12s 35.23s
5,000 5 5m44.12s 4m17.03s
10,000 5 CRASH 13m55s

Workflow execution times

Below are the memory and CPU usage when running 1000 workflows with 3 application replicas. The v1.16 engine uses less CPU & memory and its usage is more stable.

1.15 Memory

Workflow 1.15 memory

1.15 CPU

Workflow 1.15 CPU

1.16 Memory

Workflow 1.16 memory

1.16 CPU

workflow 1.16 CPU

HTTP Streaming / SSE support for HTTP Endpoints

You can now use Dapr to proxy requests to external HTTP servers that work with streaming or Server-Sent Events (SSE), allowing Dapr to provide important functionality when communicating with MCP servers and AI agents like middleware authenticaton, resiliency policies, telemetry and distributed tracing.

Learn more on HTTP streaming with service invocation.

Conversation API Tooling Support (alphaV2)

Dapr now supports tool calling in the Conversation API, enabling Large Language Models (LLMs) to interact with external functions and APIs during conversations. This feature allows applications to provide tools that LLMs can interact with to retrieve real-time data, perform calculations, or execute actions as part of the conversation flow. This makes conversations more interactive and dynamic, allowing LLMs to integrate with external services and data sources.

The new AlphaV2 Conversation API introduces:

  • Function tools: Define tools with JSON Schema parameters that LLMs can invoke
  • Tool choice control: Configure tool usage with options such as auto, none, required, or a specific tool
  • Tool call messages: Conversation history now supports assistant tool calls and tool responses
  • OpenAI Alignment: API design follows OpenAI’s tool calling patterns for a familiar developer experience The API was updated to Alpha2 Applications using the previous AlphaV1 API can migrate to AlphaV2 to access tool calling and benefit from the improved, OpenAI-aligned interface.

Try tool calling with Conversation API quickstarts

Sentry Service JWT and OIDC Support

The Sentry service was extended to include advanced authentication capabilities with JWT and OIDC support, enabling integration with external identity providers through workload identity federation.

You can configure Sentry to issue JWT tokens and expose OIDC discovery endpoints (/.well-known/openid-configuration and /jwks.json). These tokens can, for example, be exchanged with Microsoft Entra ID for Azure access tokens by creating a Federated Identity Credential tied to your Dapr app’s SPIFFE ID.

  • Federated Identity Credential integration: Authenticate with Microsoft Entra ID using SPIFFE IDs, no need for long-lived secrets.
  • JWT and OIDC in Sentry: Enable JWT issuance and OIDC discovery endpoints in Sentry.
  • Consistent identity across environments: Same authentication model regardless of where your Dapr app is running.

See the Managed identities and workload identity federation and Authenticating with a Federated Identity Credential in Azure for a walkthrough.

W3C Baggage Support for Distributed Tracing

Dapr now supports W3C Baggage propagation alongside trace context, enabling you to pass custom key-value pairs across your distributed services. This allows you to attach contextual information like user IDs, server nodes, or business-specific tags that travel with your traces throughout the entire request flow.

This feature supports 2 propagation methods:

  • OpenTelemetry context baggage
  • Header/Metadata baggage

Dapr automatically handles the propagation and encoding requirements, ensuring your baggage data reaches downstream services while maintaining security boundaries between different propagation domains. This makes it easier to correlate business context with technical traces, improving debugging, and observability across your microservices architecture.

Learn more on how to configure and use baggage.

Components

This release brings new component and improvements to Dapr components.

New components

The following new components have been added. The total number of components is 135, including 30 state stores, 47 bindings and 15 message brokers.

Component improvements

Component registration fixes have been implemented across numerous components to ensure proper functionality. Various bug fixes address issues with Cosmos DB transactional operations, Kafka consumer shutdown, MQTT3 certification tests, and PostgresSQL documentation links.

  • AWS SDK v2 migration has been completed across multiple AWS components due to the end-of-support being reached for AWS v1 SDK.
  • Conversation API components updated with LangChain Go common model refactoring, OpenAI compatibility layer for Gemini integration, and proper component registration in the metadata schema and bundle.
  • OpenAI Conversation component now supports Azure OpenAI as a setting.
  • Redis binding Sentinel now supports authentication configuration.
  • GCP Storage Bucket binding operations now support copy, rename, and move functionality.
  • AWS S3 output binding now includes tag support
  • Oracle Database state store now supports Connect Descriptors for load balancing and failover scenarios.
  • Kafka has been enhanced with compression support and improved consumer shutdown handling.
  • RabbitMQ received expanded property support.
  • Pulsar gained replicateSubscriptionState support.

SDK Improvements

.NET SDK

The v1.16 release of the Dapr .NET SDK delivers a set of targeted enhancements focused on developer productivity and runtime efficiency. Most notably, this version debuts Roslyn analyzers and accompanying code fixes that enforce best practices around SDK configuration and usage. This marks the beginning of a more guided and prescriptive development experience, reducing setup complexity and surfacing misconfigurations early.

Framework support has been consolidated with the depreciation of .NET 6 and 7, aligning the SDK with .NET 8 and 9. This shift enabled internal refactoring that improves performance and resource utilization across core components.

On the feature front, the SDK now supports the latest capabilities in the Dapr conversation API with tooling, as well as the overwrite flag for job scheduling. A critical bug affecting encryption and decryption of large files exceeding 4 GB has been resolved.

Dapr Workflows orchestrated using the .NET SDK are now considered stable, supporting both short-lived and long-running processes. Performance has been further improved through targeted optimizations, including new helper methods that enable deterministic parallelization with bounded concurrency.

Learn more at the Dapr Community call for .NET SDK on Sept 3rd 2025

Python SDK

The Python SDK release brings several key improvements and new features to enhance the developer experience. Most notably, the release introduces Conversation API (alphaV2) tool calling and Jobs API support, along with enhanced transactional state operations that now support metadata for more flexible state management.

The release also addresses several important bug fixes, including resolving JSON serialization errors that occurred during internal Dapr errors in actor method calls, fixing issues with receiving actor reminders that had empty state, and improving type hint support for better PEP 561 compliance and IDE integration.

This release includes improvements to error handling, particularly for the HTTP client, allowing users to implement more appropriate error handling behavior.

The FastAPI extension documentation has been updated to resolve warnings about non-annotated attributes. These changes collectively make the Python SDK more robust, user-friendly, and aligned with modern Python development practices.

Java SDK

The Java SDK updates focused on workflow capabilities and developer experience improvements. Multi-app workflow support enables orchestrating business processes across multiple applications, while the new compensation workflows pattern provides robust error handling and rollback mechanisms for complex transactions.

Additional improvements include failure policy support for the Jobs API, tool calling support for the Conversation API, custom activity name registration for workflows, and SpringBoot workflow examples.

The Java SDK enhanced SpringBoot integration with improved connection configuration, health check parameters, and stable module releases for Workflows, SpringBoot, and testcontainers-dapr modules. Developer experience was further improved with better component specification parsing, and comprehensive documentation across SpringBoot properties, and Dapr Jobs and Conversation APIs.

The Java SDK has newly expanded examples for the following:

Javascript SDK

This release of the Javascript SDK brings several improvements and fixes to enhance the developer experience and maintainability of the Dapr Javascript SDK.

Fixed spelling mistakes on the subscriptionManager for the PubSub API.

The workflow component has been cleaned up and now only uses dapr workflow component aligning with Dapr ecosystem.

Multiple infrastructure improvements have been introduced including removing the prettifier from the build pipeline for better efficiency and updating the Dapr versions used in end-to-end tests to maintain compatibility with the latest Dapr features.

Updated the package metadata to reflect current author and license information, and disabled the issue-closing bot to improve repository management processes. These changes collectively improve the reliability and maintainability of the Javascript SDK while ensuring it stays current with the broader Dapr ecosystem.

Go SDK

The Go SDK implements support for the runtime changes introduced in this release including the new Conversation Alpha2 API functionality.

The existing workflow methods exposed by the Go SDK’s Dapr client have been removed as of this release and are no longer available. Guidance has been updated regarding the workflow (wrapper) exposed by the Go SDK, the new recommended path is to use the dapr/durabletask-go library directly rather than the wrapper provided.

The Go SDK also supports multi-app workflow orchestration across all your Dapr applications within a namespace.

Check out the examples for more information: github.com/dapr/go-sdk/examples.

Rust SDK (alpha)

The Rust SDK has been updated in line with the runtime changes, with the new Conversation Alpha2 support coming soon.

The MSRV remains at 1.78 for this release.

List of issues addressed in this release

Dapr Runtime

  • ADDED Adding custom Tags to the traces 4235
  • FIXED E2E testing of concurrent workflow execution across multiple app replicas 6889
  • FIXED GetWorkflowStateAsync “error from internal actor: no such instance exists” 7824
  • ADDED Make the Grafana dashboard for longhaul tests public 8141
  • FIXED Dapr Crypto API won’t finish encrypt action with large payloads (~1MB+) 8244
  • FIXED Don’t overwrite jobs using same name 8402
  • FIXED Do not use f-string when there are no placeholders 8419
  • ADDED Workload Identity for GCP Secret Manager and Object store Dapr component 8563
  • ADDED Secretstore: GCP Secrets Manager to support implicit credentials 8564
  • FIXED Why InvokeBinding use content-type in context to override values in metadata? 8574
  • FIXED bugfix for metadata overwrite 8601
  • ADDED Jobs Failure Policy 8608
  • ADDED Support for configuring ServiceAccount annotations in Helm chart (dapr_rbac) to enable IRSA usage on Amazon EKS. 8614
  • UPDATED Docs: update dapr readme 8622
  • FIXED Dapr 1.15 Workflow - Is it expected that workflows will break after updating? 8651
  • ADDED Add status code for scheduler jobs. 8679
  • UPDATED Add sub-second precision to Jobs and Reminders 8728
  • UPDATED Update Etcd to v3.6.0 8744
  • ADDED Tool Calling Support in Conversation API 8816
  • ADDED Added failed and undelivered scheduler metric for job status code 8833
  • ADDED Create RC for installer-bundle 8927

Dapr CLI

  • FIXED Fix perfsprint linter errors 1374
  • Add a message when run-file is used with non-compatible arguments 1508
  • FIXED Add detection for incompatible flags with –run-file 1509
  • ADDED feat: Allow configuring the scheduler host on init 1520
  • UPDATED feat: update d/d to 1.16.0-rc3 1527

Components

  • ADDED Move to AWS SDK v2 2155
  • ADDED GCP Bucket copy, rename, move 3157
  • UPDATED feat: kafka subpub and bindings support compression 3676
  • FIXED Sidecar does not throw error when it fails to subscribe to Azure ServiceBus through Dapr component due to authentication 3715
  • ADDED Add Tag Support to AWS S3 Output Binding 3791
  • ADDED Support Oracle Connect Descriptors for Load Balancing & Failover in state.oracledatabase 3794
  • UPDATED Supporting more properties for rabbitmq 3806
  • FIXED MQTT3 Certificaiton test 3807
  • UPDATED conversation api - refactor langchaingo common models 3846
  • UPDATED feat: Add support for replicateSubscriptionState in Pulsar pubsub component 3853
  • ADDED feat: aws v2 provider 3856
  • UPDATED chore: bump sarama dep to latest 3859
  • ADDED add conversation components to component metadata schema and bundle 3882
  • FIXED Ignore 404 errors in transactional cosmos delete operations 3894
  • FIXED Fix misleading example for sentinelMasterName 3903
  • FIXED fix: postgresql doc link fix 3904
  • UPDATED feat: allow specifying Redis Sentinel auth 3905
  • ADDED Add Path Filter Support to OAuth2 and Client Credentials Middlewares 3906
  • FIXED fix: Fix kafka consumer shutdown 3907
  • FIXED Added enpoint in configuration 3931
  • UPDATED chore: Move kafka to use aws sdk v2 3940
  • FIXED fix: ’ttlInSeconds’ metadata key now respected when publishing to Azure Service Bus Topics. 3942
  • ADDED feat: add state component registrations 3951
  • FIXED feat: proper secretstore registration fixes 3952
  • FIXED feat: lock comp registration fixes 3953
  • FIXED feat: crypto comp registration fixes 3954
  • FIXED feat: add middleware comp proper registrations 3956
  • FIXED feat: add pubsub proper registrations 3957
  • UPDATED use openai compatibility layer for gemini 3963

.NET SDK

General

  • UPDATED [General] Add documentation clarifying polymorphic json serialization support 1495
  • UPDATED [General] Use ExperimentalAttribute instead of ObsoleteAttribute to indicate alpha APIs. 1219
  • UPDATED [General] Deprecate .NET 6/7 support in favor of .NET 8 and 9 1261
  • UPDATED [General] Register activities with DI and allow the lifetime to be defined 1413
  • UPDATED [General] Add support for updated exception serialization using Data Contract Serilializer 1451
  • UPDATED [General] Quality of Life Improvements 1504
  • UPDATED [General] Consolidate client registration implementation 1503
  • UPDATED [General] Dependency on an invalid version of Microsoft.Extensions.Configuration.Abstractions triggers a warning. 1536
  • UPDATED [General] Updated Dapr runtime/CLI version used in integration tests 1485
  • UPDATED [General] Project directory cleanup 1514
  • UPDATED [General] Remove content on Tye Project 1538
  • UPDATED [General] Developers should not use WaitForSidecar in their applications to wait for Dapr readiness 1403
  • UPDATED [General] Update gRPC dependency used in all Dapr clients 1430

Actors

  • ADDED [Actors] Actor reminders should return null if not registered 1468
  • FIXED [Actors] Actor timers not properly deserializing new expressions 1511
  • ADDED [Actors] Allow a timer to be called from a callback boolean return value 1553
  • FIXED [Actors] Timers generate internal errors 1522
  • UPDATED [Actors] Actor deserialization - @monthly always returns 30 days now 1530

Roslyn Analyzers

  • ADDED [Analyzer] Add Roslyn analyzer for workflows 1440
  • ADDED [Analyzer] Add Roslyn analyzer for actor registration 1441
  • ADDED [Analyzer] Add Roslyn Job Analyzer to check if scheduled jobs have corresponding invocation urls 1477
  • ADDED [Analyzer] Add Roslyn Actor timer callback method analyzer 1513
  • ADDED [Analyzer] Adding Analyzer documentation, consolidating diagnostic IDs 1515

AI/Agentic Support

  • ADDED [Agents] Add A2A Dapr Task Store 1593
  • ADDED [Conversation] Added Dapr implementation of Microsoft.Extensions.AI abstractions 1620

Aspire Integration

  • ADDED [Aspire] Adding e2e Aspire hosting demo 1587
  • ADDED [Aspire] Update dotnet-development-dapr-aspire.md 1555
  • UPDATED [Aspire] Improve integration between Dapr and Aspire 1428

Cryptography

  • ADDED [Cryptography] Migrate Dapr.Cryptography out to separate client 1488
  • RESOLVED [Cryptography] Add Dapr.Cryptography package + fix for encrypting/decrypting large files 1527

Jobs

  • ADDED [Jobs] Add support for Jobs FailurePolicy 1557
  • FIXED [Jobs] Testing GetJobAsync deserialization 1497
  • UPDATED [Jobs] Jobs documentation is out of date 1520

PubSub

  • FIXED [PubSub] Attach metadata to each individual message in bulkpublish, if it exists 1437
  • FIXED [PubSub] Correct XML documentation of BulkSubscribeAttribute 1568

Service Invocation

  • FIXED [ServiceInvocation] Add Dapr gRPC proxying capability example 1525

Workflow

  • ADDED [Workflow] Accept DateTimeOffset for workflow start time 1583
  • ADDED [Workflow] Add options to simplify naming of registered workflows and activities 1574
  • ADDED [Workflow] Add durabletask-dotnet fork to solution 1526
  • ADDED [Workflow] Added note about setting workflow start time 1581
  • FIXED [Workflow] Replace HashSet with ConcurrentDictionary in WorkflowLoggingService 1556
  • FIXED [Workflow] Workflow locking up inconsistently after long intervals of idleness 1547
  • UPDATED [Workflow] DurableTask protos update - version bump 1549
  • UPDATED [Workflow] Updating gRPC and Dapr.DurableTask.* packages 1523

Go SDK

  • FIXED fix api token initialization 722
  • UPDATED chore: Use latest dapr/dapr version 731
  • ADDED Exposes FailurePolicy to the Jobs api 737
  • ADDED chore: Support taskExecutionId 738
  • UPDATED chore(deps): bump github.com/go-chi/chi/v5 from 5.1.0 to 5.2.2 739
  • FIXED Upgrade markdown files in daprdocs for Hugo upgrade 741
  • ADDED Worklow: add now about start time 742
  • FIXED wf Worker should only close clients it has initialized 748
  • ADDED chore: Add overwrite field to job request 754
  • UPDATED release: bump version to 1.13 757
  • DEPRECATED Prune deprecated workflow methods from Dapr Client 760
  • DEPRECATED chore!: prune deprecated client workflow methods + bump kit 763
  • ADDED feat: conversation alpha2 implementation 766

Java SDK

  • ADDED Support for Cross App Call Activity Workflows 1468
  • ADDED Compensating Workflows Pattern 1333
  • ADDED Failure Policy for Jobs API 1448
  • FIXED Fix component spec parsing 1370
  • ADDED SpringBoot Workflow Examples 1344
  • ADDED Docs for SpringBoot DaprClient Properties 1466
  • ADDED App health check parameters 1465
  • UPDATED Rename/Expose SpringBoot connection details 1341
  • ADDED Tool Calling Support for Conversation API 1481
  • ADDED Docs for Conversation API 1387
  • ADDED Support registering activities with custom name 1431
  • UPDATED Make Workflows, SpringBoot modules, and testcontainer-dapr Stable 1531

Python SDK

  • ADDED Add Conversation API Tool Calling 822
  • ADDED Add Jobs API 733
  • FIXED Internal Dapr error during actor method call no longer raises a JSON serialisation error. 761
  • FIXED [DOC] fast-api ext demo: “non-annotated attribute was detected” 775
  • FIXED receiving reminders with empty state. 782
  • ADDED Adds support for metadata in TransactionalStateOperation 791
  • UPDATED Improve the error handling for HTTP client so consumers can trigger appropriate behavior 793
  • FIXED fix: enable better type hint support for PEP 561 812
  • UPDATED Update daprdocs files to be compatible with latest Hugo version 816

Rust SDK

  • FIXED CI - only expose secret to publish step 218
  • FIXED chore: pin idna_adapter 278
  • FIXED fix(chore): allow large size difference between variants in generated… 283
  • FIXED fix: refactor log formatting 285
  • FIXED Update markdown files to be compatible with latest Hugo 287
  • FIXED fix: cleanup dead code 288
  • ADDED feat!: jobs failure policy and proto bump 289
  • FIXED docs: fix pane 294

JavaScript SDK

  • FIXED [PubSub] Fix spelling of lookupTopicWilcard method on subscriptionManager 665
  • DEPRECATED Disable issue closing bot in JS SDK 676
  • UPDATED [Workflow] Remove arguments/references to workflow component 679
  • UPDARED Update package.json to reflect updated author and license values 681
  • FIXED [Infrastructure] Remove prettifier from build pipeline 683
  • UPDATED [Infrastructure] Update Dapr CLI/Runtime version used in E2E tests 685

Documentation

  • ADDED Adds a new component config option for Redis PubSub 4591
  • UPDATED Update documentation for GCP Secret Manager and Object Store support of implicit authentication 4592
  • UPDATED Update self-hosted-with-docker.md - make scheduler running 4599
  • FIXED fix: broken link due to typo 4604
  • UPDATED Set OpenAI Model to gpt-4o-mini and Updated Spec Defaults 4608
  • ADDED Feature/converstion/googleai/1.16 4611
  • UPDATED Update Application Insights Otel Collector example 4614
  • ADDED Baggage Docs 4615
  • UPDATED Manual mTLS Certificate Update Gets Overwritten Due to Missing ConfigMap Update 4625
  • UPDATED Update Java Code examples to serialization documents 4626
  • UPDATED Added tags example 4635
  • ADDED docs-1.16: support subscribeInitialPosition on Pulsar consumer 4637
  • ADDED docs: add jobs overwrite flag 4646
  • ADDED Add docs for Azure Federated Identity via Dapr Sentry OIDC 4650
  • UPDATED Update Azure Storage Queues Binding doc to include initialVisibilityDelay parameter 4657
  • ADDED Document new coherence state store component 4661
  • ADDED doc: gcp bulkGet, copy, rename, move docs 4662
  • ADDED Support subscribeMode field on pulsar - contrib PR 3831 4663
  • ADDED docs: add metadata overrides for sensitive connection string values (URL and DSN support) 4664
  • ADDED Compensating Workflows Pattern 4665
  • UPDATED Update How-To: Handle large http body requests to new max-body-size command 4670
  • FIXED conversation api typo in image 4671
  • UPDATED Update docs to use latest Hugo and Docsy 4673
  • ADDED Create a dedicated Dapr Agents slide deck 4675
  • ADDED Add documentation for the jobs failure policy 4676
  • UPDATED Updating OpenAI conversation component to include custom endpoint support 4678
  • UPDATED Update workflow docs with new style workflow diagrams 4679
  • UPDATED Streaming Subscriptions needs to be marked as an Alpha API 4680
  • ADDED Doc needed - Allow configuring Kafka consumer group rebalance strategy 4684
  • ADDED Add new consumerGroupRebalanceStrategy and useAvroJson doc for Kafka pubsub 4686
  • UPDATED Update Conversation API Docs - tool calling support 4687
  • UPDATED Update the Workflow Architecture overview to remove internal actor and other changes 4688
  • UPDATED Updating storage queue binding doc to include initialVisibilityDelay parameter 4689
  • ADDED docs: add replicateSubscriptionState field to Pulsar pubsub component 4692
  • ADDED Add docs for AWS Cloudmap and Nameformat name resolution components 4694
  • ADDED Add docs for AWS Cloudmap and Nameformat name resolution compoents 4695
  • ADDED Add Clickhouse state store docs v1.16 4697
  • ADDED AWS SQS binding spec - endpoint 4698
  • DEPRECATED Dapr for Visual Studio Code extension is deprecated as it is no longer being maintained. 4699
  • UPDATED Document ability to exclude metadata items from being converted to/from headers 4701
  • ADDED Add Coherence state store component docs - v1.16 4702
  • UPDATED Move Dapr Agents docs into main docs 4708
  • UPDATED Documentation GCP Firestore (Datastore mode) 4711
  • ADDED Add Dash0 to tracing-overview.md 4713
  • UPDATED AWS Go SDKs to natively support AWS SSO 4717
  • ADDED Document excludeMetaHeaderRegex kafka pubsub configuration 4724
  • ADDED Cross application Workflow 4728
  • ADDED Add dapr agents 1.16 4741
  • ADDED feat: conversation api toolcalling support documentation 4769
  • ADDED feat: add Redis Sentinel support to Redis lock component documentation 4771
  • ADDED Baggage Docs 4778
  • ADDED Document IRSA ServiceAccount configuration for EKS deployments 4779
  • ADDED Document public longhaul test metrics dashboard 4780
  • ADDED Document Preview Feature: WorkflowsClusteredDeployment 4781
  • UPDATED Subscription Startup Retries 4782
  • UPDATED Jobs & Reminders Support Nanoseconds 4783
  • UPDATED Improved Security: run as non-root users by default 4784
  • UPDATED Etcd Flags 4786
  • ADDED Workflow Rerun Support 4787
  • ADDED HTTP SSE/streaming support to external endpoints 4788
  • UPDATED Support Multiple Streaming Subscriptions Subscribers 4815
  • UPDATED Service invocation headers 4816

Quickstarts

  • FIXED Build.yaml (build tutorials for docker) action workflow has ~15 deprecation warnings 1068
  • ADDED Java SDK Conversation API quickstart 1155
  • ADDED Python SDK Conversation API quickstart with Tool calling 1157
  • ADDED Adding Java Tutorials for Workflows 1194
  • UPDATED Update Javascript Quickstart with the Latest Changes for Conversation API 1204
  • FIXED [Workflows] error in TS Quickstart causing failure 1206
  • ADDED Add tool calling & /v1.0-alpha2 version in quickstarts 1207
  • UPDATED Update python Conversation HTTP API with Tool Calling support 1211
  • UPDATED Update dotnet Conversation API with Tool Calling support 1212
  • UPDATED Update java Conversation API with Tool Calling support 1213
  • UPDATED Update go SDK Conversation API with Tool Calling support 1214
  • FIXED Fix the Go - Jobs quickstart 1219

Upgrading to Dapr 1.16

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.16

Wait for the update to finish, ensure you are using the latest version of Dapr(1.16) with:

$ dapr --version

CLI version: 1.16
Runtime version: 1.16

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.16 -k

To upgrade with high availability mode:

dapr upgrade --runtime-version 1.16 --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.16 --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.16 --namespace dapr-system --wait

Alternatively, you can use the latest version of CLI:

dapr init --runtime-version=1.16 -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-sidecar-injector  dapr-system  True     Running  1         1.16   15s  2025-08-27 13:07.39
  dapr-sentry            dapr-system  True     Running  1         1.16   15s  2025-08-27 13:07.39
  dapr-operator          dapr-system  True     Running  1         1.16   15s  2025-08-27 13:07.39
  dapr-placement         dapr-system  True     Running  1         1.16   15s  2025-08-27 13:07.39
  dapr-scheduler         dapr-system  True     Running  1         1.16   15s  2025-08-27 13:07.39

After Dapr 1.16 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>

Support

With this release all versions of Dapr v1.13 are no longer supported.

Breaking Changes

.NET SDK

  • UPDATED Remove .NET 6 and .NET 7 support from Dapr .NET SDK 1429

Go SDK

  • DEPRECATED Prune deprecated workflow methods from Dapr Client 760
  • DEPRECATED The existing workflow client package which was a wrapper around the durabletask library is deprecated as of this release. Examples of how to use the durabletask library directly have been included.

JavaScript SDK

  • FIXED [PubSub] Fix spelling of lookupTopicWilcard method on subscriptionManager 665

Deprecation Notices

See https://v1-16.docs.dapr.io/operations/support/breaking-changes-and-deprecations/ for a full list of deprecations.

Dapr

Go SDK

In the next release (1.17) the existing Conversation Alpha1 methods and types will be removed. Migrate to Conversation Alpha2.

Rust SDK

In the next release (1.17) the MSRV will be updated to 1.81