1.23.0
:boom: Breaking Changes
π₯ Experimental standalone activity support in https://github.com/temporalio/sdk-python/pull/1307
activity.Infomodified to makeworkflow_id,workflow_namespace,workflow_run_id, andworkflow_typeoptional- π₯ SLIGHT BREAKING CHANGE for those manually expecting non-None fields or manually creating the info for tests
converter.BaseWorkflowSerializationContextintermediate base class removed- π₯ SLIGHT BREAKING CHANGE for those that may have counted on this newly created class, though most should use specific types
- Updated
converter.ActivitySerializationContextto makeworkflow_idandworkflow_typeoptional, updatedactivity_typeandactivity_task_queueto be optional and deprecated, and added optionalactivity_id- π₯ SLIGHT BREAKING CHANGE for those that may have expected these to always be present during serialization, though they'll continue to be present unless you use standalone activities
π₯ Payload limit configuration and validation by @jmaeagle99 in https://github.com/temporalio/sdk-python/pull/1288
Update worker to get memo and payload error limits from Temporal server and enforce those limits by default. The SDK will now eagerly fail a task that has too large payloads instead of uploading them to the server and having the server fail the workflow. If the server doesn't report error limits, error limits are not enforced in the worker.
Other Changes
- Nexus Worker Shutdown Notification and Tests by @VegetarianOrc in https://github.com/temporalio/sdk-python/pull/1318
- Expose default activity info via static method by @cretz in https://github.com/temporalio/sdk-python/pull/1308
- Bump protobuf from 6.33.0 to 6.33.5 by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1313
- Bump bytes from 1.10.1 to 1.11.1 in /temporalio/bridge by @dependabot[bot] in https://github.com/temporalio/sdk-python/pull/1317
- Add random seed access and callback methods to temporalio.workflow by @tconley1428 in https://github.com/temporalio/sdk-python/pull/1320
- Add workflow context to signal deserialization error log by @cretz in https://github.com/temporalio/sdk-python/pull/1325
- Add OpenTelemetry v2 integration with enhanced features and comprehensive testing by @tconley1428 in https://github.com/temporalio/sdk-python/pull/1314
Full Changelog: https://github.com/temporalio/sdk-python/compare/1.22.0...1.23.0
Notable Core Fix
2026-02-17 - 20a68176 - Poller autoscaler: further refinement of backoff on grpc errors #1111
- Prevents potential retry storm on
GPRC_RESOURCE_EXHAUSTEDwhen using poller autoscaling.
Core SDK Updates
2026-01-29 - f837d73e - Add CAN versioning and suggested reasons to core protos #1104 2026-02-03 - 5045af35 - Plumb initial versioning behavior #1107 2026-02-03 - cd92f915 - Fix TemporalPatchVersion search attribute type to use KeywordList format #1106 2026-02-04 - 231e21ca - Fix incorrect metric kind repported in Buffered Metrics #1108 2026-02-12 - 7ecb7c05 - Poller autoscaler: add backoff on ResourceExhausted errors #1110 2026-02-13 - fb14d9c3 - Fix recording workflow termination metrics before receiving server response #1112 2026-02-17 - 12c656f7 - Remove extra license file from macros. Causing build failures in Python features tests #1116 2026-02-17 - 20a68176 - Poller autoscaler: further refinement of backoff on grpc errors #1111