π₯ Breaking Changes
π₯ Experimental standalone activity support in #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 #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 #1318
- Expose default activity info via static method by @cretz in #1308
- Bump protobuf from 6.33.0 to 6.33.5 by @dependabot[bot] in #1313
- Bump bytes from 1.10.1 to 1.11.1 in /temporalio/bridge by @dependabot[bot] in #1317
- Add random seed access and callback methods to temporalio.workflow by @tconley1428 in #1320
- Add workflow context to signal deserialization error log by @cretz in #1325
- Add OpenTelemetry v2 integration with enhanced features and comprehensive testing by @tconley1428 in #1314
Full Changelog: 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