1.10.1 - 2021-10-27
- Upgraded to python-json-logger 2.0+
- Fixed json logger format as per #251
1.10.0 - 2021-10-04
- Updated to chaostoolkit-lib 1.22+ to support new
dryflag - Updated release workflow to remove duplicate
needsproperties
-
Added
.github/workflows/check_pr.yamlwhich checks if a PR has modified the CHANGELOG.md and if it changed/added tests -
Moved
pip install --upgrade pip setuptools wheelstep frominstall-devtoinstallin the Makefile -
Updated
.github/workflows/check_pr.yamlto check that bothCHANGELOG.mdandchaostoolkit/__init__.pyget updated in line with a new version -
Updated
Makefileto specifypython3instead ofpython -
Added dry run options:
--dry=activitiesruns all activities as dry run. (same as the old flag)--dry=actionsruns all actions as dry run.--dry=probesruns all probes as dry run.--dry=pauseruns all activities with no pausing.
1.9.6 - 2021-08-26
- Actually update the version of the lib on release
1.9.5 - 2021-08-26
- Fixed version extracting in
setup.py
1.9.4 - 2021-08-26
- Bump version of
chaostoolkit-libto~=1.21 - Switched from pycodestyle/pylama to
black,flake8,isort - Update CI builds to build, lint, and test
- Applied
black,flake8, andisortacross the codebase - Ran
pyupgrade --py36-plus
1.9.3 - 2021-08-24
- Fixed typo in
chaos initprompt fromreognisedtorecognised - Changed
--hypothesis-strategymethodcontinouslytocontinuously - Changed
Scheduleparameter fromcontinous_hypothesis_frequencytocontinuous_hypothesis_frequency - Changed other minor typos
1.9.2 - 2021-08-16
- Add
.github/workflows/close_stale_issues.yamlto mark Issues stale after365days Also closes them after7days of beingStale
- Dockerfile now requires
--build-arg ctkversion=<version>when building .github/workflows/release.yamlnow uses a retry step for Docker builds to ensure we don't lose a race condition between PyPi and our build step
1.9.1 - 2021-05-31
- Fixed
--varand--var-filearguments parsing by addition of missing return intovalidate_varsfunction
1.9.0 - 2021-02-18
- Remove Python 3.5 support. Requires 3.6 at least now until end of 2021 when Python 3.6 reaches EOL.
1.8.1 - 2021-02-17
LAST VERSION SUPPORTING PYTHON 3.5
- Updated build scripts to support latest setuptools to build package properly
1.8.0 - 2021-02-17
- Updated pyyaml to due to CVE-2020-14343 #206
- Pinning Chaos Toolkit lib to strictly less than 1.19.0 as it'll be the last one supporting Python 3.5 #194
- Moved to setup.cfg to manage build
1.7.1 - 2020-11-03
- Pass extra variables down to the runner for substitution chaostoolkit-lib#192
1.7.0 - 2020-09-07
- Add the
--hypothesis-strategyflag to theruncommand. It defines how the steady-state hypothesis is applied. One of:defaultis the classic mode where the hypothesis is run before and after the methodbefore-method-onlyruns the hypothesis once only before the methodafter-method-onlyruns the hypothesis once only after the method. This is useful when you know your environment is not in the appropriate state before the conditions are appliedduring-method-onlyruns the hypothesis repeatedly during the method but not before nor aftercontinouslyruns the hypothesis repeatedly during the method as well as before and after as usual
- Add the
--hypothesis-frequencyflag to theruncommand. This flag is only meaningful with--hypothesis-strategy=during-method-only|continously. It takes a floating number indicating how many seconds to wait between two executions of the hypothesis - Add the
--fail-fastflag to theruncommand. This flag is only meaningful with--hypothesis-strategy=during-method-only|continously. If set, this indicates the experiment should be marked as deviating immediately. When not provided, the hypothesis runs until the end of the method without terminating the experiment
- Bump dependency on chaostoolkit-lib to 1.13.0 to support the steady state strategy
1.6.0 - 2020-08-17
- The
--varand--var-fileflags to override values in the configuration, and secrets for var files, blocks of the experiments. They take precedence for inlined values and allow to have data files managed externally to the experiment itself when environment variables are not an option for example. #175
1.5.0 - 2020-07-06
-
Commands to get/set/remove an entry from the settings as well as show the settings file entirely #65
-
Rollbacs runtime strategy flag #176
Backwars compatible default strategy to run the rollbacks. This will run unless of a failed probe in the hypothesis or when a control interrupted the experiment (not passing the flag is equivalent to this):
$ chaos run --rollback-strategy=default experiment.jsonAlways run the rollbacks:
$ chaos run --rollback-strategy=always experiment.jsonNever run the rollbacks:
$ chaos run --rollback-strategy=never experiment.jsonRun the rollbacks only when deviated:
$ chaos run --rollback-strategy=deviated experiment.json
1.4.2 - 2020-04-29
- New flag
--no-verify-tlstochaos runandchaos validatecommands; it disables TLS certificate verification when source is downloaded over a self-signed certificate endpoint.
- Migrates CI/CD from TravisCI to Github Actions
- [Potentially breaking] Build the Docker image with a non-root user by default (rootless container). This is a potentially breaking change if you created your own docker image using the chaostoolkit/chaostoolkit as a base image.
- Allow validating experiments downloaded from URL:
chaos validate http://...
1.4.1 - 2020-02-20
- Added build for Python 3.8
- Fixed
importlib_metadatadifferent naming between Python 3.8 and earlier #162
1.4.0 - 2020-02-20
-
Add critical level color to the logger
-
Add chaos init exports experiment also in yaml format
chaos init --experiment-path prod-experiment.yaml
- Fixed Dockerfile so the right dependencies are installed at build time
- Replaced pkg_resource usage with python 3.8 backport importlib_metadata
- Bump chaostoolkit-lib dependency to 1.8.0
1.3.0 - 2019-09-03
- Load global controls before we even read the experiments so we can apply them before and after loading the experiment.
1.2.0 - 2018-04-17
- Support for structured logging #122
- Moved loading global controls back into
run_experimentitself chaostoolkit-lib#116
1.1.0 - 2018-04-17
-
Bump to Chaos Toolkit library 1.2.0
-
Allow to declare and load controls from settings so they are globally applied to all your runs chaostoolkit-lib#99
In your settings file, at
~/.chaostoolkit-lib/settings.yamladd, for instance:controls: my-own-control: provider: module: mypackage.mycontrole_module type: python
This will load
mypackage/mycontrole_module.pyfrom yourPYTHONPATHand use it as a control. -
Remove MacOSX build. Way too long for any benefits.
-
Build against stable Python 3.7
-
Ensure exit code is set in all cases
1.0.0 - 2018-02-21
- Cleaned up package metadata
1.0.0rc4 - 2018-02-21
- Ensure requirements-dev.txt is bundled with the package
- Bumped chaostoolkit-lib to 1.0.0
- Ensure we don't create installation problem by forcing a specific version
1.0.0rc3 - 2018-01-29
- Bump to chaostoolkit-lib 1.0.0rc3
1.0.0rc2 - 2018-01-28
- Bump to chaostoolkit-lib 1.0.0rc2
- Enable MacOSX travis build to ensure Chaos Toolkit does build there
1.0.0rc1 - 2018-11-30
- Handle RC versioning when building release
- Pin dependency versions
0.17.1 - 2018-11-30
- Remove
NoReturnimport as it is not available prior Python 3.6.5 #90
0.17.0 - 2018-11-29
- add
infocommand to display basic information such as version of the toolkit core library or installed extensions. Display also the current settings #64
- strip command name before sending it to check newer version as sometimes we get a tabulation character in there
- swap
logger.warnforlogger.warningas the former is obsolete
0.16.0 - 2018-09-19
- send a
RunFlowEvent.RunDeviatedevent in addition to other events when the steady state deviated after the experimental method #56
0.15.0 - 2018-08-09
- a new global flag
chaos --settings <path>to explicitely specify the location of the Chaos Toolkit settings file - experiments can now also be loaded from a HTTP(s) resource (with or without auth) as per #53
- by default, the run command will now set the exit code to 1 when the experiment is not successful (interrupted, aborted or failed). This can be bypassed by plugins so they have the opportunity to process the journal as well. In that case, they must set the exit code themselves to play nicely.
0.14.0 - 2018-04-27
### Changed
- Do not notify of experiment validation when running it (too noisy)
- Encode date, datetime, decimal and UUID to JSON explicitely
0.13.0 - 2018-02-20
- Publish events for each step of the flow
0.12.0 - 2018-02-09
- New
chaos initwizard instructions
0.11.0 - 2018-02-08
- Returning journal and experiment from run and validate commands for downstream applications
- Better guidance on init
0.10.0 - 2018-02-06
- Create an empty experiment when no discovery was run beforehand #27
- Returns the generated experiment to external callers
- Name of the journal output from the run command is now
journal.jsonrather thanchaos-report.json#31 - Renamed the debug log from
experiment.logtochaostoolkit.logbecause it is used for any commands, even when the experiment is not required - The debug log is now appending
- The command being run is logged into the debug log
- You can bypass argument in the init command via empty string #29
- Allow to create steady-state hypothesis from init command #28
- Allow to set rollbacks from init command #30
- Pass command executed to checker for compatability #36
- Better logging of failed discovery chaostoolkit-lib#29
- Depending now on chaostoolkit-lib 0.14.0
0.9.0 - 2018-01-17
- Steady state hypothesis is not mandatory when exploring weaknesses #18
0.8.0 - 2018-01-16
- New init feature #23
0.7.0 - 2018-01-16
- New discovery feature
0.6.0 - 2017-12-19
### Changed
- Version check is now done server-side to remove semver dependency
0.5.0 - 2017-12-17
- Log to file by default and added a flag to disable it
- Updated to chaostoolkit-lib 0.8.0
0.4.0 - 2017-12-12
- Added log-file flag to log the run (at DEBUG level) to a file
- Bumped to chaostoolkit-lib 0.7.0
0.3.0 - 2017-12-06
- Proper contact email address
- Ensuring latest spec version support from chaostoolkit-lib 0.6.0
0.2.8 - 2017-11-30
- Minor improvements of the version check
- Triggering the documentation build on new releases so the doc is updated with the latest tag information
0.2.5 - 2017-11-23
- Checking for newer release of the toolkit at runtime
0.2.4 - 2017-10-12
- Enable CLI extensions
- Provide a change directory argument when using the CLI
- Proper verbose log level
0.2.3 - 2017-10-07
- Not a universal wheel distribution
0.2.2 - 2017-10-06
- Removed old dependencies
0.2.1 - 2017-10-06
- Package up extra files when installed from source
0.2.0 - 2017-10-06
- Core code now lives in a dedicated project chaoslib. chaostoolkit is now just the CLI of running experiments #3
0.1.12 - 2017-10-03
- Documentation has moved to its own project
0.1.11 - 2017-10-02
- Ensure CNAME is set for the docs to be resolved via chaostoolkit.org
- Installing dependencies along with the command
- Using a regular user to run from a Docker container
0.1.9 - 2017-10-01
- Switched to an alpine based Docker image for smaller footprint
0.1.8 - 2017-10-01
- Better installation docs
0.1.0 - 2017-10-01
- Initial release