<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Support and versioning on Dapr Docs</title><link>https://v1-18.docs.dapr.io/operations/support/</link><description>Recent content in Support and versioning on Dapr Docs</description><generator>Hugo</generator><language>en</language><atom:link href="https://v1-18.docs.dapr.io/operations/support/index.xml" rel="self" type="application/rss+xml"/><item><title>Versioning policy</title><link>https://v1-18.docs.dapr.io/operations/support/support-versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/operations/support/support-versioning/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>Dapr is designed for future changes in the runtime, APIs and components with versioning schemes. This topic describes the versioning schemes and strategies for APIs, manifests such as components and Github repositories.&lt;/p>
&lt;h2 id="versioning">Versioning&lt;/h2>
&lt;p>Versioning is the process of assigning either unique version names or unique version numbers to unique states of computer software.&lt;/p>
&lt;ul>
&lt;li>Versioning provides compatibility, explicit change control and handling changes, in particular breaking changes.&lt;/li>
&lt;li>Dapr strives to be backwards compatible. If a breaking change is needed it’ll be &lt;a href="https://v1-18.docs.dapr.io/operations/support/support-release-policy/#feature-and-deprecations">announced in advance&lt;/a>.&lt;/li>
&lt;li>Deprecated features are done over multiple releases with both new and deprecated features working side-by-side.&lt;/li>
&lt;/ul>
&lt;p>Versioning refers to the following Dapr repos: dapr, CLI, stable language SDKs, dashboard, components-contrib, quickstarts, helm-charts and documentation.&lt;/p></description></item><item><title>Supported runtime and SDK releases</title><link>https://v1-18.docs.dapr.io/operations/support/support-release-policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/operations/support/support-release-policy/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>This topic details the supported versions of Dapr releases, the upgrade policies and how deprecations and breaking changes are communicated in all Dapr repositories (runtime, CLI, SDKs, etc) at versions 1.x and above.&lt;/p>
&lt;p>Dapr releases use &lt;code>MAJOR.MINOR.PATCH&lt;/code> versioning. For example, 1.0.0.&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Versioning&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>MAJOR&lt;/code>&lt;/td>
 &lt;td>Updated when there’s a non-backward compatible change to the runtime, such as an API change. A &lt;code>MAJOR&lt;/code> release can also occur then there is a considered a significant addition/change of functionality that needs to differentiate from the previous version.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>MINOR&lt;/code>&lt;/td>
 &lt;td>Updated as part of the regular release cadence, including new features, bug, and security fixes.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>PATCH&lt;/code>&lt;/td>
 &lt;td>Incremented for a critical issue (P0) and security hot fixes.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>A supported release means:&lt;/p></description></item><item><title>Breaking changes and deprecations</title><link>https://v1-18.docs.dapr.io/operations/support/breaking-changes-and-deprecations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/operations/support/breaking-changes-and-deprecations/</guid><description>&lt;h2 id="breaking-changes">Breaking changes&lt;/h2>
