1.16.0 - 2023-09-12
- Always send deviated notication when status is indeed deviated
- Switched to ruff to lint code
- Switched to direct Slack invite link
- Make sure to use latest importlib-metadata package even on Python 3.7
1.15.1 - 2023-04-03
- As we now depend on recent versions of
importlib_metadata
we need to abide by its breaking compability changes. Specially at the bottom of the section here. Fixes #279
1.15.0 - 2023-01-29
-
Support to define the runtime strategies for hypothesis and rollbacks from within the experiment itself. Usng the following block:
{ "runtime": { "hypoethesis": { "strategy": "after-method-only" }, "rollbacks": { "strategy": "always" } } }
Only one of the two may be set. In all cases, these can be overriden by the CLI corresponding flags.
1.14.0 - 2023-01-27
- Addressed issue# 272 - removed vulnerabilities on container image built using Dockerfile-full
- Addressed issue# 272 - removed vulnerabilities on container image built using Dockerfile-basic
- Add support for control-file arguments to the the
chaos run
command
1.13.0 - 2022-09-29
- Updated dependencies
- Upgraded GitHub actions
1.12.0 - 2022-02-05
- Full and basic container images abased of Debians bullseye
--log-file-level
: a new root level flag to set the log level of thechaostoolkit.log
file
1.11.0 - 2022-01-05
- Bump to Python 3.7 as a baseline since Python 3.6 is EOL
- Add Python 3.10 support
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
dry
flag - Updated release workflow to remove duplicate
needs
properties
-
Added
.github/workflows/check_pr.yaml
which checks if a PR has modified the CHANGELOG.md and if it changed/added tests -
Moved
pip install --upgrade pip setuptools wheel
step frominstall-dev
toinstall
in the Makefile -
Updated
.github/workflows/check_pr.yaml
to check that bothCHANGELOG.md
andchaostoolkit/__init__.py
get updated in line with a new version -
Updated
Makefile
to specifypython3
instead ofpython
-
Added dry run options:
--dry=activities
runs all activities as dry run. (same as the old flag)--dry=actions
runs all actions as dry run.--dry=probes
runs all probes as dry run.--dry=pause
runs 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-lib
to~=1.21
- Switched from pycodestyle/pylama to
black
,flake8
,isort
- Update CI builds to build, lint, and test
- Applied
black
,flake8
, andisort
across the codebase - Ran
pyupgrade --py36-plus
1.9.3 - 2021-08-24
- Fixed typo in
chaos init
prompt fromreognised
torecognised
- Changed
--hypothesis-strategy
methodcontinously
tocontinuously
- Changed
Schedule
parameter fromcontinous_hypothesis_frequency
tocontinuous_hypothesis_frequency
- Changed other minor typos
1.9.2 - 2021-08-16
- Add
.github/workflows/close_stale_issues.yaml
to mark Issues stale after365
days Also closes them after7
days of beingStale
- Dockerfile now requires
--build-arg ctkversion=<version>
when building .github/workflows/release.yaml
now 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
--var
and--var-file
arguments parsing by addition of missing return intovalidate_vars
function
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-strategy
flag to therun
command. It defines how the steady-state hypothesis is applied. One of:default
is the classic mode where the hypothesis is run before and after the methodbefore-method-only
runs the hypothesis once only before the methodafter-method-only
runs 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-only
runs the hypothesis repeatedly during the method but not before nor aftercontinously
runs the hypothesis repeatedly during the method as well as before and after as usual
- Add the
--hypothesis-frequency
flag to therun
command. 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-fast
flag to therun
command. 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
--var
and--var-file
flags 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.json
Always run the rollbacks:
$ chaos run --rollback-strategy=always experiment.json
Never run the rollbacks:
$ chaos run --rollback-strategy=never experiment.json
Run the rollbacks only when deviated:
$ chaos run --rollback-strategy=deviated experiment.json
1.4.2 - 2020-04-29
- New flag
--no-verify-tls
tochaos run
andchaos validate
commands; 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_metadata
different 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_experiment
itself 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.yaml
add, for instance:controls: my-own-control: provider: module: mypackage.mycontrole_module type: python
This will load
mypackage/mycontrole_module.py
from yourPYTHONPATH
and 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
NoReturn
import as it is not available prior Python 3.6.5 #90
0.17.0 - 2018-11-29
- add
info
command 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.warn
forlogger.warning
as the former is obsolete
0.16.0 - 2018-09-19
- send a
RunFlowEvent.RunDeviated
event 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 init
wizard 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.json
rather thanchaos-report.json
#31 - Renamed the debug log from
experiment.log
tochaostoolkit.log
because 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