- Add Hydra support (<ahref="https://github.com/clearml/clearml/issues/219"target="_blank">GitHub trains Issue 219</a>).
- Add cifar ignite example (<ahref="https://github.com/clearml/clearml/issues/237"target="_blank">GitHub trains Issue 237</a>).
- Add auto extraction of `tar.gz` files when using `StorageManager` (<ahref="https://github.com/clearml/clearml/issues/237"target="_blank">GitHub trains Issue 237</a>).
- Add carriage return flush support using the `sdk.development.worker.console_cr_flush_period` configuration setting (<ahref="https://github.com/clearml/clearml/issues/181"target="_blank">GitHub trains Issue 181</a>).
- Add `Task.create_function_task()` to allow creating a new task, using a function and arguments, to be executed remotely (<ahref="https://github.com/clearml/clearml/issues/230"target="_blank">GitHub trains Issue 230</a>).
- Fix artifact preview if artifact body is remote URI (<ahref="https://github.com/clearml/clearml/issues/239"target="_blank">GitHub trains Issue 239</a>).
- Fix keras reusing model object only if the filename is the same (<ahref="https://github.com/clearml/clearml/issues/252"target="_blank">GitHub trains Issue 252</a>).
- Fix running remotely with no configuration should not crash but output a warning (<ahref="https://github.com/clearml/clearml/issues/243"target="_blank">GitHub trains Issue 243</a>).
* Add initial Hydra support (<ahref="https://github.com/clearml/clearml/issues/219"target="_blank">GitHub trains Issue 219</a>).
* Add synchronous support for `Task.upload_artifact()` (<ahref="https://github.com/clearml/clearml/issues/231"target="_blank">GitHub trains Issue 231</a>).
* Add `sdk.development.store_code_diff_from_remote` (default `false`) to store diff from remote HEAD instead of local HEAD (<ahref="https://github.com/clearml/clearml/issues/222"target="_blank">GitHub trains Issue 222</a>).
* When using `detect_with_pip_freeze` make sure that `package @ file://` lines are replaced with `package==x.y.z` as local file will probably not be available.
* Fix git packages to new pip standard `package @ git+`.
* Improve conda package naming `_` and `-` support.
* Do not add specific setuptools version to requirements (pip can't install it anyway).
* Fix image URL quoting when uploading from a file path.
* Add Pipeline Controller automation and example (see [here](https://github.com/clearml/clearml/blob/master/examples/pipeline/pipeline_from_tasks.py)).
* Support Keras restructuring for Network, Model and Sequential.
* Update autokeras requirements according to [https://github.com/keras-team/autokeras#installation](https://github.com/keras-team/autokeras#installation).
* Fix artifact upload to only use file stream when not uploading a locally stored file (multipart upload is not supported on stream upload) (<ahref="https://github.com/clearml/clearml/issues/189"target="_blank">GitHub trains Issue 189</a>).
* Add continuing of previously executed experiments. Add `Task.init()` argument `continue_last_task` to continue a previously used Task ([GitHub Issue #160](https://github.com/clearml/clearml/issues/160)).
* Add multiple sections / groups support for Task hyperparameters, using `Task.connect()`.
* Add multiple configurations (files) using `Task.connect_configuration()`.
* Allow enabling OS environment logging using the `sdk.development.log_os_environments` configuration parameter (complements the `TRAINS_LOG_ENVIRONMENT` environment variable).
* Add Optuna support for hyperparameter optimization controller. `OptimizerOptuna` is now the default optimizer.
* Add initial Keras-Tuner support ([GitHub Issue keras-team/keras-tuner #334](https://github.com/keras-team/keras-tuner/issues/334)).
* Add automatic FastAI logging. It is disabled if Tensorboard is loaded (assuming TensorBoardLogger will be used).
* Support Tensorboard text logging (`add_text()`) as debug samples (`.txt` files), instead of as console output.
* Allow for more standard confusion matrix reporting. `Logger.report_confusion_matrix()` argument `yaxis_reversed` (flips the confusion matrix if `True`, default `False`) ([GitHub Issue #165](https://github.com/clearml/clearml/issues/165)).
* Allow disabling Trains update message from the log using the `TRAINS_SUPPRESS_UPDATE_MESSAGE` environment variable ([GitHub Issue #157](https://github.com/clearml/clearml/issues/157)).
* Fix GPU stats on Windows machines ([GitHub Issue #177](https://github.com/clearml/clearml/issues/177)).
* More robust GPU monitoring ([GitHub Issue #170](https://github.com/clearml/clearml/issues/170)).
* Fix filename too long bug ([GitHub trains-server Issue #49](https://github.com/clearml/clearml-server/issues/49)).
* Fix TensorFlow image logging to allow images with no width / height / color metadata ([GitHub Issue #182](https://github.com/clearml/clearml/issues/182)).
* Fix multiprocessing Pool throw exception in pool hangs execution. Call original signal handler and re-flush `stdout`.
* Fix `plotly` support for `matplotlib` 3.3.
* Add Python 2.7 support for `get_current_thread_id()`.
* Update examples requirements.
* Fix and improve signal handling.
* Fix Tensorboard 2D convolution histogram, improve histogram accuracy on very small histograms.
* Fix auto logging multiple argparse calls before `Task.init()`.
* Limit experiment Git diff logging to 500Kb. If larger than 500Kb, diff section will contain a warning and entire diff will be uploaded as an artifact named `auxiliary_git_dif`.
* Fix requirements detection:
* Fix Trains installed from `git+`.
* Fix when Trains is not directly imported.
* Fix multiple `-e` packages were not detected (only the first one).
* Fix running with Trains in `PYTHONPATH` resulted in double entry of trains.
* Fix `Task.set_base_docker()` on main task to do nothing when running remotely.