Turbot Command Line Interface (CLI) Releases

The Turbot Command Line Interface (CLI) is a unified tool to work with Turbot, develop mods and publish them to the registry.

Install the Turbot CLI →

v1.27.0 [2020-12-07]

What's new?

  • turbot template build --rebase command now cleans up the work in progress branch if the template render fails.

Bug fixes

  • turbot template build --rebase command was failing to re-apply manual changes.
  • turbot template build --fleet-mode would stop building all branches if a single one failed.

v1.26.0 [2020-11-12]

What's new?

  • turbot compose (used by all CLI commands that compose mods) now omits the releaseNotes field from turbot.head.json. It is still included in turbot.dist.json.
  • turbot template has a new --unchanged-issue <issue_id> argument. When a template build operation commits changes to git, if no files have actually changed then the commit message will use this issue instead of the normal --issue <issue_id> field. The commit message will also specify "no changes".

v1.25.0 [2020-11-02]

What's new?

  • turbot publish has a new --timeout <secs> argument to customize the publish timeout. The default has been increased to 2 minutes.
  • Use turbot template build --issue 1234 --close-issue will set the commit message to close the issue.

Bug fixes

  • turbot test should not fail with the the error TypeError: tmod.parse is not a function.

v1.24.3 [2020-10-23]

Bug fixes

  • turbot template build --patch --push-instance-root command failed to push changes to the wip branch.

v1.24.2 [2020-10-07]

Bug fixes

  • turbot pack and turbot publish were failing to run pre-pack script when --dir arg is used.

v1.24.1 [2020-10-06]

Bug fixes

  • turbot inspect should give a clear error message for invalid templates.

v1.24.0 [2020-10-05]

Bug fixes

  • turbot inspect --format changelog should properly escape CSV fields with commas.

v1.23.0 [2020-09-18]

What's new?

  • turbot install - checks if a compatible version of each dependency is already installed. If so, it is does not install from the registry unless there is a newer version available.
  • turbot template build --rebase rebuilds templates while using rebase to better merge and preserve custom changes to the rendered files since the last build.

v1.22.0 [2020-09=07]

What's new?

  • Show a progress bar during long running operations.

v1.21.0 [2020-08-20]

What's new?

  • Improved error messages for failed queries like authentication, network connectivity, etc.
  • Update credentials precedence to prioritise specific credentials (key, secretKey and workspace) over profile.

Bug fixes

  • turbot configure fails when no command line credentials arguments are given but they set in environment
  • turbot workspace list should ignore TURBOT_PROFILE env var and only filter profiles if one is given in command line.
  • turbot download should fall back to use the production registry if the user is not logged in.

v1.20.1 [2020-07-31]

Bug fixes

  • Exceptions from the pre-pack script in turbot pack were not caught and reported correctly.

v1.20.0 [2020-07-30]

What's new?

  • Improved error messages for turbot pack, turbot up and turbot publish for faster troubleshooting.

Bug fixes

  • turbot graphql queries for control, policy-value, etc were not properly handling the --resource-id and --resource-aka arguments.

v1.19.3 [2020-07-30]

Bug fixes

  • turbot configure was failing for some Windows users when used in interactive mode.

v1.19.2 [2020-07-20]

Bug fixes

  • turbot configure was always failing validation when using interactive mode to enter credentials.

v1.19.1 [2020-07-20]

Bug fixes

  • turbot install [mod] was not working. You can now install specific mods as expected.

v1.19.0 [2020-07-16]

What's new?

  • Use turbot install [mod[@version]] to install a specific mod as a local dependency.
  • Credentials passed to turbot workspace configure are now validated before saving, so you can be confident they are good to go.

v1.18.1 [2020-07-10]

What's new?

  • Use turbot workspace list to see a list of your currently configured workspaces.
  • turbot workspace configure added, with the same behavior as turbot configure.

Bug fixes

  • turbot test was failing for some GCP controls due to an update in the GCP auth library package. This has been fixed.

v1.18.0 [2020-07-10]

See v1.18.1

v1.17.3 [2020-05-21]

Bug fixes

  • turbot install was attempting to install the latest version, which would fail if that version was not available or recommended. It will now install the latest recommended version, or if none are recommended, the latest available version.

v1.17.2 [2020-05-11]

Bug fixes

  • The build of v1.17.1 was not properly published, leading to confusion and mixed installs. This release is identical, but properly distributed.

