Change log

v3.35.0

Released on 2021/09/21, (GitHub)

Features

Expect no changes to stacks when deploying

You can now invoke deploy stacks, deploy targets and bootstrap targets commands with --expect-no-changes option which causes the operation to fail if at least one of the targeted stacks would have changes. This is useful, for example, if you have made some clean-up to your local configuration and want to make sure that you have not unintentionally introduced some infrastructure changes (#308).

Bug fixes

  • Fix loading of stacks when the target regions has more than 100 stacks (#307).

v3.34.1

Released on 2021/09/20, (GitHub)

Improvements

  • Previously, Takomo could not update a stack if its status was ROLLBACK_FAILED. Now, if Takomo encounters stacks with ROLLBACK_FAILED status, it attempts to delete the failed stack, and if that succeeds, proceeds to deploy the stack normally).

Bug fixes

  • Fix texts shown on confirm deployment targets operation prompt

v3.34.0

Released on 2021/09/17, (GitHub)

Improvements

  • Previously, Takomo could not update a stack if its status was UPDATE_ROLLBACK_FAILED. Now, if Takomo encounters stacks with UPDATE_ROLLBACK_FAILED status, it attempts to continue rollback, and if that succeeds, proceeds to update the stack normally (#302).

v3.33.2

Released on 2021/09/15, (GitHub)

Small improvements.

v3.33.1

Released on 2021/09/12, (GitHub)

Features

New CLI command: list stacks in organization accounts

You can now use a new CLI command to list CloudFormation stacks from accounts that belong to your AWS organization.

List stacks from every account.

tkm org accounts list-stacks --config-set-type standard

List stacks from accounts that belong to the Root/Workload organizational unit.

tkm org accounts list-stacks ROOT/Workload --config-set-type standard

List all stacks from accounts 123456789012 and 210987654321

tkm org accounts list-stacks \
-a 123456789012 210987654321 \
--config-set-type standard

For more information, see the documentation.

Choose which config set and command path to use when deploying stacks to accounts

Two new options added to CLI commands that deploy or undeploy stacks from accounts that belong to your AWS organization.

  • --config-set <config-set>

    • Include only this config set.

  • --command-path <command-path>

    • Include only this command path. Using this option requires that also --config-set is used.

These options are supported in the following commands:

v3.32.0

Released on 2021/08/26, (GitHub)

Improvements

  • Optimize deploying of stacks to minimize AWS API throttling that can occur in larger projects.

Bug fixes

  • Fix bug that prevented recreating failed stacks that have termination protection enabled (#293).

v3.31.2

Released on 2021/08/24, (GitHub)

Improvements

  • Optimize loading of currently existing stacks to speed up commands: deploy stacks and detect stack drift (#288).

v3.31.1

Released on 2021/08/23, (GitHub)

Improvements

  • Optimize loading of currently existing stacks to speed up the list stacks operation in larger projects.

v3.31.0

Released on 2021/08/17, (GitHub)

Features

New configuration property: Infer deployment target's name from its configuration file name

A new property inferDeploymentTargetNameFromFileName is now available in the configuration of the filesystem deployment target repository used to load deployment targets from the local filesystem. You can use it to instruct Takomo to infer deployment target names from their configuration files' names. Read more from the docs.

Bug fixes

  • Fix a bug that prevented stack groups to inherit custom validation schemas from their parent.

v3.30.0

Released on 2021/08/16, (GitHub)

Features

New configuration property: inheritTags

By default, stacks and stack groups inherit tags from their parent stack group. You can now disable this behaviour by setting inheritTags to false (#282). Read more from the docs.

v3.29.0

Released on 2021/08/16, (GitHub)

Features

New hook: Checksum hook

You can use this new hook to calculate checksums from directories in your project. For example, suppose you have a lambda function with its source code located in some directory. In that case, you can calculate a checksum from the directory and all files located under it and use it to skip the lambda deployment if the sources have not changed. Read more form the docs.

Bug fixes

  • Fix a bug that caused stdout buffer to exceed when a shell command executed with the cmd resolver produced large amounts of output to the stdout (#279).

v3.28.0

Released on 2021/08/15, (GitHub)

Features

Skip stack deploy if a hook returns a skip signal

You can now implement a custom hook to decide whether the following stack operation should be skipped (#254). For example, you might use this new feature to skip a stack update if your stack has a lambda function, but its source code has not changed.

To indicate that the following stack operation should be skipped, you need to return an output object from your hook that contains skip: true.

hooks/my-skip-hook.js
const execute = (input) => {
// Some logic that determines if the stack operations should be skipped
const skipIsNeeded = isSkipNeeded()
return {
skip: skipIsNeeded,
success: true,
}
}
// Hook provider that initializes the hook
module.exports = {
type: "example",
init: (props) => ({ execute })
}

Read here how to implement custom hooks.

Bug fixes

  • Fix a bug that caused stdout buffer to exceed when a shell command executed with the cmd hook produced large amounts of output to the stdout.