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 jsonnow makes sure to only output JSON to stdout (instances of invalid JSON output have been fixed)--output jsonlnow exists which disables indention/newline and, in some commands, streams lines of JSON instead of producing a single array--input-metais now supported so different encodings can be specified (e.g. Protobuf JSON)- Log level customization added
envfile 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-keycan now be used to set anAuthorizationheader withBearerprefixed token--tls-certand--tls-keydata now accepted in addition to just filesserver start-devnow uses common log framework so log level can be more easily customized- Logs now go to stderr instead of stdout
server start-devhas reduced output noise (with more reduction to come)workflow describenow has a text form instead of always JSONworkflow executenow streams event table instead of waiting on completionworkflow executeproperly shows non-zero exit code on failureworkflow executefollows 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 5becomes--workflow-timeout 5s) --output tableand--output cardremoved and merged into--output text- Pager removed
TEMPORAL_CLI_SHOW_STACKSenvironment variable no longer supported--tls-ca-pathcan no longer be a URL--fieldscommand removed, commands now decide which fields should be present or not--context-timeoutremoved (but it may get added back in a different form later)
Specific Commands
envcommands now expect--env,-kand-vflags rather than positional arguments (positional arguments will continue to work, but are now deprecated and a warning is emitted)operator namespacecommands now expect a-nflag 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 updateno longer supports--verboseschedule createchanged--workflow-typeto be--typeserver start-devwith--db-filenameno longer auto-creates directory path of 0777 dirs if not presentserver start-devno longer supportsfatalas a--log-levelbecause it shares the level now with the rest of the CLIworkflowand its subcommands no longer support--memo-fileworkflow executedoes not dump history by default when JSON is enabledworkflow executewhen using--event-details(née--fields long) shows full JSON attributes instead of wrapped partial tableworkflow executeno longer succeeds if workflow exists, but--allow-existingis presentworkflow reset-batchremoved in favor ofworkflow reset --querywith reset options (some previous reset types may not be supported)workflow showdoes not allow-fas an alias for--followworkflow startno longer succeeds if workflow exists, but--allow-existingis presentworkflow traceremoved while being repaired (inadvertently broken in last release)
What's Changed
- Initial CLI rewrite by @cretz in #412
- CLI Refresh:
workflow signalcommand by @cretz in #432 - Implement
workflow terminatecommand 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 cancelcommand 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 resetby @tdeebswihart in #443 - Don't run tests in verbose mode in CI by @tdeebswihart in #444
- CLI Refresh:
workflow updatecommand by @pdoerner in #462 - Add
workflow stackcommand 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 showby @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:
batchcommands 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 terminatetest 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 deletecommand 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-jsonsubcommand. by @chronos-tachyon in #504 - Implement
schedulecommands 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