All notable changes to this project will be documented in this file. For change log formatting, see http://keepachangelog.com/
- 🐛 Additional
list=>selecttypes
- 🐛
list=>selecttype in inquirer prompts to support multi-select parameters
- 🐛
list=>selecttype in inquirer prompts to support multi-select parameters
- 🚀 Improved NoEcho support
- 🚀 Update to Typescript@6
- 🎉 Add support for Drift Aware Changesets
- 🚀 Release process fixes
- 🚀 Additional TypeScript migrations and type exports
- 🐛 Switch to new S3 REST API to support regions created after 2022
- 🐛 Publish generated declaration files from dist and point package metadata at them
- 🐛 Re-export documented root module APIs for consumers using named imports
- 🐛 Ensure UpdatePreamble also fills description
- 🐛 Ensure Description cannot be empty
- 🚀 Parse and post description field
- ⬆️ Update to latest deps
- 🎉 Internal support for Cloudformation Descriptions
- 🚀 Update to Flat ESLint Config
- 🚀 Use AWS Cloudformation types where possible
- ⬆️ Update to latest deps
- 🐛 Fix TS build to JS
- 🐛 Fix TS build to JS
- Update all AWS library usage to use the V3 API
- Rewrite entire library in TypeScript
- Drop CLI support because I don't use it and only have so many hours in a day - use @openaddresses/deploy for the same thing but bettetw
- Include CFN Streams in this repo and migrate it to the AWS-SDK@3
- Remove CUID in favour of node:crypto.randomUUID
- Update to @openaddresses/s3urls to support GovCloud regions
- Request Processed Template if Original Fails to Parse
- General base dep update
- Add the
cancelsubcommand to rollback an actively updating deploy
- General base dep update
- Add support for cli
--tagsarg for specifying CF stack tags - Add support for specifying stack level tags
--config-bucketis now--config_bucket--template-bucketis now--template_bucket- CloudFormation templates must now either be JSON or CommonJS Modules with
export default(No require/module.exports)
- Update all internal & external APIs to use Promises
- Refactor internals to use classes & ES6 syntax
- Drop support for nodejs < 16
- Update
promptmodule to use promises internally
- Update Meow to v7.1.1
- Pins
colorsdependency to version 1.4.0.
- Adds an
--expandflag to enableCAPABILITY_AUTO_EXPANDon changeset generation.
- Template lookups always get the
Originaltemplate stage. This means that the template diff will compare your new template with the existing template before CloudFormation transforms and macros were applied to it.
- When a stack parameter value is not changed, then
UsePreviousValueis set totruein CloudFormation UpdateStack API calls. - This solves a bug where template parameters defined with
NoEcho: truewould see their values replaced by****during an update. - Updates the aws-sdk-js.
- Remove unintended
trueoutput on successful command completion.
- When a template would be too large for CloudFormation, remove excess indentation and whitespace to try and stay under the limit.
- Added support for china regions other than cn-north-1
- Updated error message on stack monitoring failure
- Updated nyc and eslint dev-dependencies
- Updated version of cfn-stack-event-stream reduces the number of Cloudformation API requests made during stack creation and update.
- Create stacks via CloudFormation ChangeSets instead of CreateStack API
- Remove unused internal functions
commands.operations.createStackactions.createactions.update
- Allow template body as parameter to create/update
- Upgrades all depencies to latest versions. Ensures compatibility with Node 6 and Node 8.
- Fixes a bug in changeset polling / pagination that could result in duplicate console output
- Add support for
UPDATE_ROLLBACK_COMPLETEstatus in Cloudformation events
- Use stack's AWS region when looking up config bucket location
- Implement the possibility of external parameter validation: mapbox#157
- Implement pagination in describeChangeset
- Update prompt.confirm function to allow y/n option to default to No
- Default stack update & delete confirmation to No
- Print notice when parameter changes are auto-confirmed
- specifies region for GetBucketLocation call during
commands.create
- Automatically save stack configurations to S3 after create or update.
- Adds support for
overrides.preapproved. Providing this object allows a higher-level function to prevent cfn-config from prompting the user to confirm changes that have already been confirmed in another region.
- Adds support for
DELETE_SKIPPEDstatus in CloudFormation events printed after an update or delete.
- Adds
skipPromptParameters,skipConfirmParametersandskipConfirmTemplateflags to skip individual prompt operations.
- Adds
.preauth()method, allowing you to provide a set of AWS credentials to be used in subsequent calls to cfn-config functions.
- Fix fetching more than 100 stack resources in lookup.getResorces by using listStackResources instead of describeStackResources
- Internal: move test aws mocking to @mapbox/mock-aws-sdk-js
- Assure stable template diffs
- Avoids re-encryption of
secure:variables that are specified in a master config file
- Add
--parametersflag to cfn-config command for providing stack parameters as JSON
- Fixes a bug in displaying the differences in templates during an UpdateStack command
- Bump to 2.0.0 version of Inquirer
- Adds optional
overrides.metadataoption for setting arbitrary Metadata key/value pairs on a CloudFormation template.
- Package is on @mapbox namespace
- Includes new Cloudformation capabilities(mapbox#126)
- V4 signatureVersion on aws-sdk requests
- Specifying a masterConfig will replace default (oldParameters) values
- Add recognition + color-coding for previously unrecognized CloudFormation ROLLBACK states
- Changes s3 templateUrl for
cnregion to use a.instead of a-
- Commands that are aborted by the user (e.g. a rejected diff) will provide
falseas the second argument the callback function. If the command was entirely completed,truewill be provided.
- Update region handling of S3 URLs for dash syntax. Fixes deploys to
eu-central-1
- Adds
--decryptflag toinfocommand and related APIs to decrypt secure stack parameters.
- Fixes a bug in parameter prompting where a saved configuration that specifies a default value outside the parameter's allowed values caused a crash.
- During update, ignore overridden parameters that aren't in either the old or new template
- Fix a bug where region for KMS encryption was not passed properly
- BREAKING Rewritten from the ground up.
- Fix bug with template diff
- Remove Config file prompt when updating a stack
- Update to
json-difffor colored diff output
- Support for AWS China
cfn-dumpoutputs template to stdout.
- BREAKING Change
readFilemethod to accept a single options object and a callback. - Support asynchronous javascript templates.
- Added
readSavedConfigmethod
- fix template path resolution bug in writeConfiguration
config.resolveTemplatePathUses correct prefix to find the.cfn.jsonfiles
cfn-update -fchecking improved, no longer overriddes other options in othercfn-configcommands likecfn-create -c -fcfn-deleteoutputs full progress
- Fix
writeConfigurationto use bucket region
- Fix to find cfn templates on s3 if local template is either name.template.js or name.template
- Pass
configDetailstobeforeUpdatefunctions so that they can use future config in their actions
- Respect
options.forcein updateStack to allow for non-interactive stack updates (CI testing) - Fix bad logic in parameter comparison between null and falsey values
- Fix undefined variable from change in 0.7.0
- Look for AWS_ACCOUNT_ID environment variable before calling IAM.GetUser
- Support JS module templates using the
.jsextension
- config.config.updateStack optionally takes a beforeUpdate function
- config.stackInfo returns Region
- Bump aws-sdk to v2.1.7