&lt;p>Breaking changes are defined as a change to any of the following that cause compilation errors or undesirable runtime behavior to an existing 3rd party consumer application or script after upgrading to the next stable minor version of a Dapr artifact (SDK, CLI, runtime, etc):&lt;/p>
&lt;ul>
&lt;li>Code behavior&lt;/li>
&lt;li>Schema&lt;/li>
&lt;li>Default configuration value&lt;/li>
&lt;li>Command line argument&lt;/li>
&lt;li>Published metric&lt;/li>
&lt;li>Kubernetes resource template&lt;/li>
&lt;li>Publicly accessible API&lt;/li>
&lt;li>Publicly visible SDK interface, method, class, or attribute&lt;/li>
&lt;/ul>
&lt;p>Breaking changes can be applied right away to the following cases:&lt;/p></description></item><item><title>Reporting security issues</title><link>https://v1-18.docs.dapr.io/operations/support/support-security-issues/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/operations/support/support-security-issues/</guid><description>&lt;p>The Dapr project and maintainers make security a central focus of how we operate and design our software. From the Dapr binaries to the GitHub release processes, we take numerous steps to ensure user applications and data is secure. For more information on Dapr security features, visit the &lt;a href="https://v1-18.docs.dapr.io/concepts/security-concept/">security page&lt;/a>.&lt;/p>
&lt;h2 id="repositories-and-issues-covered">Repositories and issues covered&lt;/h2>
&lt;p>When we say &amp;ldquo;a security vulnerability in Dapr&amp;rdquo;, this means a security issue
in any repository under the &lt;a href="https://github.com/dapr/">dapr GitHub organization&lt;/a>.&lt;/p></description></item><item><title>Preview features</title><link>https://v1-18.docs.dapr.io/operations/support/support-preview-features/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/operations/support/support-preview-features/</guid><description>&lt;p>Preview features in Dapr are considered experimental when they are first released.&lt;/p>
&lt;p>Runtime preview features require explicit opt-in in order to be used. The runtime opt-in is specified in a preview setting feature in Dapr&amp;rsquo;s application configuration. See &lt;a href="https://v1-18.docs.dapr.io/operations/configuration/preview-features/">How-To: Enable preview features&lt;/a> for more information.&lt;/p>
&lt;p>For CLI there is no explicit opt-in, just the version that this was first made available.&lt;/p>
&lt;h2 id="current-preview-features">Current preview features&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Feature&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;th>Setting&lt;/th>
 &lt;th>Documentation&lt;/th>
 &lt;th>Version introduced&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Pluggable components&lt;/strong>&lt;/td>
 &lt;td>Allows creating self-hosted gRPC-based components written in any language that supports gRPC. The following component APIs are supported: State stores, Pub/sub, Bindings&lt;/td>
 &lt;td>N/A&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/concepts/components-concept/#pluggable-components">Pluggable components concept&lt;/a>&lt;/td>
 &lt;td>v1.9&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Multi-App Run for Kubernetes&lt;/strong>&lt;/td>
 &lt;td>Configure multiple Dapr applications from a single configuration file and run from a single command on Kubernetes&lt;/td>
 &lt;td>&lt;code>dapr run -k -f&lt;/code>&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/local-development/multi-app-dapr-run/">Multi-App Run&lt;/a>&lt;/td>
 &lt;td>v1.12&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Cryptography&lt;/strong>&lt;/td>
 &lt;td>Encrypt or decrypt data without having to manage secrets keys&lt;/td>
 &lt;td>N/A&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/concepts/components-concept/#cryptography">Cryptography concept&lt;/a>&lt;/td>
 &lt;td>v1.11&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Actor State TTL&lt;/strong>&lt;/td>
 &lt;td>Allow actors to save records to state stores with Time To Live (TTL) set to automatically clean up old data. In its current implementation, actor state with TTL may not be reflected correctly by clients, read &lt;a href="https://v1-18.docs.dapr.io/reference/api/actors_api/">Actor State Transactions&lt;/a> for more information.&lt;/td>
 &lt;td>&lt;code>ActorStateTTL&lt;/code>&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/reference/api/actors_api/">Actor State Transactions&lt;/a>&lt;/td>
 &lt;td>v1.11&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Component Hot Reloading&lt;/strong>&lt;/td>
 &lt;td>Allows for Dapr-loaded components to be &amp;ldquo;hot reloaded&amp;rdquo;. A component spec is reloaded when it is created/updated/deleted in Kubernetes or on file when running in self-hosted mode. Ignores changes to actor state stores and workflow backends.&lt;/td>
 &lt;td>&lt;code>HotReload&lt;/code>&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/concepts/components-concept/">Hot Reloading&lt;/a>&lt;/td>
 &lt;td>v1.13&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Subscription Hot Reloading&lt;/strong>&lt;/td>
 &lt;td>Allows for declarative subscriptions to be &amp;ldquo;hot reloaded&amp;rdquo;. A subscription is reloaded either when it is created/updated/deleted in Kubernetes, or on file in self-hosted mode. In-flight messages are unaffected when reloading.&lt;/td>
 &lt;td>&lt;code>HotReload&lt;/code>&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/pubsub/subscription-methods/#declarative-subscriptions">Hot Reloading&lt;/a>&lt;/td>
 &lt;td>v1.14&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Workflows Clustered Deployment&lt;/strong>&lt;/td>
 &lt;td>Enable Workflows to function when workflow clients communicate to multiple daprds of the same appID who are behind a loadbalancer. Only relevant when using &lt;a href="https://v1-18.docs.dapr.io/operations/hosting/kubernetes/kubernetes-dapr-shared/">Dapr shared&lt;/a>&lt;/td>
 &lt;td>&lt;code>WorkflowsClusteredDeployment&lt;/code>&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/operations/hosting/kubernetes/kubernetes-dapr-shared/">Dapr Shared&lt;/a>&lt;/td>
 &lt;td>v1.16&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>Workflows Durable Activity Results&lt;/strong>&lt;/td>
 &lt;td>If set, ensures that activity results are durably sent to the owning workflow in multi-application scenarios, even when the owning workflow application is unavailable. Unless running multiple Dapr versions, this feature gate should be enabled. Disabled by default for backwards compatibility.&lt;/td>
 &lt;td>&lt;code>WorkflowsRemoteActivityReminder&lt;/code>&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/workflow/workflow-multi-app/#durable-activity-results">Multi-application Workflows&lt;/a>&lt;/td>
 &lt;td>v1.17&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table></description></item><item><title>Alpha and Beta APIs</title><link>https://v1-18.docs.dapr.io/operations/support/alpha-beta-apis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v1-18.docs.dapr.io/operations/support/alpha-beta-apis/</guid><description>&lt;h2 id="alpha-apis">Alpha APIs&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Building block/API&lt;/th>
 &lt;th>gRPC&lt;/th>
 &lt;th>HTTP&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;th>Documentation&lt;/th>
 &lt;th>Version introduced&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>Query State&lt;/td>
 &lt;td>&lt;a href="https://github.com/dapr/dapr/blob/5aba3c9aa4ea9b3f388df125f9c66495b43c5c9e/dapr/proto/runtime/v1/dapr.proto#L44">Query State proto&lt;/a>&lt;/td>
 &lt;td>&lt;code>v1.0-alpha1/state/statestore/query&lt;/code>&lt;/td>
 &lt;td>The state query API enables you to retrieve, filter, and sort the key/value data stored in state store components.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/state-management/howto-state-query-api/">Query State API&lt;/a>&lt;/td>
 &lt;td>v1.5&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Distributed Lock&lt;/td>
 &lt;td>&lt;a href="https://github.com/dapr/dapr/blob/5aba3c9aa4ea9b3f388df125f9c66495b43c5c9e/dapr/proto/runtime/v1/dapr.proto#L112">Lock proto&lt;/a>&lt;/td>
 &lt;td>&lt;code>/v1.0-alpha1/lock&lt;/code>&lt;/td>
 &lt;td>The distributed lock API enables you to take a lock on a resource.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/distributed-lock/distributed-lock-api-overview/">Distributed Lock API&lt;/a>&lt;/td>
 &lt;td>v1.8&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Cryptography&lt;/td>
 &lt;td>&lt;a href="https://github.com/dapr/dapr/blob/5aba3c9aa4ea9b3f388df125f9c66495b43c5c9e/dapr/proto/runtime/v1/dapr.proto#L118">Crypto proto&lt;/a>&lt;/td>
 &lt;td>&lt;code>v1.0-alpha1/crypto&lt;/code>&lt;/td>
 &lt;td>The cryptography API enables you to perform &lt;strong>high level&lt;/strong> cryptography operations for encrypting and decrypting messages.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/cryptography/cryptography-overview/">Cryptography API&lt;/a>&lt;/td>
 &lt;td>v1.11&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Jobs&lt;/td>
 &lt;td>&lt;a href="https://github.com/dapr/dapr/blob/master/dapr/proto/runtime/v1/dapr.proto#L212-219">Jobs proto&lt;/a>&lt;/td>
 &lt;td>&lt;code>v1.0-alpha1/jobs&lt;/code>&lt;/td>
 &lt;td>The jobs API enables you to schedule and orchestrate jobs.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/jobs/jobs-overview/">Jobs API&lt;/a>&lt;/td>
 &lt;td>v1.14&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Streaming Subscription&lt;/td>
 &lt;td>&lt;a href="https://github.com/dapr/dapr/blob/310c83140b2f0c3cb7d2bef19624df88af3e8e0a/dapr/proto/runtime/v1/dapr.proto#L454">Streaming Subscription proto&lt;/a>&lt;/td>
 &lt;td>N/A&lt;/td>
 &lt;td>Subscription is defined in the application code. Streaming subscriptions are dynamic, meaning they allow for adding or removing subscriptions at runtime.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/pubsub/subscription-methods/#streaming-subscriptions">Streaming Subscription API&lt;/a>&lt;/td>
 &lt;td>v1.14&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Conversation&lt;/td>
 &lt;td>&lt;a href="https://github.com/dapr/dapr/blob/master/dapr/proto/runtime/v1/dapr.proto#L226">Conversation proto&lt;/a>&lt;/td>
 &lt;td>&lt;code>v1.0-alpha2/conversation&lt;/code>&lt;/td>
 &lt;td>Converse between different large language models using the conversation API.&lt;/td>
 &lt;td>&lt;a href="https://v1-18.docs.dapr.io/developing-applications/building-blocks/conversation/conversation-overview/">Conversation API&lt;/a>&lt;/td>
 &lt;td>v1.15&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="beta-apis">Beta APIs&lt;/h2>
&lt;p>No current beta APIs.&lt;/p></description></item></channel></rss>