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.

Known Improvements

Any flag and command name can be in any order

--output json now makes sure to only output JSON to stdout --output jsonl now exists which disables indention/newline and, in some commands, streams lines of JSON --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 now available to set an Authorization header with Bearer prefixed token --tls- cert/key data now accepted in addition to just files

  • server start-dev now uses common log framework so log level can be customized easier and logs 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 JSON

  • workflow execute now streams event table instead of waiting on completion

  • workflow execute properly shows non-zero exit code on failure

  • workflow execute follows continue-as-new by default

💥 Known Incompatibilities

All Commands
  • Outputs in both JSON and plain text have been changed across most commands including JSON keys becoming 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

Specific Commands

  • 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 present

  • workflow and its subcommands no longer support --memo-file

  • workflow execute does not dump history by default when JSON is enabled

  • workflow execute when using --event-details (née --fields long) shows full JSON attributes instead of wrapped partial table

  • workflow execute no longer succeeds if workflow exists, but --allow-existing is present

  • workflow reset-batch removed in favor of workflow 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 present

  • workflow trace removed while being repaired (inadvertently broken in last release)

Full Changelog: v0.11.0...v0.12.0-rc.2