Added
- Allow "_from_env" postfix in variables and load settings from the specified
environment variable (similar to "from_file").
- Add "update_log" property which specifies a log of all variables loaded or
removed/replaced.
- Allow overwriting / merging lists
- Allow environment variables to target list indexes (`CLIMATECONTROL_SECTION__0__VALUE=testvalue`)
- Settings proxy object to allow attribute queries (i.e.
`climatecontrol.settings.a.b[0].c`).
- Added initial support for dataclasses as extension `climatecontrol.ext.dataclasses`
- Add "from_*_content" processor allowing direct content to be used in variables
(can be helpful for environment variables i.e.
`CLIMATECONTROL_SECTION1_FROM_JSON_CONTENT='{"v1": 1, "v2": 2}'`).
- Add inferred settings files and search for them along the directory structure
up to project root (`climatecontrol.core.Climate.inferred_settings_files`).
Changed
- Use fragments as base data structure for building settings map
- Add python 3.7 and 3.8 to CI and update development environment config to 3.8
- Format using [black](https://github.com/psf/black)
- Dissallow setting or deleting objects from settings object (to avoid confusion
when setting the object does not change the settings object after an update)
Deprecated
- Deprecated `implicit_depth` argument in settings object
- Deprecate use of `Settings` class (use `Climate` instead, `Settings` is now an
alias of `Climate`)
Removed
- Remove python 3.5 support