Releases: temporalio/cli
v1.1.0
💥 Breaking Changes
temporal workflow update
has been renamed totemporal workflow update execute
, to allow for the creation of newworkflow update
sub-commands. All flags and behavior remain the same.
Highlights
- The
temporal nexus
suite of commands has been added to support Nexus, a new feature designed to connect durable executions across team, namespace, region, and cloud boundaries. It promotes a more modular architecture for sharing a subset of your team’s capabilities via well-defined service API contracts for other teams to use, that abstract underlying Temporal primitives, like Workflows, or execute arbitrary code. Learn more at: https://temporal.io/nexus - The new
temporal workflow update start
command starts an Update asynchronously. Callers can wait for such an Update to complete by running anupdate execute
orupdate result
command against the same--workflow-id
and--update-id
. - The new
temporal workflow update result
command waits for an Update to complete and fetches the result. - The new
temporal workflow update describe
command reports the status of a running or recently-completed Update. Unlikeupdate result
andupdate execute
,update describe
does NOT wait for the update to complete, but returns status immediately. - The
temporal task-queue describe
command now returns improved backlog stats including backlog count, age, and growth rate. - Temporal Server has been updated to v1.25.0, and UI Server has been updated to v2.30.3.
What's Changed
- Nexus by @bergundy in #577
- Use static membership for devserver by @stephanos in #582
- Fix dev server search attribute registration helptext by @Sushisource in #636
- Include additional build-time information in the version string by @dandavison in #637
- Fix typo in
schedule create
example by @josh-berry in #640 - add --public-path option to the command by @ggrebert in #644
- Making tq stats visible from cli by @Shivs11 in #638
- Add
workflow update start
andworkflow update execute
subcommands by @dandavison in #642 - Upgrade server with endpoint regexp validation to allow "-" and deny "_" by @bergundy in #641
- Dump junit.xml by @dandavison in #650
- Upgrade server to 1.25.0-rc.2 by @bergundy in #655
- List schedules query param support by @justinp-tt in #654
- Reduce test suite time by @yuandrew in #656
- Remove in-development warning from README by @josh-berry in #657
- Update major Temporal dependencies by @josh-berry in #659
- Update major Temporal dependencies by @josh-berry in #661
- Update help text to conform to style by @josh-berry in #662
- Merge nexus branch into main by @josh-berry in #663
- Add workflow
update result
,update describe
andresult
commands by @Sushisource in #658 - changes to tq-describe-command descriptions by @Shivs11 in #668
New Contributors
- @ggrebert made their first contribution in #644
- @Shivs11 made their first contribution in #638
- @justinp-tt made their first contribution in #654
- @yuandrew made their first contribution in #656
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Temporal CLI Reaches 1.0
Temporal CLI is now considered featureful enough to be v1.0! 🎉 It continues to be production-quality.
Future releases will maintain the same commands, flags, behaviors, and JSON output to the extent possible (except for experimental features, which will be clearly marked as such in --help
output). Text output is still subject to change.
Release Highlights (since v0.13.0)
- The experimental Worker Versioning feature was added in v0.13.1, making it easier to manage multiple worker versions running on the same task queue. (Commands associated with this feature are subject to change.)
- Search attributes can now be created during dev-server startup using the new
--search-attribute
flag. - The
--help
output has been rewritten top-to-bottom to be more comprehensive and informative.
Upgrading from Older Versions
If you are switching from tctl
or upgrading from a CLI version older than v0.12.0, please note that many commands have changed. See the release notes for v0.12.0 for more details.
What's Changed
- Supported flattened event detail view on workflow show/execute by @cretz in #615
- Tweak server start-up text by @dandavison in #624
- Fix nil deref if the env file can't be parsed by @josh-berry in #625
- Adjust dev-server tunables to avoid persistence rate-limiting by @josh-berry in #626
- EDU-2415: Improve CLI Help content by @fairlydurable in #561
- Dependency Updates: Server -> 1.24.2, Cobra -> 1.8.1, and more by @josh-berry in #630
Full Changelog: v0.13.2...v1.0.0
v0.14.0-nexus.0
What's Changed
- Supported flattened event detail view on workflow show/execute by @cretz in #615
- Tweak server start-up text by @dandavison in #624
- Fix nil deref if the env file can't be parsed by @josh-berry in #625
- Nexus by @bergundy in #577
Full Changelog: v0.13.2...v0.14.0-nexus.0
v0.13.2
What's Changed
workflow show
: Add blank line aboveResults:
by @josh-berry in #603- Fix commit rule confirmation message by @antlai-temporal in #610
- dev-server: Properly deal with IPv6 by @mjameswh in #611
- Update UI module for versioning pre-release by @antlai-temporal in #614
- Fix marshaling of payloads with null values by @dandavison in #617
Full Changelog: v0.13.1...v0.13.2
v0.13.1
Highlights
This is a minor release that introduces support for worker versioning using a new API provided by Temporal Servers with version 1.24.0+
.
Worker versioning is an experimental feature, currently in pre-release, which associates Build IDs to worklfows and activities using rules, and then guarantees that only workers running compatible code will process their tasks. Rules are scoped by a task queue, and can be manipulated or listed with the CLI. For example:
temporal task-queue versioning -t my-queue get-rules
Known Incompatibilities
task-queue describe
is now returning task reachability information in addition to pollers info, to safely retire old workers using worker versioning. It uses an enhanced API that is not supported by a server with version <1.24.0
. To access pollers information in older servers set the --legacy-mode
flag, and select the task queue type using the --task-queue-type-legacy
argument (if different from workflow
).
What's Changed
- Accept search attributes for dev server and disable cache by default by @cretz in #593
- Trigger goreleaser on published release by @antlai-temporal in #598
- Support worker versioning with new API by @antlai-temporal in #596
Full Changelog: v0.13.0...v0.13.1
v0.13.0
Highlights
This release upgrades Temporal Server to version 1.24.1. It builds on the CLI refresh work of 0.12.0, which introduced many changes, please read the 0.12.0 release notes if upgrading from 0.11.X or older.
Known Incompatibilities
The --data option on temporal operator namespace create now provides multiple key-value pairs by repeating the --data flag. The former syntax of a single --data option with key-value pairs separated by commas is no longer supported. See #583 for details.
What's Changed
- Resurrect install.sh by @josh-berry in #540
- Tweak server start text by @dandavison in #554
- New flag:
workflow show --event-details
by @dandavison in #555 - Fix panic when started without a stdout by @mjameswh in #549
- Specify go compiler minor version by @dandavison in #563
- get-free-port: prevent duplicate ports on Linux by @mjameswh in #564
- Use server's timestamp.ParseDuration for all durations by @dnr in #572
- Add test to verify that Schedule memo can be updated by @antlai-temporal in #569
- Update the docker-builds repo when releases are published by @tdeebswihart in #570
- Setting host level mutable state cache size to 8k by @prathyushpv in #574
- Use "uses" instead of curl by @tdeebswihart in #575
- Fix setting env name with a property by @antlai-temporal in #568
- Revert "Use "uses" instead of curl (#575)" by @tdeebswihart in #576
- Fail on unknown environments by @Sushisource in #578
- Print encoding of workflow results by @Sushisource in #579
- Normalize semantic of --data args by @mjameswh in #583
- Normalize --name and --type flags on workflow commands by @cretz in #580
- Prepare dependencies and tests for CLI 0.13-rc.1 release (server v1.24.1) by @josh-berry in #584
- Update server & add --reapply-exclude flag to reset by @Sushisource in #588
- Pin goreleaser version by @antlai-temporal in #591
- Fix trigger-publish.yml to quote the commit hash by @antlai-temporal in #592
- Publish only non-RC releases by @antlai-temporal in #594
New Contributors
Full Changelog: v0.12.0...v0.13.0
v0.13.0-rc.2
This release fixes some CI issues blocking the publishing of docker images. It also adds support for excluding some event types in workflow reset
.
What's Changed
- Update server & add --reapply-exclude flag to reset by @Sushisource in #588
- Pin goreleaser version by @antlai-temporal in #591
- Fix trigger-publish.yml to quote the commit hash by @antlai-temporal in #592
Full Changelog: v0.13.0-rc.1...v0.13.0-rc.2
v0.13.0-rc.1
Highlights
This release upgrades Temporal Server to version 1.24.1. It builds on the CLI refresh work of 0.12.0, which introduced many changes, please read the 0.12.0 release notes if upgrading from 0.11.X or older.
Known Incompatibilities
- The
--data
option ontemporal operator namespace create
now provides multiple key-value pairs by repeating the--data
flag. The former syntax of a single--data
option with key-value pairs separated by commas is no longer supported. See #583 for details.
What's Changed
- Resurrect install.sh by @josh-berry in #540
- Tweak server start text by @dandavison in #554
- New flag:
workflow show --event-details
by @dandavison in #555 - Fix panic when started without a stdout by @mjameswh in #549
- Specify go compiler minor version by @dandavison in #563
- get-free-port: prevent duplicate ports on Linux by @mjameswh in #564
- Use server's timestamp.ParseDuration for all durations by @dnr in #572
- Add test to verify that Schedule memo can be updated by @antlai-temporal in #569
- Update the docker-builds repo when releases are published by @tdeebswihart in #570
- Setting host level mutable state cache size to 8k by @prathyushpv in #574
- Use "uses" instead of curl by @tdeebswihart in #575
- Fix setting env name with a property by @antlai-temporal in #568
- Revert "Use "uses" instead of curl (#575)" by @tdeebswihart in #576
- Fail on unknown environments by @Sushisource in #578
- Print encoding of workflow results by @Sushisource in #579
- Normalize semantic of --data args by @mjameswh in #583
- Normalize --name and --type flags on workflow commands by @cretz in #580
- Prepare dependencies and tests for CLI 0.13-rc.1 release (server v1.24.1) by @josh-berry in #584
New Contributors
Full Changelog: v0.12.0...v0.13.0-rc.1
v0.12.0
CLI Refresh
Temporal CLI has had its internals rewritten to be more consistent and more maintainable. This includes many improvements, but also some known backwards incompatibilities from the previous 0.11.0 release.
💥 WARNING: There are known compatibility breaks with this release, see the sections below 💥
Known Improvements
- The position of flags is no longer significant; flags can be placed anywhere in the command invocation
--output json
now makes sure to only output JSON to stdout (instances of invalid JSON output have been fixed)--output jsonl
now exists which disables indention/newline and, in some commands, streams lines of JSON instead of producing a single array--input-meta
is now supported so different encodings can be specified (e.g. Protobuf JSON)- Log level customization added
env
file path can be customized- Payload shorthand support added, meaning most JSON base64 payloads are decoded to just show their contents
- Exit codes are now non-zero in proper failing situations
--api-key
can now be used to set anAuthorization
header withBearer
prefixed token--tls-cert
and--tls-key
data now accepted in addition to just filesserver start-dev
now uses common log framework so log level can be more easily customized- Logs now go to stderr instead of stdout
server start-dev
has reduced output noise (with more reduction to come)workflow describe
now has a text form instead of always JSONworkflow execute
now streams event table instead of waiting on completionworkflow execute
properly shows non-zero exit code on failureworkflow execute
follows continue-as-new by default
💥 Known Incompatibilities
All Commands
- The shell-script-based install is no longer supported
- Outputs in both JSON and plain text have been changed across most commands—notably, JSON keys are now camelCase
- Duration flags need trailing unit suffix (i.e. e.g.
--workflow-timeout 5
becomes--workflow-timeout 5s
) --output table
and--output card
removed and merged into--output text
- Pager removed
TEMPORAL_CLI_SHOW_STACKS
environment variable no longer supported--tls-ca-path
can no longer be a URL--fields
command removed, commands now decide which fields should be present or not--context-timeout
removed (but it may get added back in a different form later)
Specific Commands
env
commands now expect--env
,-k
and-v
flags rather than positional arguments (positional arguments will continue to work, but are now deprecated and a warning is emitted)operator namespace
commands now expect a-n
flag to specify the namespace rather than a positional argument (the positional argument will continue to work, but is now deprecated and a warning is emitted)operator namespace update
no longer supports--verbose
schedule create
changed--workflow-type
to be--type
server start-dev
with--db-filename
no longer auto-creates directory path of 0777 dirs if not presentserver start-dev
no longer supportsfatal
as a--log-level
because it shares the level now with the rest of the CLIworkflow
and its subcommands no longer support--memo-file
workflow execute
does not dump history by default when JSON is enabledworkflow execute
when using--event-details
(née--fields long
) shows full JSON attributes instead of wrapped partial tableworkflow execute
no longer succeeds if workflow exists, but--allow-existing
is presentworkflow reset-batch
removed in favor ofworkflow reset --query
with reset options (some previous reset types may not be supported)workflow show
does not allow-f
as an alias for--follow
workflow start
no longer succeeds if workflow exists, but--allow-existing
is presentworkflow trace
removed while being repaired (inadvertently broken in last release)
What's Changed
- Initial CLI rewrite by @cretz in #412
- CLI Refresh:
workflow signal
command by @cretz in #432 - Implement
workflow terminate
command by @tdeebswihart in #436 - CLI Refresh: Output improvements on start-dev by @cretz in #441
- Change log-level from "off" to "never" and show enums in options help by @cretz in #442
- Implement
workflow cancel
command by @tdeebswihart in #435 - Implement activity commands by @dandavison in #445
- Override SDK-set headers for client name and others by @cretz in #450
- Workflow start delay on CLI refresh by @cretz in #452
- More env tests by @cretz in #454
- Embed tzdata on CLI refresh by @cretz in #453
- Add query command by @Sushisource in #455
- CLI Refresh: Implement
workflow reset
by @tdeebswihart in #443 - Don't run tests in verbose mode in CI by @tdeebswihart in #444
- CLI Refresh:
workflow update
command by @pdoerner in #462 - Add
workflow stack
command by @Sushisource in #457 - Add operator cluster commands by @Quinn-With-Two-Ns in #460
- Add goreleaser and Dockerfile by @cretz in #463
- Implement
workflow show
by @Sushisource in #458 - Exit nonzero on unknown commands by @Sushisource in #466
- Enhance Task Queue Describe by @Sushisource in #467
- Add more operator cluster commands by @Quinn-With-Two-Ns in #465
- Add operator search-attribute commands by @yiminc in #470
- Add more tests by @Sushisource in #472
- [CLI Refresh] Add build id commands by @antlai-temporal in #469
- CLI Refresh:
batch
commands by @stephanos in #464 - Add support for batch resets. by @ast2023 in #473
- Log env vars which override the env file by @Sushisource in #483
- TLS Data flags by @Sushisource in #484
- Log metrics port by @Sushisource in #482
- fix
batch terminate
test by @stephanos in #488 - JSONL support by @cretz in #487
- Adding namespace commands to cli by @prathyushpv in #476
- Adding task-queue list-partition command by @prathyushpv in #491
- CLI Refresh:
workflow delete
command by @carlydf in #496 - Add --api-key and update dependencies by @cretz in #500
- Add ARM targets for CI by @Quinn-With-Two-Ns in #497
- Add
temporal workflow fix-history-json
subcommand. by @chronos-tachyon in #504 - Implement
schedule
commands by @dnr in #459 - Do not use payload shorthand on workflow show by @cretz in #505
- Implement workflow count, temporarily remove workflow trace by @cretz in #506
- Replace release workflow with goreleaser from main by @cretz in #510
- Fixes typos in the commands Markdown source by @fairlydurable in #512
- Make argument and flag use consistent across commands by @josh-berry in #511
- Allow insecure CSRF cookies by @josh-berry in #515
- Add update-id option by @Quinn-With-Two-Ns in #517
- Fix racy batch test by @josh-berry in #516
- Exit zero if help/version is explicitly requested by @josh-berry in #525
- Add workflow trace by @sebneira in #520
- Update server and UI server by @cretz in #536
- Dev server compat issues in CLI rewrite by @cretz in #535
Full Changelog: v0.11.0...v0.12.0
v0.12.0-rc.3
CLI Refresh
This is another release in the 0.12.0 RC series. See release notes on v0.12.0-rc.2 for more overall 0.12.0 information.
What's Changed
- Fixes typos in the commands Markdown source by @fairlydurable in #512
- Make argument and flag use consistent across commands by @josh-berry in #511
- Allow insecure CSRF cookies by @josh-berry in #515
- Add update-id option by @Quinn-With-Two-Ns in #517
- Fix racy batch test by @josh-berry in #516
- Exit zero if help/version is explicitly requested by @josh-berry in #525
- Add workflow trace by @sebneira in #520
- Update server and UI server by @cretz in #536
- Dev server compat issues in CLI rewrite by @cretz in #535
Full Changelog: v0.12.0-rc.2...v0.12.0-rc.3