Change log

v3.39.1

Released on 2021/12/12, (GitHub)

Bug fixes

  • Fix a bug that caused stacks marked as obsolete to be included in undeploy stacks operation if they depended on stacks chosen to be included in the undeploy operation.

v3.39.0

Released on 2021/12/11, (GitHub)

Features

Prune obsolete stacks

It's now easier to remove stacks that are no longer needed by marking them as obsolete and then executing the new prune stacks command (#327).

Improvements

  • Reviewing stacks to be deployed or undeployed now shows only the direct dependencies of the effected stacks. Previously, also transitive dependencies where shown, which caused the dependency list to become very long in larger projects with complex dependency graphs.

v3.38.1

Released on 2021/11/20, (GitHub)

This release includes only code refactoring and more tests.

v3.38.0

Released on 2021/11/05, (GitHub)

Features

Secret parameter resolver

With the new secret parameter resolver, you can use secrets stored in Secrets Manager as inputs for your CloudFormation stacks (#317).

This is an example of how you could use the secret parameter resolver in a stack configuration file:

parameters:
  DatabasePassword:
    resolver: secret
    secretId: my-password-secret

Read more from the docs.

v3.37.1

Released on 2021/11/03, (GitHub)

This release includes only code refactoring and more tests.

v3.37.0

Released on 2021/10/14, (GitHub)

Features

Extending Takomo project configuration files

It's now possible to make a Takomo project configuration file (takomo.yml) to inherit configuration from another file. Inheriting configuration becomes useful, for example, when you have a monorepo containing multiple Takomo projects, each having its own configuration and sharing some common properties with others. You can place the common properties in a parent file that others then inherit (#316).

You use the extends property to make a project configuration file inherit configuration from another file:

takomo.yml
extends: ../takomo.parent.yml

v3.36.0

Released on 2021/10/06, (GitHub)

Features

Load custom Handlebars helpers from additional directories

You can now specify additional directories from where Takomo loads custom Handlebars helpers by providing one or more directory paths to the helpersDir property of Takomo project configuration. The paths can be either absolute or relative to the current project directory (#276).

Read more from the docs.

v3.35.2

Released on 2021/09/29, (GitHub)

Bug fixes

  • Fix a bug that caused the stacks deployment order to go wrong in some cases where there was inter-region dependencies between stacks, (#312).

v3.35.1

Released on 2021/09/26, (GitHub)

Improvements

  • Improve AWS API invocations and handling of concurrent operations

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.

Last updated