Deployment-based Worker Versioning APIs are in General Availability.
Environment Configuration is in General Availability.
What's Changed
Adds basedpyright support to poe lint by @tconley1428 in https://github.com/temporalio/sdk-python/pull/1240
Remove stdlib_module_names test that is no longer relevant by @VegetarianOrc in https://github.com/temporalio/sdk-python/pull/1259
Update sdk-core to incorporate 1.60.0 api release by @jmaeagle99 in https://github.com/temporalio/sdk-python/pull/1271
Add is_replaying_history_events to allow logging in queries and validators by @cretz in https://github.com/temporalio/sdk-python/pull/1274
Nexus todo triage by @VegetarianOrc in https://github.com/temporalio/sdk-python/pull/1269
Add a way to disable sandboxing on workflow logger by @tconley1428 in https://github.com/temporalio/sdk-python/pull/1264
Remove logger handlers in tests by @jmaeagle99 in https://github.com/temporalio/sdk-python/pull/1293
test(dev-server): support UI port by @Lujeni in https://github.com/temporalio/sdk-python/pull/1273
Update sdk-core submodule to latest by @jmaeagle99 in https://github.com/temporalio/sdk-python/pull/1299
Move payload codec, encode, and decode calls to DataConverter helper methods by @jmaeagle99 in https://github.com/temporalio/sdk-python/pull/1305
fix(README): replace relative imports with absolute imports in quicks… by @Lujeni in https://github.com/temporalio/sdk-python/pull/1272
Add header tests for Nexus operations by @VegetarianOrc in https://github.com/temporalio/sdk-python/pull/1291
Add test for missing @workflow_run_operation decorator by @VegetarianOrc in https://github.com/temporalio/sdk-python/pull/1290
Add Workflow Caller test for Nexus Operations with Async and Non-Async Cancel Methods by @VegetarianOrc in https://github.com/temporalio/sdk-python/pull/1281
Remove experimental warnings for worker versioning and envconfig by @THardy98 in https://github.com/temporalio/sdk-python/pull/1315
Bug Fixes
Fix handoff closure bug and add multiple handoffs test by @tconley1428 in https://github.com/temporalio/sdk-python/pull/1310
Dependency Updates
Bump aiohttp from 3.13.0 to 3.13.3 by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1298
Bump mcp from 1.17.0 to 1.23.0 by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1304
Bump starlette from 0.48.0 to 0.49.1 by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1303
Bump python-multipart from 0.0.20 to 0.0.22 by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1306
Bump urllib3 from 2.5.0 to 2.6.3 by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1296
Bump filelock from 3.20.0 to 3.20.3 by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1297
Bump lru from 0.16.0 to 0.16.3 in /temporalio/bridge by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1266
sdk-core changes
2025-12-18 - 12bc359b - Fix wf_task_replay_latency metric recording for non-replay tasks (https://github.com/temporalio/sdk-core/pull/1083)
2026-01-06 - 66ddab4b - Downgrade worker heartbeat log (https://github.com/temporalio/sdk-core/pull/1088)
2026-01-08 - cc1ed609 - Clarifying comment for worker heartbeating's use of latency metric (https://github.com/temporalio/sdk-core/pull/1089)
2026-01-09 - d8a2bf19 - Always send shutdown_worker RPC, fix WorkerStatus state when shutting down worker (https://github.com/temporalio/sdk-core/pull/1082)
2026-01-12 - 372b2708 - Fix bug where we count first WFT as sticky cache hit (https://github.com/temporalio/sdk-core/pull/1091)
2026-01-13 - d104a77d - Update api_upstream to v1.60.0 (https://github.com/temporalio/sdk-core/pull/1090)
2026-01-15 - 5c9bcd10 - Add Request Deadline as timestamp to NexusTask (https://github.com/temporalio/sdk-core/pull/1094)
2026-01-23 - 22cd04bc - Update upstream_api to v1.61.0 (https://github.com/temporalio/sdk-core/pull/1100)
2026-01-23 - 9dedad11 - Update Worker validate to allow SDKs to get namespace limit information (https://github.com/temporalio/sdk-core/pull/1102)
New Contributors
@jmaeagle99 made their first contribution in https://github.com/temporalio/sdk-python/pull/1271
@Lujeni made their first contribution in https://github.com/temporalio/sdk-python/pull/1273
Full Changelog: https://github.com/temporalio/sdk-python/compare/1.21.1...1.22.0