Releases: temporalio/sdk-python
1.25.0
Pre-release Features
Serverless Lambda Workers
This release introduces a package which can be used together with upcoming changes to the Temporal server & cloud which allow you to run your worker in an AWS Lambda function which the server will invoke as-needed to process Workflow, Activity, and Nexus tasks - allowing you to do away with some of the operational burden of running a fleet of workers. Additional documentation on how to use this feature will be linked here when available.
External Storage
This release includes the external storage feature, which allows offloading payloads to an external storage system (such as Amazon S3) and passes a small reference token into Event History. This allows your workflows to avoid large payload errors and to avoid growing workflow history size too rapidly.
Amazon S3 Storage Driver
This release introduces a package which can be used with external storage to offload large payloads to S3 buckets in AWS instead of inlining them into workflow history. See Store and retrieve large payloads with Amazon S3 for more details and how to enable using this driver with external storage.
What's Changed
- Report driver types through worker heartbeat by @jmaeagle99 in #1371
- Emit workflow task duration information via logging by @jmaeagle99 in #1386
- Create cloud-specific tests by @Sushisource in #1389
- Enable options for concurrent payload visiting by @jmaeagle99 in #1344
- Fix command context awareness to apply to all of DataConverter by @jmaeagle99 in #1387
- Some fixes to the openai agents readme by @tconley1428 in #1391
- Add getattr to _ReplaySafeSpan for SDK attribute delegation by @tconley1428 in #1392
- Experimental: AWS S3 storage driver by @jmaeagle99 in #1388
- Allow external storage to run concurrently and separate from codecs by @jmaeagle99 in #1394
- Adjustments to external storage defaults by @jmaeagle99 in #1404
- Bump tar from 0.4.44 to 0.4.45 in /temporalio/bridge by @dependabot[bot] in #1383
- Update types-protobuf limit by @tconley1428 in #1409
- Update storage driver store context metadata by @jmaeagle99 in #1399
- Bump core commit to latest by @THardy98 in #1413
- Move proto check and test to separate job by @jmaeagle99 in #1412
- Minimize task creation for concurrent payload visiting by @jmaeagle99 in #1414
- Add contrib package for lambda workers by @Sushisource in #1408
- Provide standalone activity run ID to external storage by @jmaeagle99 in #1417
- Bump rustls-webpki from 0.103.4 to 0.103.10 in /temporalio/bridge by @dependabot[bot] in #1384
- Add xdist parallel test task by @tconley1428 in #1415
- Upgrade locked dependencies by @tconley1428 in #1420
- Support running ADK agents outside Temporal workflows by @tconley1428 in #1400
- Fix Google ADK activity tool argument dispatch by @tconley1428 in #1421
- docs: document OpenTelemetryConfig and PrometheusConfig fields by @4444J99 in #1385
- A couple of errata for the README regarding external storage by @eamsden in #1424
- Update README to remove local activities experimental warning by @donald-pinckney in #1334
Core Changes
2026-03-13 - a7611dd8 - Remove system.enableNexus dynamic config flag (temporalio/sdk-core#1151)
2026-03-13 - cf7fcec5 - fix(client): retry WorkflowUpdateHandle::get_result poll (temporalio/sdk-core#1150)
2026-03-16 - 7a6a53f7 - chore(ci): avoid caching rust on PR (temporalio/sdk-core#1159)
2026-03-16 - a039b2d6 - feat(sdk): add schedule handle (temporalio/sdk-core#1132)
2026-03-16 - c6b601de - Fix temporal metrics in C bridge to have temporal_ prefix (temporalio/sdk-core#1156)
2026-03-17 - 2f9d6c8b - fix(core): avoid panic if workflow stream still up during eviction (temporalio/sdk-core#1158)
2026-03-17 - f188eb53 - Add external storage drivers to worker heartbeat (temporalio/sdk-core#1130)
2026-03-18 - db65dd9a - build: make otel opt-in in sdk-core (temporalio/sdk-core#1154)
2026-03-18 - f00f7337 - Allow poller scale-down on timeout when server supports autoscaling (temporalio/sdk-core#1164)
2026-03-18 - f384eeb5 - Fix possible NDE in valid child workflow cancel transition (temporalio/sdk-core#1162)
2026-03-19 - a5e8f7f1 - Update cloud-api protos to v0.12.0 (temporalio/sdk-core#1172)
2026-03-19 - ba203c64 - fix(sdk): re-poll update futures after workflow state changes (temporalio/sdk-core#1153)
2026-03-19 - e49359b2 - chore: bump version to 0.2.0 (temporalio/sdk-core#1169)
2026-03-23 - 4b0d7ed1 - feat(sdk): 💥 add HasWorkflowDefinition trait (temporalio/sdk-core#1173)
2026-03-24 - 31798a48 - rust-toolchain.toml and MSRV checks in CI (temporalio/sdk-core#1175)
2026-03-25 - 18615a7a - fix(sdk): serialize unit as no payloads or null payload (temporalio/sdk-core#1181)
2026-03-25 - acec0e60 - Gate test-only worker telemetry helper (temporalio/sdk-core#1176)
2026-03-26 - 21b65b87 - feat(sdk): 💥 add typed child workflow handle (temporalio/sdk-core#1182)
2026-03-26 - 42e44a75 - feat(metrics): add UpDownCounter metric instrument type (temporalio/sdk-core#1180)
2026-03-27 - 4508ae7d - Update deps & remove unused ones (temporalio/sdk-core#1183)
2026-03-31 - 76f5c9e1 - fix(sdk): implement FusedFuture for wait_condition (temporalio/sdk-core#1192)
2026-03-31 - d03d2ae2 - feat(sdk): external workflow handle (temporalio/sdk-core#1187)
2026-04-01 - 24703da6 - Add standalone activity run id to bridge (temporalio/sdk-core#1189)
2026-04-01 - 5e6b836c - chore(test): add eventually to latency metrics test (temporalio/sdk-core#1193)
2026-04-02 - 71a5caa5 - Fix - provide default (empty) client config when default user config dir does not exist. Create an inner function to inject the default config path easily (temporalio/sdk-core#1194)
2026-04-02 - b3d53ab7 - Validate deployment options and test worker with versioning off and custom build ID (temporalio/sdk-core#1163)
2026-04-02 - ef6e73b8 - Custom async executor for workflows (temporalio/sdk-core#1185)
New Contributors
Full Changelog: 1.24.0...1.25.0
1.24.0
General Availability
- Nexus is now generally available and no longer experimental
- OpenAI Agents SDK Integration is now generally available and no longer experimental
Pre-release
- New Integration with the Google ADK for running ADK agents in Temporal Workflows. https://github.com/temporalio/sdk-python/tree/main/temporalio/contrib/google_adk_agents
Breaking Changes
💥 Add OpenTelemetry integration for OpenAI AgentsOpenAI/otel in #1286
Span/trace id generation changes in this PR, which means that AgentsSDK workflows which run on both the old version and the new version of the code may have broken span parentage.
💥 Use Temporal Failures for Nexus Error Serialization in #1336
- Nexus HandlerErrors are now serialized as Temporal Failures.
- Nexus OperationErrors are now converted to CancelledError or ApplicationError as indicated by the OperationErrorState.
- Nexus input deserialization failures now have different default retry behavior depending on what step the failure occurred on.
- If the PayloadCodec fails to decode the payload, the error is wrapped in a retryable HandlerError with type
INTERNAL. - If the PayloadConverter fails to convert the payload into the correct input type, the error is wrapped in a non-retryable HandlerError with type
BAD_REQUEST.
- If the PayloadCodec fails to decode the payload, the error is wrapped in a retryable HandlerError with type
What's Changed
- Add test utility to create Nexus endpoint by @Quinn-With-Two-Ns in #1279
- Add support for more timeouts to Nexus operations by @Quinn-With-Two-Ns in #1276
- [fix] Make
workflow_id: strfor workflow serialization context by @THardy98 in #1340 - Populate Request Deadline in Nexus Operation Contexts by @VegetarianOrc in #1277
- Fix ActivityAlreadyStartedError message by @dandavison in #1348
- Fix RetryPolicy.from_proto() pickle error with non_retryable_error_types by @tconley1428 in #1354
- Cancel Temporal timer when workflow.sleep() task is cancelled by @carlosa54 in #1352
- Stop skipping some Nexus tests on time skipping test server by @Quinn-With-Two-Ns in #1338
- Fix worker client updates not propagating to activity and Nexus workers by @tconley1428 in #1355
- Bump quinn-proto from 0.11.12 to 0.11.14 in /temporalio/bridge by @dependabot[bot] in #1357
- chore: bump core by @chris-olszewski in #1360
- Upgrade on CAN by @THardy98 in #1311
- Add Google ADK Agents integration for Temporal workflows by @tconley1428 in #1353
- Add experimental notices to ADK top level objects by @tconley1428 in #1363
- Split converter.py into submodules by @jmaeagle99 in #1365
- Validate deployment config and test worker with versioning off and custom build ID by @mjameswh in #1361
- Remove Unused HTTP Port From Tests by @VegetarianOrc in #1368
- Experimental: External Payload Storage by @jmaeagle99 in #1341
- ADK: Allow overriding summary for Agents without overriding the start to close timeout by @drewhoskins-temporal in #1370
- Update python version to 1.24.0 by @tconley1428 in #1377
- Fix wheel tests by @tconley1428 in #1379
- Remove experimental notices for Nexus by @Quinn-With-Two-Ns in #1381
- Misc ci fixes by @tconley1428 in #1380
- Remove experimental notices from openai agents except otel integration by @tconley1428 in #1382
Core SDK Updates
2026-02-18 - c781a610 - Rust SDK Prerelease ([https://github.com/temporalio/sdk-core/pull/1101])
2026-02-18 - f16f160d - Nexus error types ([https://github.com/temporalio/sdk-core/pull/1109])
2026-02-19 - 2014f31c - chore: prepare for initial publish ([https://github.com/temporalio/sdk-core/pull/1120])
2026-02-19 - 21e03c28 - Fix encoding problems in heavy tests ([https://github.com/temporalio/sdk-core/pull/1119])
2026-02-19 - a0caec42 - chore: exclude github workflows and uml from published crates ([https://github.com/temporalio/sdk-core/pull/1121])
2026-02-19 - dc127f55 - Fix wait_condition to wake registered wakers on state_mut ([https://github.com/temporalio/sdk-core/pull/1118])
2026-02-23 - 37d8c1a5 - chore: add test to verify wait_condition futures wake on state_mut ([https://github.com/temporalio/sdk-core/pull/1128])
2026-02-23 - 7161ed3b - fix(sdk): provide default worker identity ([https://github.com/temporalio/sdk-core/pull/1123])
2026-02-23 - 78a94de2 - Expose continue_as_new_suggested on WorkflowContext ([https://github.com/temporalio/sdk-core/pull/1126])
2026-02-23 - 9d678b96 - no longer cancel pending polls on shutdown ([https://github.com/temporalio/sdk-core/pull/1122])
2026-02-23 - f52b48bd - chore: fix flake in list workflows test ([https://github.com/temporalio/sdk-core/pull/1124])
2026-02-25 - 8f01a380 - chore: add crates.io links to readme ([https://github.com/temporalio/sdk-core/pull/1125])
2026-02-26 - c09a2901 - feat(sdk): add workflow_id and run_id to workflow context ([https://github.com/temporalio/sdk-core/pull/1131])
2026-03-09 - 4d756127 - fix: disable default features for prometheus dependency ([https://github.com/temporalio/sdk-core/pull/1134])
2026-03-09 - b5297e69 - Add wrappers for futures helpers ([https://github.com/temporalio/sdk-core/pull/1133])
2026-03-10 - 05077672 - Return ClientWorkerSet from Connection ([https://github.com/temporalio/sdk-core/pull/1147])
2026-03-11 - 5f79ef28 - Ingest API PR #709: Add target_worker_deployment_version_changed field ([https://github.com/temporalio/sdk-core/pull/1148])
New Contributors
- @Quinn-With-Two-Ns made their first contribution in #1279
- @carlosa54 made their first contribution in #1352
- @chris-olszewski made their first contribution in #1360
- @drewhoskins-temporal made their first contribution in #1370
Full Changelog: 1.23.0...1.24.0
1.23.0
💥 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
1.22.0
Highlights
- Deployment-based Worker Versioning APIs are in General Availability.
- Environment Configuration is in General Availability.
What's Changed
- Adds basedpyright support to
poe lintby @tconley1428 in #1240 - Remove stdlib_module_names test that is no longer relevant by @VegetarianOrc in #1259
- Update sdk-core to incorporate 1.60.0 api release by @jmaeagle99 in #1271
- Add is_replaying_history_events to allow logging in queries and validators by @cretz in #1274
- Nexus todo triage by @VegetarianOrc in #1269
- Add a way to disable sandboxing on workflow logger by @tconley1428 in #1264
- Remove logger handlers in tests by @jmaeagle99 in #1293
- test(dev-server): support UI port by @Lujeni in #1273
- Update sdk-core submodule to latest by @jmaeagle99 in #1299
- Move payload codec, encode, and decode calls to DataConverter helper methods by @jmaeagle99 in #1305
- fix(README): replace relative imports with absolute imports in quicks… by @Lujeni in #1272
- Add header tests for Nexus operations by @VegetarianOrc in #1291
- Add test for missing @workflow_run_operation decorator by @VegetarianOrc in #1290
- Add Workflow Caller test for Nexus Operations with Async and Non-Async Cancel Methods by @VegetarianOrc in #1281
- Remove experimental warnings for worker versioning and envconfig by @THardy98 in #1315
Bug Fixes
- Fix handoff closure bug and add multiple handoffs test by @tconley1428 in #1310
Dependency Updates
- Bump aiohttp from 3.13.0 to 3.13.3 by @dependabot[bot] in #1298
- Bump mcp from 1.17.0 to 1.23.0 by @dependabot[bot] in #1304
- Bump starlette from 0.48.0 to 0.49.1 by @dependabot[bot] in #1303
- Bump python-multipart from 0.0.20 to 0.0.22 by @dependabot[bot] in #1306
- Bump urllib3 from 2.5.0 to 2.6.3 by @dependabot[bot] in #1296
- Bump filelock from 3.20.0 to 3.20.3 by @dependabot[bot] in #1297
- Bump lru from 0.16.0 to 0.16.3 in /temporalio/bridge by @dependabot[bot] in #1266
sdk-core changes
2025-12-18 - 12bc359b - Fix wf_task_replay_latency metric recording for non-replay tasks (temporalio/sdk-core#1083)
2026-01-06 - 66ddab4b - Downgrade worker heartbeat log (temporalio/sdk-core#1088)
2026-01-08 - cc1ed609 - Clarifying comment for worker heartbeating's use of latency metric (temporalio/sdk-core#1089)
2026-01-09 - d8a2bf19 - Always send shutdown_worker RPC, fix WorkerStatus state when shutting down worker (temporalio/sdk-core#1082)
2026-01-12 - 372b2708 - Fix bug where we count first WFT as sticky cache hit (temporalio/sdk-core#1091)
2026-01-13 - d104a77d - Update api_upstream to v1.60.0 (temporalio/sdk-core#1090)
2026-01-15 - 5c9bcd10 - Add Request Deadline as timestamp to NexusTask (temporalio/sdk-core#1094)
2026-01-23 - 22cd04bc - Update upstream_api to v1.61.0 (temporalio/sdk-core#1100)
2026-01-23 - 9dedad11 - Update Worker validate to allow SDKs to get namespace limit information (temporalio/sdk-core#1102)
New Contributors
- @jmaeagle99 made their first contribution in #1271
- @Lujeni made their first contribution in #1273
Full Changelog: 1.21.1...1.22.0
1.21.1
Bug Fixes
- Dynamic handlers now support
typing.Sequenceandcollections.abc.Sequencefor their third argument. - Add compatibility with OpenAI Agents SDK 0.6.4.
Specific Changes
2025-12-19 - 772050e - Add backward compatibility for dynamic handler signatures (#1258) 2025-12-19 - f0bd341 - OpenAI - Fix generics is instance (#1261)
1.21.0
TLS Automatically Enabled When API Key Provided
When creating a Client, specifying the api_key option will now automatically enable TLS. Users that wish to use an API Key without TLS enabled must explicitly pass tls=False when creating their client. See Client.connect for a detailed description of configuration options and behavior.
Highlights
- Core was upgraded from 45b1d7e to b5a473d.
- Advanced users may specify the environment variable
TEMPORAL_POLL_SHUTDOWN_INTERRUPT_WAIT_MSto specify a wait time before interrupting polls during shutdown. - Loosened dependency ceiling for OpenAI Agents SDK to <= 0.7
Bug Fixes
Client.config()andWorker.config()now properly return a copy of the config passed during creation instead of the "active" config that may have been modified. Users that wish to get a copy of the config currently in use may passactive_config=Trueto both methods.
Breaking changes
- TLS will automatically be enabled when
api_keyis specified. - The type for
nexus_task_exectuoroption forWorkerwas narrowed fromconcurrent.futures.Executortoconcurrent.futures.ThreadPoolExecutor. - The unused arguments
static_summaryandstatic_detailsoptions inClient.create_schedulehave been removed. - Dynamic Handlers now use
collections.abc.Sequenceinstead oftyping.Sequencefor their third argument. - Types that were deprecated as of Python 3.9 have been updated to use the recommended alternative for Python 3.10+.
Specific Changes
2025-12-02 - 27096aa - Store initial configuration and provide it in config() by default (#1226)
2025-12-02 - cc19379 - 💥 Enable TLS if api key provided (#1229)
2025-12-03 - 90dda94 - Add retrying of workflow validation errors only on python 3.10 (#1223)
2025-12-03 - a48cece - Support RequestIdReference in Nexus Links (#1228)
2025-12-04 - 3400d8c - Remove file exclusions for pyright (#1235)
2025-12-04 - 96e2dab - Doc fixes (#1241)
2025-12-08 - 4439675 - Update for 3.10 best practices (#1236)
2025-12-08 - 6a3385b - upload nightly tps metrics to s3 (#1242)
2025-12-08 - 89fb17f - 💥 Nexus MetricMeter Support (#1233)
2025-12-09 - fd17cdf - 💥 Remove unused metadata from client.create_schedule. Ensure WorkflowHistoryEventAsyncIterator.fetch_next_page uses the provided page_size override when called (#1247)
2025-12-10 - 8ac0a9e - Install built wheel directly in build-binaries (#1245)
2025-12-10 - b0adaae - Nexus interceptors (#1218)
2025-12-16 - 7cfc65b - Update core (#1253)
2025-12-17 - c5eb6e2 - Replace WorkflowIdReusePolicy.TerminateExisting by WorkflowIdConflictPolicy (#1243)
2025-12-18 - 1f9e315 - Update dependency ceiling for OpenAI agents (#1256)
1.20.0
Worker Heartbeating (Public Preview)
This release adds a new feature called Worker Heartbeating. This feature spins up a single nexus-only worker per Client/Namespace in the background and periodically sends some basic metrics over to server for all of the workers registered on the same Client/Namespace.
Server version 1.29.1 and newer supports this feature. This feature will be enabled by default, although this currently requires a server dynamic config flag, --dynamic-config-value frontend.WorkerHeartbeatsEnabled=true to enable. Currently, the only way to interact with this new data is to also enable the flag --dynamic-config-value frontend.ListWorkersEnabled=true, then use CLI commands temporal worker list and temporal worker describe to query the data. If heartbeating is enabled with a server version older or with the config flag off, a single warning log Worker heartbeating configured for runtime, but server version does not support it. on worker startup will emit.
Highlights
- Core was upgraded from 682d441 to 45b1d7e.
Runtimeuse across forks now eagerly fails, making it fail in a more obvious way. Specifically, using aRuntimefrom a different process ID will now eagerly fail.
Breaking changes
- Core crate names have changed, see temporalio/sdk-core#1034 for more details. If users are directly referencing these crate names, like for setting log levels, they will need to be updated to the new names.
Specific Changes
2025-11-17 - 5d1630d - Nexus task cancellation (#1204)
2025-11-17 - ceb7058 - Prevent Runtime use over forks (#1208)
2025-11-21 - 3fd1c7e - Fix up plugin readme (#1211)
2025-11-24 - 6d2924b - Add Summary to Nexus operations (#1219)
2025-11-24 - 77f2346 - use sys.stdlib_module_names in restrictions. Move dynamic import warning to only apply to non-passed through modules (#1222)
2025-11-25 - b5001f9 - Update Core, configure worker types, send plugin names to Core (#1157)
1.19.0
Sandbox Importing Changes
Modules imported after workflows have been loaded into the sandbox now produce a warning message by default. See the Import Notification Policy docs for more info and customization options.
OpenAI Agents Changes
- Add new upper bound of version
0.5.0foropenai-agents
Breaking Changes
- Python 3.9 support has been removed now that it has reached end of life status.
Plugininterfaces have been updated to use invocation provided callables instead of initializers.MCPServerProvidersnow require anameargument.TestModelandTestModelProviderhave been moved fromtemporalio.contrib.openai_agentstotemporalio.contrib.openai_agents.test
Specific Changes
2025-09-30 - 4a70f3d - Update version to 1.18.1 (#1135)
2025-10-01 - a31886d - Serialization context (#1102)
2025-10-02 - 4f08626 - Use type in start/execute activity/workflow to address Pyright Strict mode error (#1137)
2025-10-06 - 26e2e61 - Generate RPC calls in Bridge Client (#1123)
2025-10-06 - 5ca4861 - Provide option to disable activity registration (#1140)
2025-10-07 - 42fe382 - Flaky session test (#1141)
2025-10-07 - 5e93e63 - 💥 Plugin Overhaul (#1139)
2025-10-07 - d27bb11 - Move visitor, bridge client generation, and formatting to poe tasks (#1142)
2025-10-07 - e4df5e7 - Add googleapis-common-protos to fix tests in build-binaries workflow (#1143)
2025-10-09 - cde3427 - Use macOS 15 intel runners (#1148)
2025-10-14 - 162cff7 - 💥 Allow arguments to be provided to MCP Server creation (#1147)
2025-10-14 - 70deb94 - Replace Proto modules with the python path (#1156)
2025-10-14 - 788d391 - Remove experimental notices for worker tuners (#1152)
2025-10-16 - 2ad41ab - Replace tctl references with Temporal CLI (#1165)
2025-10-16 - 2efd9a7 - Add start_update_with_start_workflow to Otel Interceptor (#1150)
2025-10-20 - 4fe685a - Allow h2 error message (#1170)
2025-10-20 - 778fc9a - Support python 3.14 and deprecate python 3.9 (#885)
2025-10-20 - f03ddc2 - Add programming language classifiers to fix badge on next publish (#1151)
2025-10-22 - 5994a45 - Avoid token detaching from different context (#1153)
2025-10-22 - c8cbfe0 - Modify code comment for Worker build_id field #1160 (#1163)
2025-10-24 - 7f794d0 - Update license in pyproject.toml (#1175)
2025-10-24 - 988b12c - Allow openai 0.4, update lock to use it (#1182)
2025-10-25 - 27903f7 - Add nightly throughput stress (#1173)
2025-10-27 - 231cc67 - Adds proper failure decoding in workflow activation (#1192)
2025-10-27 - 630a031 - Match openai logic to retry on >= 500 not == 500 (#1181)
2025-10-27 - 8f754b4 - Opentelemetry baggage propagation fix (#1174)
2025-10-27 - ba3d50f - Add a test for split worker scenario (#1193)
2025-10-27 - e39e8f2 - Add option to run models as local activities (#1183)
2025-10-28 - 0eb96eb - Sandbox importing (#1187)
2025-10-28 - c3448cc - Skip flaky test on versions with importer bug (#1195)
2025-10-29 - 1b70f07 - Tps nightly small improvements (#1200)
2025-10-30 - 35347b9 - Fix: Resolve TypeError in value_to_type on Python 3.13 (issue #1188) (#1189)
2025-10-30 - 5f24792 - 💥 Expose agent testing utils (#1164)
2025-10-30 - 660ac2b - VLN-492: Set explicit permissions for GitHub Actions workflows (#1199)
2025-10-30 - a08250a - refactor: use classmethod in factory methods (#1179)
2025-11-06 - 4156856 - fix: typo in time sandboxed utilities (#1205)
2025-11-06 - e543e8a - fix: typed search contains should work for falsy values (#1206)
1.18.2
Bug fixes
- Ensure
causefields ofFailureprotos are encoded with user codecs.
Specific Changes
2025-10-27 - e4969c0 - Adds proper failure decoding in workflow activation (#1192)
Full Changelog: 1.18.1...1.18.2
1.14.2
Bug fixes
- Pin
nexus-rpcversion to prevent accidental upgrade to a breaking version.
Specific Changes
2025-10-23 - 988ad10 - Lock nexus-rpc to 1.1.0
Full Changelog: 1.14.1...1.14.2