diff --git a/docs/polyglot/python.md b/docs/polyglot/python.md index 4c3c25681c1..e1db6676e76 100644 --- a/docs/polyglot/python.md +++ b/docs/polyglot/python.md @@ -93,6 +93,21 @@ The SDK depends on [httpx](https://www.python-httpx.org/) for HTTP and on the `fastavro` Python package to encode the Apache Avro wire format used by the only public v2 payload codec. Prometheus metrics support is optional. +## Upgrading workers {#upgrading-workers} + +Python SDK 2.14.1 fixes `wait_condition()` fingerprints that changed across +Python versions or worker restarts. Upgrade every worker sharing a task queue +together. Once a run records a v2 wait fingerprint, keep all workers that can +replay it on 2.14.1 or later. Do not roll the workers on that queue back to an +SDK version below 2.14.1. + +Legacy v1 fingerprints that no longer match are accepted as unverifiable, so +that compatibility path cannot detect predicate changes. `wait_condition()` +lambdas on the same line that contain `list`, `dict` or `set` comprehensions +share one combined fingerprint. Put those predicates on separate lines in new +workflow definitions to detect switching between them. See the +[tagged 2.14.1 compatibility notes](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md#2141---2026-11-04). + ## Quickstart Here is a complete Python program that defines a workflow with one activity, starts it against a local Durable Workflow server, and waits for the result: diff --git a/i18n/de/docusaurus-plugin-content-docs/current/polyglot/python.md b/i18n/de/docusaurus-plugin-content-docs/current/polyglot/python.md index 62de01f94d7..55d3bdc6023 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/polyglot/python.md +++ b/i18n/de/docusaurus-plugin-content-docs/current/polyglot/python.md @@ -93,6 +93,23 @@ Das SDK verwendet [httpx](https://www.python-httpx.org/) für HTTP und das Python-Paket `fastavro` zum Codieren des Apache-Avro-Übertragungsformats des einzigen öffentlichen v2-Nutzlast-Codecs. Prometheus-Metriken sind optional. +## Worker aktualisieren {#upgrading-workers} + +Python SDK 2.14.1 behebt Fingerprints von `wait_condition()`, die sich zwischen +Python-Versionen oder bei einem Worker-Neustart änderten. Aktualisiere alle +Worker einer Task Queue gemeinsam. Sobald ein Lauf einen v2-Fingerprint für +eine Warteoperation aufzeichnet, müssen alle Worker, die ihn per Replay +ausführen können, auf 2.14.1 oder neuer bleiben. Setze die Worker in dieser +Task Queue nicht auf eine SDK-Version vor 2.14.1 zurück. + +Alte v1-Fingerprints, die nicht mehr übereinstimmen, werden als nicht prüfbar +akzeptiert. Dieser Kompatibilitätspfad erkennt daher keine Änderungen am +Prädikat. Lambdas für `wait_condition()`, die in derselben Zeile stehen und +Comprehensions für `list`, `dict` oder `set` enthalten, teilen sich einen +gemeinsamen Fingerprint. Platziere diese Prädikate in neuen Workflow-Definitionen +in getrennten Zeilen, damit ein Wechsel zwischen ihnen erkannt wird. Siehe die +[Kompatibilitätshinweise zum Tag 2.14.1](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md#2141---2026-11-04). + ## Schnellstart {#quickstart} Dieses vollständige Python-Programm definiert einen Workflow mit einer Aktivität, startet ihn gegen einen lokalen Durable Workflow Server und wartet auf das Ergebnis: diff --git a/i18n/de/source-hashes.json b/i18n/de/source-hashes.json index 54e620e42fb..e58a67727b1 100644 --- a/i18n/de/source-hashes.json +++ b/i18n/de/source-hashes.json @@ -83,7 +83,7 @@ "polyglot/polling-patterns.md": "30875099a23731c6c471b481a771378acc6ff57eed2fda4405a509057534c989", "polyglot/portable-worker-affinity.md": "40973c6a31a76845b4f95e9a505e68ad76abd5174bbdccf37993cdebc8904959", "polyglot/prerelease-history-migration.md": "a57f05f492228a8a67791f9152648a1e5f80856325b78777cf63b6ef49b7413c", - "polyglot/python.md": "9692d88fd2b6144a777a0ffbe95dfa7cbf62329ab279e86472a1c1a0589b6381", + "polyglot/python.md": "612f664afbfb1d81377c57c9cf7f535836d4d3e4738daab9fff940cb3ae2c658", "polyglot/runtime-migration.md": "5a78713bb8cb74aea58f6d5d826400d968a405f69c6ff17fdf2f7decb1d14b71", "polyglot/rust-cloud-quickstart.md": "2303434fc9302a81a8381ad4836423ef9952eb3201a4574c432254e3cb68c5f3", "polyglot/rust.md": "af91b22c93a7fe6833df156371d99bb105740684915bc73af4576f6de2897e10", diff --git a/i18n/es/docusaurus-plugin-content-docs/current/polyglot/python.md b/i18n/es/docusaurus-plugin-content-docs/current/polyglot/python.md index 227f360b345..f5b99d4908a 100644 --- a/i18n/es/docusaurus-plugin-content-docs/current/polyglot/python.md +++ b/i18n/es/docusaurus-plugin-content-docs/current/polyglot/python.md @@ -94,6 +94,23 @@ El SDK depende de [httpx](https://www.python-httpx.org/) para HTTP y de `fastavr para codificar el formato Apache Avro del único códec público de cargas v2. El soporte de métricas Prometheus es opcional. +## Actualizar los workers {#upgrading-workers} + +Python SDK 2.14.1 corrige las huellas de `wait_condition()` que cambiaban entre +versiones de Python o al reiniciar un worker. Actualiza a la vez todos los +workers que comparten una cola de tareas. Cuando una ejecución registre una +huella de espera v2, mantén en 2.14.1 o posterior todos los workers que puedan +reproducirla. No vuelvas a desplegar versiones del SDK anteriores a 2.14.1 en +esa cola. + +Las huellas v1 heredadas que ya no coinciden se aceptan como no verificables, +por lo que esa ruta de compatibilidad no detecta cambios en el predicado. Las +lambdas de `wait_condition()` en una misma línea que contienen comprensiones +de `list`, `dict` o `set` comparten una huella combinada. En las nuevas +definiciones de workflow, coloca esos predicados en líneas separadas para +detectar un cambio de uno a otro. Consulta las +[notas de compatibilidad de la etiqueta 2.14.1](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md#2141---2026-11-04). + ## Inicio rápido {#quickstart} Este programa completo define un workflow con una actividad, lo inicia contra diff --git a/i18n/es/source-hashes.json b/i18n/es/source-hashes.json index 54e620e42fb..e58a67727b1 100644 --- a/i18n/es/source-hashes.json +++ b/i18n/es/source-hashes.json @@ -83,7 +83,7 @@ "polyglot/polling-patterns.md": "30875099a23731c6c471b481a771378acc6ff57eed2fda4405a509057534c989", "polyglot/portable-worker-affinity.md": "40973c6a31a76845b4f95e9a505e68ad76abd5174bbdccf37993cdebc8904959", "polyglot/prerelease-history-migration.md": "a57f05f492228a8a67791f9152648a1e5f80856325b78777cf63b6ef49b7413c", - "polyglot/python.md": "9692d88fd2b6144a777a0ffbe95dfa7cbf62329ab279e86472a1c1a0589b6381", + "polyglot/python.md": "612f664afbfb1d81377c57c9cf7f535836d4d3e4738daab9fff940cb3ae2c658", "polyglot/runtime-migration.md": "5a78713bb8cb74aea58f6d5d826400d968a405f69c6ff17fdf2f7decb1d14b71", "polyglot/rust-cloud-quickstart.md": "2303434fc9302a81a8381ad4836423ef9952eb3201a4574c432254e3cb68c5f3", "polyglot/rust.md": "af91b22c93a7fe6833df156371d99bb105740684915bc73af4576f6de2897e10", diff --git a/i18n/fr/docusaurus-plugin-content-docs/current/polyglot/python.md b/i18n/fr/docusaurus-plugin-content-docs/current/polyglot/python.md index 9e1e93ecd4a..063f9756828 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/current/polyglot/python.md +++ b/i18n/fr/docusaurus-plugin-content-docs/current/polyglot/python.md @@ -96,6 +96,23 @@ Le SDK dépend de [httpx](https://www.python-httpx.org/) pour HTTP et du paquet Python `fastavro` pour encoder le format Apache Avro du seul codec public v2. Les métriques Prometheus sont facultatives. +## Mettre les workers à niveau {#upgrading-workers} + +Le SDK Python 2.14.1 corrige les empreintes de `wait_condition()` qui changeaient +entre versions de Python ou après le redémarrage d'un worker. Mettez à niveau +ensemble tous les workers qui partagent une file de tâches. Dès qu'une +exécution enregistre une empreinte d'attente v2, gardez tous les workers +susceptibles de la relire en version 2.14.1 ou ultérieure. Ne redéployez pas de +SDK antérieur à 2.14.1 sur les workers de cette file. + +Les anciennes empreintes v1 qui ne correspondent plus sont acceptées comme +invérifiables, si bien que cette voie de compatibilité ne détecte pas les +changements du prédicat. Les lambdas de `wait_condition()` situées sur une même +ligne et contenant des compréhensions de `list`, `dict` ou `set` partagent une +empreinte combinée. Dans les nouvelles définitions de workflow, placez ces +prédicats sur des lignes distinctes pour détecter le passage de l'un à l'autre. +Consultez les [notes de compatibilité du tag 2.14.1](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md#2141---2026-11-04). + ## Démarrage rapide {#quickstart} Ce programme Python complet définit un workflow avec une activité, le démarre diff --git a/i18n/fr/source-hashes.json b/i18n/fr/source-hashes.json index 54e620e42fb..e58a67727b1 100644 --- a/i18n/fr/source-hashes.json +++ b/i18n/fr/source-hashes.json @@ -83,7 +83,7 @@ "polyglot/polling-patterns.md": "30875099a23731c6c471b481a771378acc6ff57eed2fda4405a509057534c989", "polyglot/portable-worker-affinity.md": "40973c6a31a76845b4f95e9a505e68ad76abd5174bbdccf37993cdebc8904959", "polyglot/prerelease-history-migration.md": "a57f05f492228a8a67791f9152648a1e5f80856325b78777cf63b6ef49b7413c", - "polyglot/python.md": "9692d88fd2b6144a777a0ffbe95dfa7cbf62329ab279e86472a1c1a0589b6381", + "polyglot/python.md": "612f664afbfb1d81377c57c9cf7f535836d4d3e4738daab9fff940cb3ae2c658", "polyglot/runtime-migration.md": "5a78713bb8cb74aea58f6d5d826400d968a405f69c6ff17fdf2f7decb1d14b71", "polyglot/rust-cloud-quickstart.md": "2303434fc9302a81a8381ad4836423ef9952eb3201a4574c432254e3cb68c5f3", "polyglot/rust.md": "af91b22c93a7fe6833df156371d99bb105740684915bc73af4576f6de2897e10", diff --git a/i18n/ja/docusaurus-plugin-content-docs/current/polyglot/python.md b/i18n/ja/docusaurus-plugin-content-docs/current/polyglot/python.md index 78b3366906f..0bb7278c5ca 100644 --- a/i18n/ja/docusaurus-plugin-content-docs/current/polyglot/python.md +++ b/i18n/ja/docusaurus-plugin-content-docs/current/polyglot/python.md @@ -63,6 +63,22 @@ pip install %%artifact.pythonPackagePin%% SDK は HTTP に [httpx](https://www.python-httpx.org/)、唯一の公開 v2 ペイロードコーデックが使う Apache Avro ワイヤー形式のエンコードに `fastavro` Python パッケージへ依存します。Prometheus メトリクス対応は任意です。 +## Worker のアップグレード {#upgrading-workers} + +Python SDK 2.14.1 は、Python のバージョンや Worker の再起動によって +`wait_condition()` のフィンガープリントが変わる問題を修正します。同じタスク +キューを共有するすべての Worker をまとめてアップグレードしてください。 +実行が v2 の待機フィンガープリントを記録した後は、その実行をリプレイする +可能性のあるすべての Worker を 2.14.1 以降に保ってください。そのキューの +Worker を SDK 2.14.1 より前のバージョンに戻さないでください。 + +一致しなくなった従来の v1 フィンガープリントは検証不能として受け入れられる +ため、この互換経路では述語の変更を検出できません。同じ行にあり、`list`、 +`dict`、`set` の内包表記を含む `wait_condition()` の lambda は、結合された +フィンガープリントを共有します。新しいワークフロー定義では、これらの述語を +別々の行に置き、切り替えを検出できるようにしてください。 +[2.14.1 タグの互換性に関する注記](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md#2141---2026-11-04)を参照してください。 + ## クイックスタート {#quickstart} 次は、アクティビティを1つ持つワークフローを定義し、ローカルの Durable Workflow Server に対して開始して結果を待つ完全な Python プログラムです。 diff --git a/i18n/ja/source-hashes.json b/i18n/ja/source-hashes.json index 54e620e42fb..e58a67727b1 100644 --- a/i18n/ja/source-hashes.json +++ b/i18n/ja/source-hashes.json @@ -83,7 +83,7 @@ "polyglot/polling-patterns.md": "30875099a23731c6c471b481a771378acc6ff57eed2fda4405a509057534c989", "polyglot/portable-worker-affinity.md": "40973c6a31a76845b4f95e9a505e68ad76abd5174bbdccf37993cdebc8904959", "polyglot/prerelease-history-migration.md": "a57f05f492228a8a67791f9152648a1e5f80856325b78777cf63b6ef49b7413c", - "polyglot/python.md": "9692d88fd2b6144a777a0ffbe95dfa7cbf62329ab279e86472a1c1a0589b6381", + "polyglot/python.md": "612f664afbfb1d81377c57c9cf7f535836d4d3e4738daab9fff940cb3ae2c658", "polyglot/runtime-migration.md": "5a78713bb8cb74aea58f6d5d826400d968a405f69c6ff17fdf2f7decb1d14b71", "polyglot/rust-cloud-quickstart.md": "2303434fc9302a81a8381ad4836423ef9952eb3201a4574c432254e3cb68c5f3", "polyglot/rust.md": "af91b22c93a7fe6833df156371d99bb105740684915bc73af4576f6de2897e10", diff --git a/i18n/pt-BR/docusaurus-plugin-content-docs/current/polyglot/python.md b/i18n/pt-BR/docusaurus-plugin-content-docs/current/polyglot/python.md index 06e7e55052b..fb038a1edc5 100644 --- a/i18n/pt-BR/docusaurus-plugin-content-docs/current/polyglot/python.md +++ b/i18n/pt-BR/docusaurus-plugin-content-docs/current/polyglot/python.md @@ -95,6 +95,23 @@ O SDK depende de [httpx](https://www.python-httpx.org/) para HTTP e do pacote Python `fastavro` para codificar o formato de transmissão Apache Avro usado pelo único codec público de payload v2. O suporte a métricas Prometheus é opcional. +## Atualizar os workers {#upgrading-workers} + +O Python SDK 2.14.1 corrige as impressões digitais de `wait_condition()` que +mudavam entre versões do Python ou após reiniciar um worker. Atualize juntos +todos os workers que compartilham uma fila de tarefas. Quando uma execução +registrar uma impressão digital de espera v2, mantenha todos os workers que +possam fazer seu replay na versão 2.14.1 ou posterior. Não volte a implantar uma +versão do SDK anterior à 2.14.1 nessa fila. + +As impressões digitais v1 legadas que deixam de coincidir são aceitas como não +verificáveis, portanto esse caminho de compatibilidade não detecta mudanças +no predicado. Lambdas de `wait_condition()` na mesma linha que contêm +compreensões de `list`, `dict` ou `set` compartilham uma impressão digital +combinada. Nas novas definições de workflow, coloque esses predicados em linhas +separadas para detectar a troca entre eles. Veja as +[notas de compatibilidade da tag 2.14.1](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md#2141---2026-11-04). + ## Início rápido {#quickstart} Este é um programa Python completo que define um workflow com uma atividade, diff --git a/i18n/pt-BR/source-hashes.json b/i18n/pt-BR/source-hashes.json index 54e620e42fb..e58a67727b1 100644 --- a/i18n/pt-BR/source-hashes.json +++ b/i18n/pt-BR/source-hashes.json @@ -83,7 +83,7 @@ "polyglot/polling-patterns.md": "30875099a23731c6c471b481a771378acc6ff57eed2fda4405a509057534c989", "polyglot/portable-worker-affinity.md": "40973c6a31a76845b4f95e9a505e68ad76abd5174bbdccf37993cdebc8904959", "polyglot/prerelease-history-migration.md": "a57f05f492228a8a67791f9152648a1e5f80856325b78777cf63b6ef49b7413c", - "polyglot/python.md": "9692d88fd2b6144a777a0ffbe95dfa7cbf62329ab279e86472a1c1a0589b6381", + "polyglot/python.md": "612f664afbfb1d81377c57c9cf7f535836d4d3e4738daab9fff940cb3ae2c658", "polyglot/runtime-migration.md": "5a78713bb8cb74aea58f6d5d826400d968a405f69c6ff17fdf2f7decb1d14b71", "polyglot/rust-cloud-quickstart.md": "2303434fc9302a81a8381ad4836423ef9952eb3201a4574c432254e3cb68c5f3", "polyglot/rust.md": "af91b22c93a7fe6833df156371d99bb105740684915bc73af4576f6de2897e10", diff --git a/i18n/uk/docusaurus-plugin-content-docs/current/polyglot/python.md b/i18n/uk/docusaurus-plugin-content-docs/current/polyglot/python.md index 81f0ca59418..4d27e32d073 100644 --- a/i18n/uk/docusaurus-plugin-content-docs/current/polyglot/python.md +++ b/i18n/uk/docusaurus-plugin-content-docs/current/polyglot/python.md @@ -94,6 +94,22 @@ SDK залежить від [httpx](https://www.python-httpx.org/) для HTTP `fastavro` для кодування Apache Avro єдиного публічного кодека payload v2. Підтримка метрик Prometheus необов'язкова. +## Оновлення worker {#upgrading-workers} + +Python SDK 2.14.1 виправляє відбитки `wait_condition()`, які змінювалися між +версіями Python або після перезапуску worker. Оновлюйте разом усі worker, що +використовують одну чергу завдань. Щойно запуск запише відбиток очікування v2, +усі worker, які можуть виконувати його replay, мають залишатися на 2.14.1 або +новішій версії. Не повертайте worker цієї черги до версії SDK нижче 2.14.1. + +Застарілі відбитки v1, які більше не збігаються, приймаються як такі, що +неможливо перевірити, тому цей механізм сумісності не виявляє змін предиката. +Лямбда-вирази `wait_condition()` з виразами включення `list`, `dict` або `set`, +розміщені на одному рядку, мають спільний об'єднаний відбиток. У нових +визначеннях workflow розміщуйте такі предикати на окремих рядках, щоб можна +було виявити перемикання між ними. Див. +[примітки щодо сумісності для тегу 2.14.1](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md#2141---2026-11-04). + ## Швидкий початок {#quickstart} Ця повна програма Python визначає workflow з однією activity, diff --git a/i18n/uk/source-hashes.json b/i18n/uk/source-hashes.json index 54e620e42fb..e58a67727b1 100644 --- a/i18n/uk/source-hashes.json +++ b/i18n/uk/source-hashes.json @@ -83,7 +83,7 @@ "polyglot/polling-patterns.md": "30875099a23731c6c471b481a771378acc6ff57eed2fda4405a509057534c989", "polyglot/portable-worker-affinity.md": "40973c6a31a76845b4f95e9a505e68ad76abd5174bbdccf37993cdebc8904959", "polyglot/prerelease-history-migration.md": "a57f05f492228a8a67791f9152648a1e5f80856325b78777cf63b6ef49b7413c", - "polyglot/python.md": "9692d88fd2b6144a777a0ffbe95dfa7cbf62329ab279e86472a1c1a0589b6381", + "polyglot/python.md": "612f664afbfb1d81377c57c9cf7f535836d4d3e4738daab9fff940cb3ae2c658", "polyglot/runtime-migration.md": "5a78713bb8cb74aea58f6d5d826400d968a405f69c6ff17fdf2f7decb1d14b71", "polyglot/rust-cloud-quickstart.md": "2303434fc9302a81a8381ad4836423ef9952eb3201a4574c432254e3cb68c5f3", "polyglot/rust.md": "af91b22c93a7fe6833df156371d99bb105740684915bc73af4576f6de2897e10", diff --git a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/polyglot/python.md b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/polyglot/python.md index 188876b50f5..63c60c024b1 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-docs/current/polyglot/python.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-docs/current/polyglot/python.md @@ -63,6 +63,19 @@ pip install %%artifact.pythonPackagePin%% SDK 使用 [httpx](https://www.python-httpx.org/) 进行 HTTP 通信,使用 `fastavro` Python 包编码唯一公开 v2 负载编解码器所采用的 Apache Avro 线格式。Prometheus 指标支持为可选项。 +## 升级 Worker {#upgrading-workers} + +Python SDK 2.14.1 修复了 `wait_condition()` 指纹在不同 Python 版本之间或 +Worker 重启后发生变化的问题。请一起升级共享同一任务队列的所有 Worker。 +运行一旦记录了 v2 等待指纹,所有可能重放它的 Worker 都必须使用 2.14.1 +或更高版本。不要将该队列中 Worker 使用的 SDK 回退到 2.14.1 以下的版本。 + +不再匹配的旧版 v1 指纹会以无法验证的状态被接受,因此这条兼容路径无法检测 +谓词变更。在同一行定义、且包含 `list`、`dict` 或 `set` 推导式的 +`wait_condition()` lambda 共用一个组合指纹。在新的工作流定义中,请将这些 +谓词放在不同的行上,以便检测它们之间的切换。参阅 +[2.14.1 标签中的兼容性说明](https://github.com/durable-workflow/sdk-python/blob/2.14.1/CHANGELOG.md#2141---2026-11-04)。 + ## 快速入门 {#quickstart} 下面的完整 Python 程序定义带一个活动的工作流,在本地 Durable Workflow Server 上启动并等待结果: diff --git a/i18n/zh-Hans/source-hashes.json b/i18n/zh-Hans/source-hashes.json index 54e620e42fb..e58a67727b1 100644 --- a/i18n/zh-Hans/source-hashes.json +++ b/i18n/zh-Hans/source-hashes.json @@ -83,7 +83,7 @@ "polyglot/polling-patterns.md": "30875099a23731c6c471b481a771378acc6ff57eed2fda4405a509057534c989", "polyglot/portable-worker-affinity.md": "40973c6a31a76845b4f95e9a505e68ad76abd5174bbdccf37993cdebc8904959", "polyglot/prerelease-history-migration.md": "a57f05f492228a8a67791f9152648a1e5f80856325b78777cf63b6ef49b7413c", - "polyglot/python.md": "9692d88fd2b6144a777a0ffbe95dfa7cbf62329ab279e86472a1c1a0589b6381", + "polyglot/python.md": "612f664afbfb1d81377c57c9cf7f535836d4d3e4738daab9fff940cb3ae2c658", "polyglot/runtime-migration.md": "5a78713bb8cb74aea58f6d5d826400d968a405f69c6ff17fdf2f7decb1d14b71", "polyglot/rust-cloud-quickstart.md": "2303434fc9302a81a8381ad4836423ef9952eb3201a4574c432254e3cb68c5f3", "polyglot/rust.md": "af91b22c93a7fe6833df156371d99bb105740684915bc73af4576f6de2897e10", diff --git a/static/stable-releases.json b/static/stable-releases.json index 5977d1cd4c5..af2a051b87b 100644 --- a/static/stable-releases.json +++ b/static/stable-releases.json @@ -6,7 +6,7 @@ "cli": "2.3.5", "helm-chart": "1.0.3", "sdk-php": "3.9.4", - "sdk-python": "2.14.0", + "sdk-python": "2.14.1", "sdk-rust": "4.11.0", "server": "3.0.5", "waterline": "2.14.0",