Skip to content

Latest commit

 

History

History
783 lines (490 loc) · 22.3 KB

CHANGELOG.md

File metadata and controls

783 lines (490 loc) · 22.3 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

2.16.0 - 2024-08-01

Added

  • Resolve parameters from stack outputs with non-camel-case names (#386)

2.15.0 - 2024-07-15

Changed

  • Always report at least a small fragment of the backtrace. (#381)

2.14.1 - 2024-03-07

Changed

  • Improve the error reporting from invalid format. (#379, #380).

  • Internal readability improvement. (#378).

2.14.0 - 2024-02-05

Added

  • Allow the use of commander major version 5 (#375).

  • Test on Ruby 3.3 in the CI build (#376).

  • Introduce user_data_file, user_data_file_as_lines, and include_file convenience methods to the YAML ERB template compiler (#377).

2.13.4 - 2023-08-02

Fixed

  • Resolve SparkleFormation template error caused by SortedSet class being removed from the set library in Ruby 3 (#374).

2.13.3 - 2023-02-01

Added

  • Test on Ruby 3.0, 3.1, and 3.2 in the CI build (#366, #372).

Changed

  • Pass an options hash to the AWS SDK, instead of keyword arguments (#371).
  • Widen the version constraint on the cfn-nag runtime dependency (#364). Allow >= 0.6.7 and < 0.9.0.

Fixed

  • Resolve Ruby deprecation: replace File.exists? with File.exist? (#372).

2.13.2 - 2022-01-25

Fixed

  • Add support for ActiveSupport 7 (#368)

2.13.1 - 2021-10-11

Changed

  • Avoid an API call to check account aliases if all allowed_accounts look like AWS account IDs (#363)
  • Provide a more contextual error message if fetching account aliases failed during allowed accounts check (#363)

2.13.0 - 2021-02-10

Changed

  • Use GitHub Actions for the CI build instead of Travis CI (#353).
  • Update cfn-nag requirement from ~> 0.6.7 to >= 0.6.7, < 0.8.0 (#354).
  • Templates compiled with cfndsl have a pretty format (#356).
  • Update cfndsl requirement from < 1.0 to ~> 1 (#356). The changes in version 1 are potentially breaking for projects using cfndsl templates.

2.12.0 - 2020-10-22

  • Added YAML/ERB support, allowing a YAML CloudFormation template to be pre-processed via ERB, with compile-time parameters. (#350)

2.11.0 - 2020-10-02

Added

  • Support for empty strings in compile time parameters.

2.10.0 - 2020-07-02

Added

  • A new command, stack_master nag, uses the open-source cfn_nag tool to perform static analysis of templates for patterns that may indicate insecure infrastructure
  • Print available regions if the specified stack is not available in the chosen one.

2.9.0 - 2020-06-24

Added

  • Added --timeout 120 option to drift command with a default of 2 minutes.

2.8.0 - 2020-06-24

Added

  • A new command, stack_master drift, uses the CloudFormation drift APIs to detect and display resources that have changed outside of the CloudFormation stack.

Changed

  • The diff in stack_master apply and stack_master diff has been improved to no longer display temporary file path context, and remove the empty newline

2.7.0 - 2020-06-15

Added

  • parameters_dir is now configurable to match the existing template_dir.
  • parameter_files configures an array of parameter files relative to parameters_dir that will be used instead of automatic parameter file globs based on region and stack name.
  • parameters configures stack parameters directly on the stack definition rather than requiring an external parameter file.

Fixed

  • JSON template bodies with whitespace on leading lines would incorrectly be identified as YAML, leading to diff issues. (#335)

2.6.0 - 2020-05-15

Changed

  • Replaced GPL-licensed colorize dependency with MIT-licensed rainbow gem (#333).

2.5.0 - 2020-05-08

Added

  • Include the license document in the gem package (#328).

  • Add an option stack_master validate --no-validate-template-parameters that disables the validation of template parameters (#331).

2.4.0 - 2020-04-03

Added

  • stack_master validate checks for missing parameter values (#323).

  • stack_master apply prints names of parameters with missing values (#322).

  • allowed_accounts stack definition property supports specifying account aliases along with account IDs (#325). This change requires the iam:ListAccountAliases permission to work.

Fixed

  • Error assuming role when default aws region not configured in the environment (#324)

2.3.0 - 2020-03-19

Added

  • Print backtrace when given the --trace option, for in-process rescued errors (#319). StackMaster::TemplateCompiler::TemplateCompilationFailed and Aws::CloudFormation::Errors::ServiceError are two such errors.

Changed

  • Load fewer Ruby files: remove several ActiveSupport core extensions and Rubygems requires (#318).

  • When a stack name includes a dash (-), the corresponding parameter files can have either dash, or underscore (_) in the filename (#321). stack_master init will use filenames that match the provided stack name.

Fixed

  • stack_master apply prints list of parameter file locations if no stack parameters files found (#316).

  • stack_master apply exits with status 1 if there are missing stack parameters (#317).

  • Don't print unreadable error backtrace on template compilation errors (#319).

Changed

  • Exit status is now managed by the StackMaster::CLI class rather than the stack_master binstub (#310). The Cucumber test suite can now accurately validate the exit status of each command line invocation.

  • Unpin and use the latest release of the commander gem (#314). This latest release includes fixes for the global option parsing defect reported in #248.

  • Speed up CI: Only run one build job on macOS (#315).

  • Add CAPABILITY_AUTO_EXPAND to support macros (#312).

Fixed

  • stack_master --version now returns an exit status 0 (#310).

  • delete, outputs, and resources commands now exit with a status 1 if the specified stack is not in AWS (#313).

  • The delete command now exits with status 1 if using a disallowed AWS account (#313).

2.1.0 - 2020-03-06

Added

  • stack_master tidy command (#305). This provides a way to identify unused parameter files or templates.

Changed

  • Updated README to be explicit about using underscores in parameter file names (#306).

  • Restrict sparkle_formation to version 3 (#307).

  • Build one gem for all Platforms (#309). This includes adding the diff-lcs gem as dependency. Previously, this was only a dependency for the Windows release.

2.0.1 - 2020-01-22

Changed

  • Pin cfndsl to below 1.0

2.0.0 - 2020-01-22

Added

  • Test against Ruby 2.7, (#296).

Changed

  • Some method calls changed to be explicit about converting hashes to keyword arguments. Resolves warnings raised by Ruby 2.7, (#296).
  • Bump the minimum required Ruby version from 2.1 to 2.4 (#297).

Removed

1.18.0 - 2019-12-23

Added

  • A change log document (#293).

  • Project metadata to the gemspec (#293).

  • Enable cross-account parameter resolving (#292)

Changed

  • Not updating RubyGems and Bundler in CI (#294)

  • Drop ruby 2.3 support in CI (#294)

1.17.1 - 2019-10-3

Fixed

  • Fix error when the EJSON secret key can't be found (#291).

1.17.0 - 2019-8-20

Changed

  • Move sparkle_pack_template from the stack definition to compiler_options (#289).

    stacks:
      us-east-1:
        sparkle_pack_test:
          template: template_with_dynamic_from_pack
          compiler: sparkle_formation
          compiler_options:
            sparkle_pack_template: true
            sparkle_packs:
              - my_sparkle_pack
  • Changed TemplateCompiler interface to take the template directory and the template (name), instead of the directory and the full path (#289).

Fixed

  • Improve SparkleFormation compiler specs. They were very brittle. Changed them to run SparkleFormation without stubbing it out (#289).

1.16.0 - 2019-8-16

Added

  • Enable reading templates from Sparkle packs (#286).

1.15.0 - 2019-8-9

Added

  • Add a parameter resolver for EJSON files (#264).

    my_param:
      ejson: "my_secret"

Fixed

  • Use the hashdiff's v1 namespace: Hashdiff (#285).

1.14.0 - 2019-7-3

Added

  • Add ability to restrict in which AWS accounts a stack can be applied in (#283).

Fixed

  • stack_master lint provides helpful instruction if cfn-lint is not installed (#281).

  • Fixed Windows build Docker image (#284).

1.13.1 - 2019-3-20

Fixed

  • stack_master apply exits with status code 0 when there are no changes (#280).

  • stack_master validate exit status code reflects validity of stack (#280).

1.13.0 - 2019-2-17

Fixed

  • Return non-zero exit status when command fails (#276).

1.12.0 - 2019-1-11

Added

  • Add --quiet command line option to surpresses stack event output (#272).

Changed

  • Add Ruby 2.6 to the CI matrix, and remove 2.1 and 2.2 (#269).

  • Test against the latest versions of Rubygems and Bundler in the CI build (#271).

Fixed

  • Output helpful error when container parameter provider finds no images matching the provided tag (#258).

  • Always convert underscores to hyphen in stack name in stack_master delete command (#263).

1.11.1 - 2018-10-16

Fixed

  • Display changeset before asking for confirmation (#254).

1.11.0 - 2018-10-9

Added

  • Add --yes-param option for single-param update auto-confim on apply (#252).

1.10.0 - 2018-9-14

Added

  • Pass compile-time parameters through to the cfndsl template compiler (#219).

1.9.1 - 2018-9-3

Fixed

  • Improve error reporting: print backtrace when template compilation fails (#251).

1.9.0 - 2018-8-24

Added

  • Add parameter resolver for identifying the latest container image in an AWS ECR (#250).

    container_image_id:
      latest_container:
        repository_name: "nginx"
        registry_id: "012345678910"
        region: "us-east-1"
        tag: "latest"

1.8.2 - 2018-8-24

Fixed

  • Fix stack_master init problem by including stacktemplates directory in the gem package (#247).

1.8.1 - 2018-8-17

Fixed

  • Pin commander gem to <= 4.4.5 to fix defect in the parsing of global options (#249).

1.8.0 - 2018-7-5

Added

  • Add parameter resolver for AWS ACM certificates (#227).

    cert:
      acm_certificate: "www.example.com"
  • Add lint and compile sub commands (#245).

1.7.2 - 2018-7-5

Fixed

  • Fix STDIN#getch error on Windows (#241).

  • Display informative message if stack_master.yml cannot be parsed (#243).

1.7.1 - 2018-6-8

Fixed

  • Display informative message if the stack has REVIEW_IN_PROGRESS status (#233).

  • Fix diffing on Windows by adding a runtime dependency on the diff-lcs gem (#240).

1.7.0 - 2018-5-15

Added

  • Add 1Password parameter resolver (#220).

    database_password:
      one_password:
        title: "production database"
        vault: "Shared"
        type: "password"
  • Add convenience scripts for building Windows release (#229, #230).

1.6.0 - 2018-5-11

Added

  • Add release for Windows (#228).

    gem install stack_master --platform x86-mingw32

1.5.0 - 2018-5-7

Changed

  • Include the stack name in the AWS Cloudformation changeset name (#224).

1.4.0 - 2018-4-19

Added

  • Add a code of conduct (#212).

Changed

  • Move from AWS SDK v2 to v3 (#222).

Fixed

  • Ensure SecureRandom has been required (#200).

  • Fix error when the oj gem is installed. Configure multi_json to use the json gem (#215).

  • Readme clean up (#218).

1.3.1 - 2018-3-18

Fixed

  • Support China-region S3 URLs (#217).

1.3.0 - 2018-3-1

Added

  • Support loading Sparkle Packs (#216).

1.2.1 - 2018-2-23

Added

  • Add an 'AWS SSM Parameter Store' parameter resolver (#211).

    stack_parameter:
      parameter_store: "ssm_name"

1.1.0 - 2018-2-21

Added

  • Support yaml file extension for parameter files. Both .yml and .yaml now work (#203).

  • Test against Ruby 2.5 (#206) in CI build.

  • Add license, version and build status badges to the readme (#208).

  • Add an environment parameter resolver (#209).

    db_username:
      env: "DB_USERNAME"
  • Make output more readable: separate proposed change set with whitespace and border (#210).

1.0.1 - 2017-12-15

Fixed

  • Don't leave behind failed changesets (#202).

1.0.0 - 2017-12-11

Added

  • First stable release!