v1.17.1 [2020-05-07]

Bug fixes

  • Remove the explicit default value for force-recommended as this causes issues when using the yargs conflicts parameter.

v1.17.0 [2020-05-07]

What's new?

  • Mod authors often want to set their new version as RECOMMENDED in the registry, telling users it's the best choice. Use turbot publish --force-recommended and turbot modify --force-recommended to mark this version as RECOMMENDED and set all currently recommended versions to AVAILABLE.

Bug fixes

  • turbot test was showing incorrect test data validation errors, due to a graphql schema change that had not been handled by the CLI.

v1.16.0 [2020-04-30]

What's new?

  • turbot inspect now enforces valid semantic versions in mod version numbers. We admire your creativity, but encourage you to express it elsewhere.

Bug fixes

  • Fixed turbot up --zip, which broke during a dependency update.

v1.15.1 [2020-04-24]

Bug fixes

  • turbot login was failing if the ~/.config folder did not exist.
  • turbot template build was always expecting a wip-* instance branch to exist. It's now correctly limited to runs where --use-instance-root-branch is passed.

v1.15.0 [2020-04-22]

What's new?

  • Proxy support via the HTTPS_PROXY environment variable. Login, install mods and publish to our registry all via your favorite proxy. (Provided it's a http:// proxy, we don't support https:// yet.)

v1.14.0 [2020-04-17]

What's new?

  • Manage published mods in the registry from the CLI, including their status and description. For example turbot registry modify --mod "@turbot/aws" --mod-version "5.0.0" --status RECOMMENDED --description "updated description".
  • Usually a newly published version should be the recommended one. So now you can do that automatically during turbot publish using the --status RECOMMENDED flag.
  • turbot template build now supports instance root branch names with a random suffix, following the naming convention: wip/<instance root name>/*. We've found scheme much more effective at scale.
  • We now automatically include RELEASE_NOTES.md as well as CHANGELOG.md when building a mod. Release notes are intended for users while a changelog is intended for developers or others obsessed over details.
  • turbot test validates input query, but only works for a single query (not for the more advanced array of queries syntax). Previously the test would always fail for an array of queries, so we're now skipping the test in these cases until it can be fully supported.

Bug fixes

  • turbot publish --dir <mod folder> did not work if run outside the mod folder - the function zips were not correctly created.

v1.13.0 [2020-04-06]

What's new?

  • Registry login using turbot login (and similar) now requires both --username and --password or neither. They just can't live without each other.

Bug fixes

  • turbot template build --patch command was failing without running the git command.

v1.12.0 [2020-03-19]

What's new?

  • In turbot compose the +schema directive can now map from openApi format schema to valid JSON schema.

Bug fixes

  • turbot template build fleet operations were failing due to an error displaying the summary. This has been fixed.

v1.11.0 [2020-03-12]

What's new?

  • Use turbot test to check GraphQL mutations (e.g. updatePolicySetting) are called as expected from controls.
  • turbot compose no longer errors when a glob matches no source files.

v1.10.0 [2020-03-04]

What's new?

  • turbot publish --wait will wait for the mod to be Available in the registry.

v1.9.0 [2020-02-26]

What's new?

  • A new directive, +schema has been added for turbot compose. This allows you to include a specific item from a schema file, including all definitions which are referenced.
  • turbot template build will now run even if there are changes on the local branch, if neither the --use-fleet-branch or --use-instance-root-branch arguments are set. This is useful when running building templates for the first time with local config updated but not committed.

v1.8.0 [2020-02-24]

What's new?

  • turbot inspect --format changelog now includes the uri of each control, policy, resource and action item.

Bug fixes

  • turbot up was broken in 1.7.0. This has been fixed.
  • turbot pack and turbot publish had to be run out of the target mod directory. They can now be run out of any directory by passing the --dir flag

v1.7.0 [2020-02-23]

What's new?

  • turbot aws credentials now supports --aws-profile <aws_profile>, --profile <turbot_profile> and --access-key <turbot_access_key> --secret-key <turbot_secret_key> combinations.

Bug fixes

  • turbot test was doing type coercion of input data before validation. It now expects correct types to be passed, matching the behavior of the Turbot server.

v1.6.0 [2020-02-12]

What's new?

  • Use --no-color to simplify the output of any command. Sometimes less is more.
  • turbot template build --git --branch <branch-name> allows you to specify the branch the build operations will be committed onto.
  • turbot template build no longer supports the --config flag. Use template.yml files instead.

Bug fixes

  • turbot install was not downloading files. Now it does.
  • turbot template build was creating template.yml files for every template instance. This is noisy and defeats the value of template inheritence, so has been stopped.

v1.5.1 [2020-02-10]

Bug fixes

  • turbot template build --git should checkout the original git branch at the end of the build. Broken in v1.5.0.

v1.5.0 [2020-02-10]

What's new?

  • turbot template build --git now skips instances without a template-lock file, which cannot be resolved anyway.

Bug fixes

  • turbot up and turbot publish were stalling for large mods.

v1.4.1 [2020-02-07]

Bug fixes

  • turbot template build --git should checkout the original git branch at the end of the build. Broken in v1.4.0.

v1.4.0 [2020-02-06]

What’s new?

  • Clearer reporting of errors when running turbot template build.
  • turbot template build --fleet-mode now defaults to update, which is almost always the right choice.
  • When running turbot template build --git it is no longer necessary to specify a base git branch, it sensibly assumes you want to use the current branch.
  • Use turbot pack --zip-file awesome.zip to output mods with any name you prefer.

v1.3.1 [2020-02-05]

Bug fixes

  • turbot template outdated fixed to work with specific template definition directories.
  • Only save successful template operations to the branch when using turbot template build --git. Previously we were polluting that goodness with failures as well.
  • Limit template-lock.yml to data that is absolutely necessary, removing noise from change logs.
  • Disabled turbot template update. Please use turbot template build instead, as you probably already were.

v1.3.0 [2020-02-04]

What's new?

  • turbot inspect --output-format will now accept either a file path to the template or the template string directly.
  • Clearer output of the actions taken when running turbot template build.
  • Automatic code merging when doing updates with turbot template build will now merge successful changes onto a single branch and write failed patches to the filesystem for easier review.

v1.2.1 [2020-01-20]

Bug fixes

  • turbot template build has a special case "provider" field in the render context. Long term it will be removed. Short term, it should not break for vendor level mods like @turbot/aws or @turbot/linux.

v1.2.0 [2020-01-16]

What's new?

  • View and confirm turbot template build actions before they happen. (Add --yes to keep the previous behavior.)
  • Easily review success and failure after running turbot template build across many instances.

Bug fixes

  • turbot download will now give up gracefully on failed downloads, relieving it of an eternity of failed retries.

v1.1.1 [2020-01-13]

Bug fixes

  • Fix turbot template build crash added by v1.1.0.

v1.1.0 [2020-01-13]

What’s new?

  • Use turbot aws credentials --account 123456789012 --profile my-account to generate and save temporary AWS credentials into your local AWS profile. Easily work across many AWS accounts using your single Turbot profile.
  • Filter turbot template build to target all instances of a specific template, which is great when you are in the process of converting code to use the template (some code in template management, some still custom).

Bug fixes

  • turbot test was broken in v1.0.4 due to a missing dependency. Life is better with friends.

v1.0.4 [2020-01-07]

Bug fixes

  • turbot template should allow rendering of the filename as well as folder names, e.g. src/{{instance}}/resource/types/{{instance}}.yml.

v1.0.3 [2019-12-19]

Bug fixes

  • test.options are useful, but not required, so turbot test should not crash if they are not set for a test.

v1.0.2 [2019-12-19]

Bug fixes

  • Registry name validation should work for valid registries like turbot.com.
  • turbot test has a test.awsProfile field to set the AWS profile to use when running tests locally. This has been moved into the generic, customizable test.options.awsProile location since it's relevant to AWS mods specifically rather than a core feature of Turbot.

v1.0.1 [2019-12-18]

Bug fixes

  • The default registry is now turbot.com. Other development registries have been cleaned up to reduce noise.
  • Cleaned up available commands and their descriptions.

v1.0.0 [2019-12-18]

What's new?

  • Easily manage Turbot credentials and profiles.
  • Run graphql commands in scripts.
  • Install and inspect mods.
  • Build, compose & test Turbot mods.
  • Upload mods to Turbot for internal testing or use.
  • Publish mods to the Turbot registry for public sharing.
  • Use templates to accelerate the development of mods.