Temporalio

Latest version: v1.8.0

Safety actively analyzes 688619 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.2.0

Temporal Server Version: [1.18.0](https://github.com/temporalio/temporal/releases/tag/v1.18.0)

Release Highlights

This release updates Temporal server to the latest major version 1.18.0.

It also includes:

- A new [`--dynamic-config-value`](https://github.com/temporalio/temporalite/tree/v0.2.0#dynamic-config) flag for specifying dynamic config outside of a configuration yaml file
- Support for [using mTLS with the web UI](https://github.com/temporalio/temporalite/pull/138)
- Bugfixes related to configuration file loading (141) and getting started documentation (122)
- Updated web UI with bugfixes including support for special characters in workflow IDs 118

Changelog
* 69f30b5 Add vscode debug script (116)
* 06b1f4a Allow web UI to be configured when using mTLS in API (138)
* a28601a Bump github.com/temporalio/ui-server/v2 from 2.5.1 to 2.6.0 (129)
* 95e8a9d Bump github.com/temporalio/ui-server/v2 from 2.6.0 to 2.6.1
* 56f2fec Bump github.com/temporalio/ui-server/v2 from 2.6.1 to 2.6.2 (133)
* fbe9874 Bump github.com/urfave/cli/v2 from 2.11.2 to 2.14.1 (123)
* 76d4124 Bump github.com/urfave/cli/v2 from 2.14.1 to 2.16.3 (126)
* 649f085 Bump go.temporal.io/server from 1.17.4 to 1.17.5 (119)
* f3d6054 Bump go.temporal.io/server from 1.17.5 to 1.18.0 (134)
* 0090afc Bump go.uber.org/zap from 1.22.0 to 1.23.0 (115)
* a3d9d73 Dynamic config values and default search attribute cache as disabled (136)
* 8833863 Ensure default directory path to db file exists (140)
* 9a56995 FIx base config loading and add TLS integration test (141)
* 42dab08 Fix UI escaping special symbols (118)
* 7800181 Fix copyright header verification mode (137)
* d2ec434 Merge pull request 131 from temporalio/dependabot/go_modules/github.com/temporalio/ui-server/v2-2.6.1
* f974733 Test creating default db directory (144)

0.1.1

Temporal Server Version: [1.17.4](https://github.com/temporalio/temporal/releases/tag/v1.17.4)

Release Highlights

This release brings in bugfixes and miscellaneous improvements to the Temporal server and UI.

Changelog
* 0b360ba Bump github.com/temporalio/ui-server/v2 from 2.5.0 to 2.5.1 (112)
* 2f3019e Bump github.com/urfave/cli/v2 from 2.11.1 to 2.11.2 (111)
* 3c541f8 Bump go.temporal.io/server from 1.17.2 to 1.17.4 (113)

0.1.0

Temporal Server Version: [1.17.2](https://github.com/temporalio/temporal/releases/tag/v1.17.2)

Release Highlights

🎉 This is the first official release of Temporalite! 🎉

To get started, install Temporalite with `go install github.com/temporalio/temporalite/cmd/temporalitev0.1.0`, or import the [github.com/temporalio/temporalite/temporaltest](https://pkg.go.dev/github.com/temporalio/temporalitev0.1.0/temporaltest) package to write an integration test in Go.

Changelog
* 80ecd27 Add --metrics-port flag. (87)
* 1cccf14 Add WithUpstreamOptions server option (10)
* 715fc8d Add log level support (58)
* 6070027 Add optional flag to bind frontend ip address (17)
* 9a1915a Add sqlite pragma support (30)
* 583fa90 Add ui-server (29)
* 593da1a Added methods to create new test workers with custom options (81)
* 02655c7 Adding Dockerfile (16)
* 349fdfc Allow overriding base Temporal server config and client options (75)
* e9d2bf9 Automatically stop server after test completion via T.Cleanup (25)
* ff12777 Bump Temporal server and Go SDK versions (13)
* 3d927c0 Bump github.com/benbjohnson/clock from 1.1.0 to 1.2.0 (14)
* 10b2d2a Bump github.com/temporalio/ui-server from 0.13.0 to 0.13.1 (67)
* c93d79b Bump github.com/temporalio/ui-server/v2 from 2.3.0 to 2.4.0 (98)
* ba35649 Bump github.com/temporalio/ui-server/v2 from 2.4.0 to 2.5.0 (103)
* dcd539d Bump github.com/urfave/cli/v2 from 2.10.2 to 2.10.3 (85)
* 418cc39 Bump github.com/urfave/cli/v2 from 2.10.3 to 2.11.0 (88)
* 95467df Bump github.com/urfave/cli/v2 from 2.11.0 to 2.11.1 (92)
* 037b599 Bump github.com/urfave/cli/v2 from 2.3.0 to 2.4.0 (53)
* 0797d11 Bump github.com/urfave/cli/v2 from 2.4.0 to 2.5.1 (63)
* 2c4fe1a Bump github.com/urfave/cli/v2 from 2.5.1 to 2.6.0 (65)
* 0f25777 Bump github.com/urfave/cli/v2 from 2.6.0 to 2.8.1 (78)
* 2cabcd1 Bump github.com/urfave/cli/v2 from 2.8.1 to 2.10.2 (83)
* 86a3b8e Bump go.temporal.io/sdk from 1.13.0 to 1.13.1 (45)
* 2094b2e Bump go.temporal.io/sdk from 1.9.0 to 1.10.0
* 5d2482f Bump go.temporal.io/server from 1.14.0 to 1.14.1 (32)
* 701f0b2 Bump go.temporal.io/server from 1.14.1 to 1.14.2 (36)
* de413af Bump go.temporal.io/server from 1.14.2 to 1.14.4 (38)
* 1169750 Bump go.temporal.io/server from 1.15.0 to 1.15.1 (50)
* cd8b273 Bump go.temporal.io/server from 1.15.1 to 1.15.2 (51)
* 0e51713 Bump go.temporal.io/server from 1.16.1 to 1.16.2 (68)
* c55def0 Bump go.temporal.io/server from 1.16.2 to 1.17.1 (89)
* 15c4892 Bump go.temporal.io/server from 1.17.1 to 1.17.2 (102)
* 48d19ba Bump go.uber.org/zap from 1.19.1 to 1.20.0 (35)
* 9561b1a Bump go.uber.org/zap from 1.20.0 to 1.21.0 (41)
* 338c014 Bump go.uber.org/zap from 1.21.0 to 1.22.0 (107)
* 41343b6 Check if the db file path dir exists before setting up schema (99)
* 95f1070 Deprecate Worker() and Client() in favor of NewWorker() DefaultClient() (95)
* 493a727 Disable web UI via build tag or runtime flag (47)
* 50d4a31 Do not override existing FrontendPort config (15)
* 1ecb757 Expose frontend host:port (11)
* cf5e093 Initial commit
* e046f4e Link to Temporalite intro video (27)
* bd41b41 Merge pull request 1 from DataDog/jlegrone/copyright
* b8bddfb Merge pull request 2 from DataDog/jlegrone/license-check
* 627e05e Merge pull request 24 from DataDog/jlegrone/upgrade-temporal
* 195c46d Merge pull request 3 from DataDog/jlegrone/ci
* 4b74777 Merge pull request 4 from DataDog/dependabot/go_modules/go.temporal.io/sdk-1.10.0
* 7986b5b Merge pull request 5 from DataDog/jlegrone/pre-create-namespaces
* c9203bf Merge pull request 6 from DataDog/jlegrone/no-cgo
* 3b71bff Merge pull request 7 from DataDog/jlegrone/test-logger
* b2bcb51 Merge pull request 9 from DataDog/jlegrone/upstream-driver
* bfe0432 Note that Go 1.17+ is required for installation
* 65c2369 Remove deprecated Worker and Client methods (109)
* a04abd3 Rename module to github.com/temporalio/temporalite (96)
* 1cf0b61 Revert "Upgrade Temporal and Temporal Web UI. (86)" (91)
* 94be8e0 Skip migrations when db file already exists
* 399cfa1 Switch to upstream SQLite driver
* 08e491b UI bump (93)
* 4c73c85 Update github.com/temporalio/ui-server (40)
* c19371c Update goreleaser config and stamp binaries with semantic version (104)
* a4b633d Update license & copyright headers (97)
* ac001ab Update tally to v4.1.0 (20)
* a678942 Upgrade Temporal
* 5eaf107 Upgrade Temporal and Temporal Web UI. (86)
* 0507fa8 Upgrade temporal to v1.16.1 and Go to 1.18 (66)
* 5a5ad37 Use dynamic ports from CLI (48)
* 81d9847 add CGO_ENABLED=0 to test matrix
* 7803589 add CLI flag to pre-create namespaces
* 44a4997 add CLI to update license headers
* 779f518 add Datadog, Inc. to existing copyright headers
* c8518eb add badges for godoc, ci, code coverage
* 8794ecc add ci and release workflows
* 11e139d add contributing docs
* 0bebba6 add dependabot config
* f81b595 add temporaltest package
* b179c5a add temporaltest usage example
* 0719c32 allow passing additional options when configuring client
* aa66d7e de-duplicate default frontend port references
* 8c75a9f format sql files
* 0d97753 generate default test namespace
* 0836de4 go run ./internal/copyright
* 893eae8 license to Datadog, Inc.
* 793d9ed move server library to top level package
* 011f820 pre-create namespaces during database initialization
* b54068f remove namespace waiting logic
* e5ba2aa remove queue_metadata.data NOT NULL constraint
* e9784c1 shorten test timeout
* 76ee46d support custom test logger
* d84802f support manual overrides when third party licenses cannot be parsed
* 97ee5b7 support non-cgo builds
* 9cbf0fb track third party code licenses
* 4a4117c update temporal version
* 2f33df8 update third party licenses
* afbf824 upgrade temporal-server to 1.15.0 (44)
* c0be89d use shared helloworld worker implementation

0.1b4

**⚠️ THIS IS A BETA RELEASE AND COMPATIBILITY MAY NOT BE MAINTAINED**

Get from [PyPI](https://pypi.org/project/temporalio/)

Highlights

Support for both Protobuf 3.x and 4.x libraries

We now generate Protobuf via 3.x and ensure it works with 3.x and 4.x Python libraries.

Sync activities now raise exception in thread on cancellation

Now, unless opted out, sync multithread activities will raise an exception in thread when cancellation is received.

Simplify designating passthrough modules in the sandbox

Since we are encouraging passing through third party modules, we have made it simpler to do so. Now the imports can simply be wrapped with `with workflow.unsafe.imports_passed_through():` or the `SandboxRunner`'s `restrictions` can just have `passthrough_modules` as a set of strings (or just `SandboxRunner(restrictions=SandboxRestrictions.default.with_passthrough_modules("other.module")`).

💥 Breaking Changes

* Sync threaded activities now have exceptions raised inside of them on cancellation whereas before you had to explicitly check for cancellation
* `SandboxRestriction`'s `passthrough_modules` changed from `SandboxMatcher` type to a `Set[str]`

Specific Changes

2022-11-15 - 99e36cb - Sandbox and type fixes (202)
2022-11-18 - a7d6fc3 - Add banner to README (205)
2022-11-18 - b04813c - Add sdk-features CI trigger (206)
2022-11-22 - e37b500 - Add table of contents to README (209)
2022-11-29 - 89b6e66 - Support both protobuf 3 and 4 (215)
2022-12-01 - 6a43919 - Support raising cancellation in sync multithreaded activities (217)
2022-12-02 - cc679b9 - Sandbox Improvements (219)
2022-12-05 - 06828ea - Update SDK core and minor updates (221)

0.1b3

**⚠️ THIS IS A BETA RELEASE AND COMPATIBILITY MAY NOT BE MAINTAINED**

Get from [PyPI](https://pypi.org/project/temporalio/)

Highlights

Workflow Sandbox

There is now an enabled-by-default workflow sandbox that attempts to ensure determinism via workflow isolation and
restricted access to known non-deterministic standard library calls. If you are importing third-party libraries inside
the same file as your workflow, this can incur a noticeable perf/mem penalty.

Also, if your workflow previously worked out of the sandbox, it may no longer work.

These issues can be mitigated. See https://github.com/temporalio/sdk-python#workflow-sandbox.

Listing Workflows and Multi-History Replayer

API improvements:

* `Client.list_workflows()` - returns an async iterator of workflows based on
[visibility filter](https://docs.temporal.io/visibility)
* `WorkflowHandle.fetch_history_events()` - returns an async iterator of history events
* `WorkflowHandle.fetch_history()` - helper for the above that returns a full `WorkflowHistory`
* `WorkflowExecutionAsyncIterator.map_histories()` - returns an async iterator of `WorkflowHistory` based on async
iterator of workflows
* `ReplayWorkflow.replay_workflow()` - replays single `WorkflowHistory`
* `ReplayWorkflow.replay_workflows()` - replays async iterator of `WorkflowHistory` collecting results
* `ReplayWorkflow.workflow_replay_iterator()` - async context manager providing an async iterator over replay results
from an async iterator of `WorkflowHistory`

Using these APIs, users can now easily load many workflows and run their histories through a replayer. Among other
benefits, this can help users know how code changes might react on previous workflow executions.

Python 3.11 and Linux ARM Support

Python 3.11 is properly supported and early results show some speed improvement. Also, PyPI releases will now include
Linux ARM wheels.

Failure Converter

A custom `temporalio.converter.FailureConverter` can now be set as the `DataConverter.failure_converter_class`. In
addition to custom error conversion, this is also useful to set to
`temporalio.converter.DefaultFailureConverterWithEncodedAttributes` to force all error messages and stack traces to be
put in the encoded section of the failure, allowing them to run through a `PayloadCodec` for encryption.

Worker Fatal Errors

Worker fatal errors are rare, but previously they were not surfaced when using `async with`. Now, similar to
[asyncio.timeout](https://docs.python.org/3/library/asyncio-task.html#asyncio.timeout), the current task will be
cancelled on fatal error and that cancel will be caught at the end of the async context manager and the reason for fatal
will be raised. The alternative to `async with`, `Worker.run()`, now also raises fatal errors.

Note, fatal errors only occur after a while of internal retries.

💥 Breaking Changes

Not many and they are on less-often used parts.

⚠️ Multiple `patched` History Incompatibility

If you called `patched` for the same patch ID multiple times in the same workflow, this new release will be incompatible
with that workflow and you'll get non-determinism errors. `patched` is now memoized.

API Breaking Changes

* Workflow sandbox may break registering/running workflows that it didn't used to
* `temporalio.worker.Replayer.replay_workflow` now takes a `temporalio.client.WorkflowHistory` object instead of a proto
object or JSON str/dict
* `temporalio.client.WorkflowExecutionDescription.raw` renamed to `raw_description`
* Failed queries now raise `temporalio.client.WorkflowQueryFailedError` instead of `temporalio.client.RPCError`
* Configuring telemetry has changed from using the global `temporalio.bridge.telemetry.init_telemetry` package to making
a new `telemetryio.bridge.runtime.Runtime` and passing that around.

Specific Changes

2022-10-03 - 0dd2312 - Move API reference site to Vercel (148)
2022-10-19 - e436ecc - Multiple History Replay support (158)
2022-10-28 - 0126e6e - Workflow sandbox (164)
2022-10-28 - 5259f4c - Preload type hints and remove global lookup cache (168)
2022-10-28 - 657a13d - Don't require timer presence when fired (169)
2022-10-28 - bc62186 - Remove Go server from Python tests (170)
2022-10-31 - e16bbc3 - ARM runner and Python 3.11 support (172)
2022-11-01 - 656b77b - Add simple benchmark script (180)
2022-11-01 - b4b3f82 - Support for list workflow, fetch workflow history, and iterable replay results (175)
2022-11-03 - cfdc548 - Add StrEnum conversion support (177)
2022-11-04 - 65c4025 - Prefix private modules with underscore (183)
2022-11-07 - 2546871 - Minor updates (186)
2022-11-07 - 6b9f554 - Propagate fatal worker errors (188)
2022-11-07 - 87fd193 - Clarity on client thread safety and sync activity cancel (189)
2022-11-07 - 929dc81 - Failure converter (185)
2022-11-07 - a75256e - Feature/datetime conversion fix (179)
2022-11-08 - 3901df8 - Memoize patched calls and support UUID conversion (192)
2022-11-09 - 87b28a7 - Add missing UUID test case (193)
2022-11-10 - eacdca8 - Sdk core related updates (191)

0.1b2

**⚠️ THIS IS A BETA RELEASE AND COMPATIBILITY MAY NOT BE MAINTAINED**

Get from [PyPI](https://pypi.org/project/temporalio/)

Highlights

Test Framework

`temporalio.testing` package now includes an `ActivityEnvironment` for mocking heartbeating and cancellation for activity code. See https://github.com/temporalio/sdk-python#testing-1 for more details.

`temporalio.testing` package also now includes a `WorkflowEnvironment` for testing workflows. The `WorkFlowEnvironment` can be started in time-skipping mode which, by default, will automatically forward time to the next event when a workflow's result is waited on. For a full, local Temporal server or a time-skipping server, APIs are included that automatically download the binaries needed to run. See https://github.com/temporalio/sdk-python#testing for more details.

Replayer

The `temporalio.worker` package now has a `Replayer` which, given workflows and a history, can replay an entire workflow run locally. This is very useful for debugging and confirming code-change safety. See https://github.com/temporalio/sdk-python#workflow-replay for more details.

Advanced Type Hinting Support

Nested dataclasses, Pydantic classes, optionals, unions, collections, etc are now supported for deserialization if the workflow/activity param/return types are properly type hinted. See https://github.com/temporalio/sdk-python#data-conversion for more details.

Client Updates

* gRPC is now an optional dependency
* `Client.workflow_service` and `Client.operator_service` are now available for direct API calls to Temporal
* Added `Client.service_client` which, in addition to having access to the two services from the previous bullet, also has a `check_health` call to perform gRPC health check
* `rpc_metadata` can be now added at the client level and/or to every API call which will set API headers (useful for proxies and other things)
* `rpc_timeout` can now be added to every API call to set a timeout on the call itself
* Added `lazy` parameter to `Client.connect` which avoids eager connection (cannot use these for workers)

Breaking Changes

Most breaking changes were very minor:

* `Client.service` is now `Client.workflow_service`
* `static_headers` parameter in `Client.connect` is now `rpc_metadata`
* Most things that accepted an `Iterable` were changed to accept a `Sequence`
* `interceptors` parameter in `Client.connect` no longer accepts callables, just the `Interceptor` instances it always had
* `max_concurrent_wft_polls` and `max_concurrent_at_polls` parameters in `Client.connect` were changed to `max_concurrent_workflow_task_polls` and `max_concurrent_activity_task_polls` respectively

Specific Changes

2022-08-05 - 043cdf3 - Minor README update (99)
2022-08-10 - 8171049 - Fix activity class type hinting when not instantiated (104)
2022-08-12 - efc1c7b - Advanced type hinting support (102)
2022-08-16 - c965c47 - gRPC Service Improvements (106)
2022-08-19 - 5b202c0 - Replayer (108)
2022-08-25 - 4db14cc - README: Fix import name in quickstart (112)
2022-09-01 - 07da1b9 - Test Framework (121)
2022-09-07 - 1c9a59e - Several minor issues (127)
2022-09-16 - 5b0e1c8 - Update and dogfood test framework (132)
2022-09-19 - 580b6fc - Skip conditions during patch and query jobs (137)
2022-09-19 - bcc0132 - Update protobuf (136)

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.