Added
- Two new control hook points before and after the experiment loading. These
hooks allow a control to perform certain operations before the experiment
is actually applied.
- Experiments can be loaded from HTTP server which returns them using a
`text/plain` content-type [130][130]. This allows notably to run directly
experiments hosted on GitHub.
[130]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/130
Changed
- Add the `max_retries` parameter to the HTTP provider
- Changed nested tolerance Python probes to return `True` to the experiment in
case the nested probe returns an object or `True`, and to return `False` in
case of `None` or `False`. Before, `True` was returned every time except in case
of an `ActivityFailed` exception. [128][128].
- Global Python controls are now imported from a specific function called
`load_global_controls(settings: Settings)`. The reason from loading them
separately is so that we can have them declared, and registered, as soon
as we can. Before, they were loaded when the experiments started to be
executed. Now, we can also run controls when we read the experiment itself,
which wasn't possible before.
- Read package version by readsing `__version__` from the `chaoslib/__init__.py`
file directly without importing it, to avoid dependency issues of uninstalled
third-party packages.