- [x] Better support for arg reference
- [x] Support for time cost
- [ ] Better support for passing (non-key) arguments
**2022.8.24**, Small changes.
- [x] Remove support for python script.
- [x] Use `$<?>` as a value to denote set a `--flag` or not.
**2022.8.12**, Small changes, new release `2.0`.
- [x] Better `README`.
**2022.7.3**, Big changes, release `2.0.alpha`.
- [x] Support for magic expression in config expansion such as `$<1:10:2>` and `$<a|b|c>`.
- [x] Support for easier combination of magic expressions, such as `$<a|b|c>.$<1:10:2>`.
- [x] Make arg reference more readable, change `[-a:1:4:]` to `${-a[1:4]}`.
- [x] Support for passing an argument (or not) to set (or not) a flag.
- [x] Support for multi-gpus per task.
- [x] Re-organize `README`.
**2021.11.8**, Small changes.
- [x] Code refactoring, bugfix, more examples.
- [x] Better support for arg reference (substring, key-based reference).
**2021.10.3**, Big changes. Code refactoring, the architecture changes a lot.
- [x] Better support for log extraction with `yaml` rule file.
- [x] Better support for log analysis with `extract()` from `manytasks.log_extractor`.
- [x] Remove support for extracting results with python scripts.
**2021.9.26**, Big changes.
- [x] Code refactoring.
- [x] Add support for setting timeout for each task.
- [x] Add support for arg reference.
- [x] Add support for showing PID of a task.
**2021.9.13**, Small changes.
- [x] Add support for specifying an output directory.
- [x] Add better support for log analysis.
**2021.6.20**, Big changes.
- [x] Deprecate support for WebUI.
- [x] Add support for resuming from the last running status.
- [x] Add support for factor analysis.
**2021.5.26**, Small changes.
- [x] Add support for yaml rule & Deprecate support for json rule (regex in json is not readable)
**2021.3.16**, Small changes.
- [x] Support for JSON rule.
- [x] Beautify the command line output.
**2021.2.18**, Big changes.
- [x] Support Non-key arguments
- [x] Support for setting latency between two tasks (sometimes task-2 may reuse the cached data generated by task-1, so it is a good idea to let task-2 wait for a few seconds)
- [x] Remove the arg `runnable` and merge it into `executor`
- [x] Support for result extraction