# CHANGELOG

Categories: Added, Removed, Changed, Fixed, Nonfunctional, Deprecated

## Unreleased

## 3.2.1 (2023.06.20)
  - [Resolves #1358] Fix installer for version 3.2

## 3.2.0 (2022.09.20)

### Added
 - [Resolve #1225] Added Python 3.10 support (#1227)
 - Implemented a `sceptre dump config` command (#1220)
 - [Resolve #1224] Add --drifted option to `drift show` command (#1246)
 - [Resolve #1212] Conditional Stacks via "ignore" and "obsolete";
   `sceptre prune` command for cleaning up obsolete stacks (#1229)

### Changed
 - [Resolve #1225] Updating `troposphere` version for python 3.10 compatibility (#1226)
 - [Resolve #1225] Updating Sceptre to use importlib on Python 3.10 (#1240)

### Fixed
 - [Resolve #1218] Fixing false-diff reports when parameters end with linebreaks (#1219)
 - [Resolve #1236] Updating `networkx` to miticate CWE-502 (#1243)
 - [Resolve #1245] Updating `setuptools` version to address build failure (#1247)
 - [Resolve #1234] Bugfix to support empty var files (#1248)
 - [Resolve #1223] Fix crash when resolvers return lists of `None` (#1249)

### Nonfunctional
 - Added sponsors section to CONTRIBUTING.md (#1221)
 - Made unit tests run in parallel when running `make test-all` (#1231)
 - Removing awscli from CircleCI builds (#1232)
 - Updated sceptre-circleci docker image for Python 3.10 support (#1230)
 - Using CircleCI cache to speed up builds (#1242)

## 3.1.0 (2022.04.13)

### Added
 - [Resolve #1080] Added duration_seconds parameter to adopt DurationSeconds in boto (#1210)

### Changed
 - [Resolve #1203] Updating packaging requirement (#1211)

## 3.0.0 (2022.02.22)

### Breaking Changes
 - Python 3.6 support has been removed due to that version reaching end-of-life status
 - Jinja2 has been upgraded to v3.0

### Added
 - [Resolve #1114,#426] Resolvable stack_tags (#1184)
 - [Resolve #1114,#886,#491] Resolvable role_arn and template_bucket_name (#1153)
 - [Resolve #1114] Resolvable iam_role (#1188)
 - [Resolve #1114] Resolvable Template Handler configs and the !stack_attr resolver
 - [Resolve #1167] Add list stacks command (#1168)
 - [Resolve #1169] Add drift detect and drift show commands (#1170)

### Removed
 - [Resolves #1201] Remove Py3.6 support (#1206)

### Changed
 - [Resolve #1114,#1000] Placeholders for non-deployed stacks in non-deployment commands (#1185)

### Fixed
 - [Resolves #1201] Fix dependency conflicts (Jinja2, moto) (#1206)

### Nonfunctional
- [Resolves #1194] Docs: "know"->"knows" (#1195)
- docs: fix template path in getting-started (#1198)
- Fix spelling of stack_group_config (#1199)

## 2.7.1 (2021.12.06)

### Fixed

- [Resolve #1175] Adding commas for cfn-flip dependency (#1176)
- [Partially resolves #1174] Fixing Docs deployment by pinning Sphinx to lesser version (#1171)

### Nonfunctional

- Fix typo in CDK doc (#1181)
- Add release instructions (#1162)
- Resolve #1163 update doc link to new domain (#1166)
- Pointing SAM docs toward the sceptre-sam-handler (#1164)

## 2.7.0 (2021.11.18)

### Added

- [Resolve #966] Add support for J2 Environment configuration
- [Resolves #919] Add merge_keys option (#928)
- [Resolves #1064] Add feature list change-set --url (#1065)
- [Resolves #213] Add support for template handlers  (#1088)
- [Resolves #1106] S3 template handler jinja and python support (#1110)
- [Resolves #1124] http template handler (#1125)
- Set file as the default template handler type (#1127)
- Add retry and timeout to http template handler (#1145)
- [Resolve # 683] Introducing the Diff Command (#1132)

### Fixed

- [Resolves #813] Fix recursive config render (#1083)
- [Resolve #1096] Gracefully executing SAM Change sets (#1099)
- [Resolves 556] fix incorrect stack_output_external examples (#1109)
- [RESOLVE #946] Fixing bug preventing StackGroup dependencies (#1116)
- [Resolve #1138] Bugfix for j2_environments (#1137)
- [Resolve #1135] Fix path to templates (#1141)
- [Resolve #1143] fix "create" cmd with existing stack (#1144)
- [Resolves #1148] Correct path logic (#1149)

### Nonfunctional

- [Resolves #582] update imp to importlib (#1092)
- [Resolves #1090] Install troposphere as an extra package (#1104)
- [Resolves #1087] Add YAML document markers to template body (#1089)
- Stop hiding critical debug info in helpers (#988) (#997)
- [Resolves #1139] Provide useful info on invalid jinja file (#1142)

## 2.6.3 (2021.08.13)

### Fixed

- [Resolves #1078] Fix delete CLI dependency tree

## 2.6.2 (2021.08.02)

### Fixed

- [Resolves #1072] fix sceptre install for docker

## 2.6.1 (2021.07.30)

### Fixed

- Fix dependencies to install sceptre-file-resolver
- Consolidate pip requirements files

## 2.6.0 (2021.07.29)

### Added

- Doc: added docs to release workflow in .circleci/README.md
- Introduce an .editorconfig to sync common editor configuration across developer systems
- Update click version
- Update docker container to use Python 3.7
- Make the sceptre-resolver-cmd resolver a core resolver
- Make the sceptre-file-resolver a core resolver

### Removed

- Doc: Removed V1 docs

### Fixed

- [Resolves #1013] Fix virtual-hosted-style uri
- Remove unnecessary padding with sceptre output command
- Do not open a web browser during test
- Optimize Sceptre Start Time by only Processing Dependent Configuration Files
- [Resolves #1042] Fix OS path resolution on windows

## 2.5.0 (2021.05.01)

### Added

- Added support for python 3.8 & 3.9
- Support PEP-518 builds with pyproject.toml file
- Support before_create_change_set and after_create_change_set hooks
- Allow generate command to run hooks

### Removed

- Removed support for python 2.7 & 3.5

### Fixed

- Fix "sceptre list outpuuts" command
- Provide more info on config parsing errors

### Nonfunctional

- Removed Sonarqube
- Setup pre-commit linters and hooks
- General documentation updates

## 2.4.0 (2020.10.03)

### Added

- Support for hooks on create_change_set

### Fixed

- Selection of correct stack group based on exact name
- Execution of empty change sets

### Nonfunctional

- Added jinja example to documentation
- Fixed documentation typos
- Tidied documentation by removing unnecessary comments
- Remove documented support for Python 2.7

## 2.3.0 (2020.02.03)

### Added

- `iam_role` capability for `stack-config`
- Support for complex data for `resolvers` and `hooks`
- Hooks support for `launch` command

### Fixed

- Replace JSON with YAML as default Cloudformation format in documentation
- Broken cross-page references in documentation
- Jinja autoescape vulnerability
- Connection manager imports
- `rel_paths` for `_call_sceptre_handler` in `template.py`
- Linting as a side-effect of upgrading flake package

### Nonfunctional

- Add documentation clean target
- Clean up code blocks in documentation
- Clarify pip vs. Docker installation in documentation
- Fix documentation version links
- Add autocomplete doc for ZSH shell
- Update integration test instructions
- Allow to keep specific versions of documentation
- Keep version `1.3.4` and `1.4.2` active on github pages
- Fix formatting error in `terminology.rst`
- Upgrade Dockerfile to Alpine 3.10
- Improve error message for `stack_output` dependencies
- Improve `sceptre generate` formatting
- Unpinned some requirements to avoid conflict with other packages

## 2.2.1 (2019.08.19)

### Fixed

- `typing` install dependency for Python version < 3.5
- Race condition in stacks causing RecurrsiveGet exception

## 2.2.0 (2019.08.16)

### Added

- Meaningful Jinja Template exception output handling

### Fixed

- Recursion in `sceptre_user_data` becoming infinite
- AWS `rate_exceeded` error when hitting AWS API too frequently
- Readme links
- StackGraph debugging output

### Nonfunctional

- Moved CircleCI Dockerfile to its own repository
- Add SonarQube analysis
- Change CircleCI setup to use context over environment variables
- Removed redundant test code
- Add badges to README
- Adjust Coverage fail-level to 92%
- Update CONTRIBUTING Guide

## 2.1.5 (2019.06.28)

### Fixed

- Fix missing `Fn::Split` from CFN Functions in cli `generate`
- Fix Docker deploy latest image
- Fix setup.py supported programming language
- Fix CircleCI docs deploy to allow empty commits
- Fix CircleCI workflow to add docker build to tagged docker deployments

### Nonfunctional

- Fix README git conflict issues
- Add DockerHub repo link in README

## 2.1.4 (2019.06.26)

### Fixed

- CLI to use correct JSON formatting as default
- `sceptre generate` for non-trivial JSON and YAML
- Support for nested dicts in CLI `--var` flag
- Error handling for missing AWS credentials
- `stack_output` resolver windows path
- Stack update error hadnling
- Overwritten `project_code` in `stack_output` dependencies
- Typo in terminology documentation

### Nonfunctional

- Add Official Docker image and automatic DockerHub releases
- Change target git repository to deploy docs
- Officially support Python 3.7
- Update README documentation links

## 2.1.3 (2019.05.14)

### Fixed

- Fix `stack_name` for s3 upload in Windows environment.

## 2.1.2 (2019.05.09)

### Fixed

- Fix `stack_output` resolver recursion error.

## 2.1.1 (2019.05.01)

### Fixed

- Fix CLI list output export issue.

- Fix path separators between operating systems.

- Fix S3 uploads to support China regions.

### Nonfunctional

- Upgrade to PyYaml 5.1.

- Update custom hook docs.

- Improve documentation site.

## 2.1.0 (2019.03.01)

### Added

- Support for SAM templates.

- Improve handling of missing config attributes.

### Nonfunctional

- Update colorama dependency version.

- Fix circleci build

## 2.0.3 (2019.02.15)

### Fixed

- Fix ConfigReader to follow symbolic links.

- Fix output of `--output yaml` with Python objects.

- Fix CLI `update change-set` command.

### Nonfunctional

- Improve Documentation.

- Fix Migration Guide documentation on `tags` vs `stack_tags`.

- Improve formatting of CLI `--help` command.

- Update `six` dependency version.

## 2.0.2 (2019.01.10)

### Fixed

- Fix `write` method in `sceptre.cli.helpers` to better handle `yaml` and `json`
  output format.

- Fix `sceptre generate` in CLI so that it respects `--output` flag.

- Update `PyYaml` dependency version to fix `CVE-2017-18342`.

- Fix `--export` option for `sceptre list outputs` for setting environment
  variables.

### Nonfunctional

- Improve `sceptre.stack.Stack.__repr__()` so that objects and lists are not
  contained in strings.

- Remove duplicate timestamp from logging in `plan.actions`.

- Fix minor documentation typo in `stack_group_config.md` stack example.

- Remove redundant `status` self-assignment in `sceptre.plan.actions.launch()`

## 2.0.1 (2018.12.17)

### Fixed

- Fix `list` and `describe` cli output

- Fix circleci and Makefile config

- Fix accessing `command_path` as list in templates

- Fix adding implicit dependencies for `stack_output` resolver

### Nonfunctional

- Improve delete stack confirmation message

- Improve delete change set message

- Add newline in `cli.md` docs to format code block correctly

- Update docs for Custom Resolver `setup.py`

- Update Custom Resolver docs

- Clarify docs on stack_output resolver

## 2.0.0 (2018.11.30)

### Added

- Support for `stack_group_config` via the `Stack()` API.

- Support for accessing `stack_group_config` in Templates

- `--ignore-dependencies` flag to CLI and API.

### Removed

- `write()` from `sceptre.config.graph.StackGraph`

### Fixed

- Describe commands output formatting

- Website Page titles

### Nonfunctional

- Updated Project docs

- Updated Website Documentation

- Removed unnecessary string from CLI output

## 2.0.0rc1-2 (2018.11.22)

### Fixed

- Added missing `stack_group_config` attributes to Stack.

## 2.0rc1 (2018.11.21)

### Added

- StackGraph (5171ae0)

- SceptreContext (c17cfc5)

- SceptrePlan (ab38157)

- SceptrePlanExecutor (ab38157)

- Support for cross-StackGroup dependencies (0b104db)

- StackActions (e8e34e8)

### Removed

- Environments. Stacks & their relationships are now held in StackGraph
  (0b104db)

### Changed

- Config.yaml `template_path` attribute. By default Sceptre uses "templates" as
  the root directory for `template_path` so the user should not specify
  `templates/` as part of the `template_path` attribute (0b104db)

- Update docstrings (0b104db)

- Stack class. The functions available to Stacks are stored in StackActions
  (0b104db)

### Nonfunctional

- Updated project documentation such as README (0b104db)
- Changed project cocs to use Markdown format (README, CHANGELOG, CONTRIBUTING)
  (0b104db)

## 1.4.2 (2018.09.11)

- Fix Config dict merge strategy returning None

## 1.4.1 (2018.08.22)

- Fix KeyError when merging configs

## 1.4.0 (2018.08.02)

- Update Click and PyYaml dependency versions
- Improve delete-change-set output message
- Add stack configuration merging strategies
- Add AMI Resolver to contrib/
- Fix launch environment dependency path
- Add error message for non-leaf environments
- Add KMS resolver to contrib
- SSM resolver to contrib
- Improve error handling in CLI and StackOutput
- Amend linting for integration tests and docs
- Decrease the number of circleci parallel runs
- Update Jinja dependency version to `<=2.8`
- Add ".template" as allowed file extensions for templates
- Add bash-completion script to contrib
- Add a contrib directory for non-core community contributions
- Update docs Makefile
- Add HTML title header and icon to docs

## 1.3.4 (2018-02-19)

- Fixed CircleCi PyPi Deployment
- Update Boto3 requirements

##1.3.3 (2018-02-19)

- Released in Error. Contained breaking changes from v2. Fixed in 1.3.4.

## 1.3.2 (2017.11.28)

- Improving stack dependency resolution.
- Improving CLI output for validate template command.
- Consolidating pip requirements files.
- Fixing Python 3 support.
- Fixing documentation typos.

## 1.3.1 (2017.10.23)

- Removing sceptre diff command.
- Adding support for the stack notifications attribute in stack config.
- Fixing bug which caused session re-creation on every boto call.

## 1.3.0 (2017.10.16)

- Re-adding the ability to specify credential profile in the environment config.
- Adding init project command to help initialize a new Sceptre project.
- Adding init env command to help initialize a new Environment config.
- Adding diff command to display differences between the local and deployed
  stack template.
- Fixed error message displayed for empty environments.
- Adding `environment_config` to config template rendering.
- Adding `on_failure` parameter to stack config.
- Adding automatic renewal of expired credentials when assuming IAM Roles.
- Deprecating use of `bash` hook in favour of `cmd` hook.
- Deprecating use of `asg_scheduled_actions` hook in favour of
  `asg_scaling_processes` hook.
- Adding status colouring for output of describe-env command.
- Fix spelling mistakes in documentation.

## 1.2.1 (2017.7.21)

- Changing Jinja rendering for templates only with '.j2' extension.
- Fixing broken links in documentation website.
- Updating references to Python templates instead of Troposphere templates.

## 1.2.0 (2017.7.14)

- Increasing maximum number of boto call retires from 5 to 30.
- Adding support Jinja rendering for stack templates.
- Adding stricter requirements for existing stack state when launch
  environments.
- Adding `cmd` hook for better cross platform support.
- Adding documentation around architecture of Sceptre projects.
- Adding versioned documentation.
- Improving documentation formatting.
- Fixing path error bug when using environment level commands on Windows.
- Fixing bug to correctly throw an AtrributeError in a Python stack template.

## 1.1.2 (2017.5.26)

- Fixing bug for `protect` in stack config.

## 1.1.1 (2017.2.29)

- Respect --dir when loading custom resolvers and hooks.

## 1.1.0 (2017.3.3)

- Include Scope in `update-stack-cs` output.
- Updates to documentation.

## 1.0.0 (2017.1.31)

- Removing deprecation notices.
- Updating documentation.

## 0.50.0 (2017.1.24)

- Changing syntax used for resolvers and hooks in config files.
- Deprecating use of `sceptre_get_template` function in Troposphere templates.
- Deprecating the accessing of Troposphere templates returned from
  `sceptre_get_template`.
- Deprecating the accessing of Troposphere templates from the global variable
  `t`.
- Deprecating the global variable `SCEPTRE_USER_DATA`.
- Adding support for `sceptre_handler` function in Troposphere templates.
- Adding support for pure CloudFormation JSON strings returned by
  `sceptre_handler`.
- Adding support for `sceptre_user_data` passed to `sceptre_handler`.
- Fixing bug in update-stack-cs.
- Adding project-variables resolver.

## 0.49.1 (2017.1.6)

- Adding documentation for CloudFormation Service Role.

## 0.49.0 (2017.1.6)

- Updating documentation on hooks.
- Adding support for CloudFormation Service Role.
- Adding support for custom stack names.
- Removing (before|after)\_launch hook.
- Changing documentation styling.
- Adding Python 3 support.
- Adding --verbose argument to describe-change-set.
- Adding support for launching stacks without uploading the template to S3.
- Adding a FAQ section on `parameters` vs `sceptre_user_data`.
- Adding support for CloudFormation template written in YAML.
- Bumping boto3 requirement.
- Adding more intuitive delete stack message.
- Removing profile.
- Fixing a multithreading bug.
- Improve CLI UX by printing only an exception's message, not the whole stack
  trace.
- Adding environment path check.
- Refactoring out code that fetches stack status.

## 0.48.0 (2016.12.5)

- Fixing StackStatusColourer: UPDATE_FAILED wan't coloured.
- Fixing bug from uploading templates to S3 from Windows.
- Improving exception thrown when a user tries to use the stack output resolve
  on a stack with no outputs.

## 0.47.0 (2016.12.1)

- Launch now deletes stacks in the CREATE_FAILED or ROLLBACK_COMPLETE states
  before re-creating them.
- Adding support for Troposphere<1.10.0.

## 0.46.0 (2016.11.11)

- Adding support for multiple environments.
- Speeding up integration tests.
- Switching to CircleCI for continuous integration and deployment of
  documentation.
- Changing template S3 key to use a UTC timestamp rather than seconds since
  epoch.
- Changing update-stack-cs to delete the change set by default.
- Stopping appending region to template bucket name.
- Refactoring logger.
- Changing exception names from <Name>Exception to <Name>Error.
- Publishing development docs to http://sceptre-dev.ce-tools.cloudreach.com/.

## 0.45.0 (2016.08.25)

- Adding support for Troposphere 1.8.
- Adding stack protection support.
- Adding support for allowing Troposphere templates to import modules from
  parent directories.
- Adding documentation section for IAM role setup.
- Fixing bug in update-wth-cs command.

## 0.44.0 (2016.08.5)

- Adding require_version.
- Renaming --machine-readable to --output.
- Refactoring hook.py.

## 0.43.4 (2016.08.2)

- Improving logging.

## 0.43.3 (2016.08.2)

- Updating CONTRIBUTING.rst.

## 0.43.2 (2016.08.1)

- Fixing multithreaded S3 bucket create bug.

## 0.43.1 (2016.08.1)

- Deprecating the CLI flags --iam-role, --profile, --region.

## 0.43.0 (2016.08.1)

- Adding machine readable output support.

## 0.42.0 (2016.08.1)

- Adding support for CAPABILITY_NAMED_IAM.

## 0.41.0 (2016.07.28)

- Adding Resolver support for sceptre_user_data.

## 0.40.0 (2016.07.28)

- Adding plugin support for Parameter Resolvers and Hooks.

## 0.39.2 (2016.07.21)

- Fixing exit status bug.

## 0.39.1 (2016.07.15)

- Updating requirements.

## 0.39.0 (2016.07.15)

- Add sceptre_hooks.
- Add builtin suspend and resume asg scaling actions.

## 0.38.4 (2016.07.14)

- Adding deprecation warning for --profile, --region, --iam_role.

## 0.38.3 (2016.07.14)

- Combining account_id and iam_role into a single parameter, iam_role, which is
  now the ARN of the IAM Role to assume.
- Fixing bug in integration tests.

## 0.38.2 (2016.07.14)

- Updating docs.

## 0.38.1 (2016.07.14)

- Updating docstrings.

## 0.38.0 (2016.07.14)

- Removing autocomplete as it broke integration tests.
- Fixing integration tests.

## 0.37.0 (2016.07.13)

- Adding the ability to tag stacks created by Sceptre.

## 0.36.0 (2016.07.12)

- Adding templating support to config files.

## 0.35.1 (2016.07.12)

- Fixing permissions on autocomplete files.

## 0.35.0 (2016.07.12)

- Sceptre now encrypts templates uploaded to S3 using AES256 by default.

## 0.34.0 (2016.07.12)

- Adding autocomplete support for bash and zsh.

## 0.33.0 (2016.07.11)

- Specify sceptre directory via --dir flag.

## 0.32.0 (2016.07.11)

- Refactoring how parameters are handled internally.
- Adding stack_output_external resolver.
- Adding the ability to explicitly specify dependencies.

## 0.31.0 (2016.07.11)

- Adding sceptre-update-cs.

## 0.30.0 (2016.07.08)

- Tail stack events for sceptre execute-change-set.
- Added formatted output for sceptre describe-change-set.

## 0.29.1 (2016.07.08)

- Fixing CI bug in 0.29.0.

## 0.29.0 (2016.07.08)

- Adding automatic support for no-colour'ed output.

## 0.28.0 (2016.07.07)

- Adding --no-colour flag.

## 0.27.2 (2016.07.07)

- Updating docs to add get-stack-policy and set-stack-policy.

## 0.27.1 (2016.07.07)

- Patching unittests and lint from previous release.

## 0.27.0 (2016.07.07)

- Adding get-stack-policy and set-stack-policy.

## 0.26.1 (2016.07.06)

- Changing ConfigReader object to Config object.

## 0.26.0 (2016.07.06)

- Adding more integration tests.

## 0.25.1 (2016.07.05)

- Fixing UnrecognisedHookTaskTypeException import in hook.py.

## 0.25.0 (2016.07.05)

- Adding describe-env command.

## 0.24.1 (2016.07.05)

- Updating documentation.

## 0.24.0 (2016.07.04)

- Ability to specify the region via the cli.
- Ability to specify a profile via the cli or config.yml.
- Ability to specify a role via the cli.
- Skip role assume when no role is specified in config.yaml or via the cli.

## 0.23.1 (2016.06.30)

- Moving upload_template_to_s3 into the Template object.

## 0.23.0 (2016.06.30)

- Adding support for the cascading of <stack_name>.yaml files.
- Moved --debug flag to be after sceptre keyword (\$ sceptre --debug <command>).
- Refactor how config is handled internally.
- Lazy load stack config and templates.

## 0.22.1 (2016.06.28)

- Adding dependency resolving to create-change-set.

## 0.22.0 (2016.06.27)

- Adding hooks.

## 0.21.2 (2016.06.24)

- Refactoring connection_manager.

## 0.21.1 (2016.06.14)

- Fixing bug in template.py.

## 0.21.0 (2016.06.14)

- Adding sceptre describe-stack-outputs command.

## 0.20.0 (2016.06.14)

- Switching from TROPOSPHERE_DATA to SCEPTRE_USER_DATA.
- Switching from configure to PyYaml.
- Fixing a print stack events error.

## 0.19.0 (2016.06.8)

- Adding Boto3 call retries when request limits are hit.

## 0.18.2 (2016.06.2)

- Removing a potential race condition when storing templates in S3.

## 0.18.1 (2016.05.27)

- Tidying up method names in the Stack() object.

## 0.18.0 (2016.05.26)

- Moving to using threading to launch/delete environments.
- Create/update/launch/delete commands now return non-zero if the command fails.

## 0.17.0 (2016.05.10)

- Adding basic integration tests.

## 0.16.1 (2016.05.9)

- Bumping to Troposphere 1.6.0.

## 0.16.0 (2016.05.4)

- Switching from Docopt to Click, improving support for use as a Python module.

## 0.15.3 (2016.04.21)

- Bumping boto3 dependency version to 1.3.1.

## 0.15.2 (2016.04.21)

- Defend against troposphere_data being a string in yaml.

## 0.15.1 (2016.04.14)

- Moving exceptions into their own file, `exceptions.py`.

## 0.15.0 (2016.04.14)

- Support for automatic reading in of arbitrary files.

## 0.14.1 (2016.04.14)

- Refactor `workplan.py`.

## 0.14.0 (2016.04.11)

- Adding change set support.

## 0.13.3 (2016.04.11)

- Moving dependency resolver code from `workplan.py` to `stack.py`.

## 0.13.2 (2016.04.7)

- Refactoring `stack.py`.

## 0.13.1 (2016.04.7)

- Improving troposphere template not found exception.

## 0.13.0 (2016.04.6)

- Adding `$ sceptre --version`.

## 0.12.1 (2016.04.6)

- Hiding internal class names.

## 0.12.0 (2016.04.6)

- Adding support for reading in environment variables for use as CloudFormation
  parameters.

## 0.11.0 (2016.03.31)

- Adding `continue-update-rollback` command.

## 0.10.2 (2016.03.31)

- Refactoring ConfigReader.

## 0.10.1 (2016.03.31)

- Updating documentation.

## 0.10.0 (2016.03.31)

- Adding Troposphere data injection support.

## 0.9.1 (2016.03.21)

- Minor refactor.

## 0.9.0 (2016.03.21)

- Adding --debug option.

## 0.8.2 (2016.03.21)

- Adding date time to printed out stack events.

## 0.8.1 (2016.03.21)

- Fixing bug in generate-template.

## 0.8.0 (2016.03.21)

- Sceptre now prints out stack events as stacks are being launched or deleted.

## 0.7.1 (2016.03.18)

- Refactoring interactor commands.

## 0.7.0 (2016.03.17)

- Adding lock-stack and unlock-stack commands.

## 0.6.3 (2016.03.16)

- Adding improved error handling for when users enter incorrect stack names.

## 0.6.2 (2016.03.16)

- Adding improved error handling for when users enter incorrect environment
  paths.
- Refactoring config_reader

## 0.6.1 (2016.03.15)

- Updating documentation.

## 0.6.0 (2016.03.15)

- Adding support for user-defined config directory structure.

## 0.5.1 (2016.03.10)

- Sceptre waits after checking a stack's status. This update drops the wait time
  from 3s to 1s.

## 0.5.0 (2016.03.10)

- Adds sceptre validate-template <env> <stack_name> command.

## 0.4.0 (2016.03.10)

- Sceptre now creates, updates and launches stacks from a template it uploads to
  s3.

## 0.3.2 (2016.03.10)

- Fixing create_bucket for region us-east-1.

## 0.3.1 (2016.03.10)

- Sceptre removes trailing slash from template_bucket_name.

## 0.3.0 (2016.03.09)

- Sceptre now appends time since epoch to uploaded JSON template names.

## 0.2.0 (2016.03.09)

- Sceptre now appends region to supplied bucket name.

## 0.1.3 (2016.03.08)

- Adding support for subdirectories in the template_bucket_name param.

## 0.1.2 (2016.03.08)

- Updating Troposphere to version 1.5.0.

## 0.1.1 (2016.03.08)

- Updating tox to only support Python 2.6 versions > 2.6.9.

## 0.1.0 (2016-03-07)

- Changing how parameter chaining is stated in yaml files.

## 0.0.1 (2015-12-13)

- First release.
