New Features and Improvements
- Add option to specify an endpoint URL when creating S3 resource service (679, thanks AndolsiZied!)
- Add support for providing `ExtraArgs` to boto3 when uploading files using the `sdk.aws.s3.extra_args` configuration option
- Add support for Server API 2.20
- Add `Task.get_num_enqueued_tasks()` to get the number of tasks enqueued in a specific queue
- Add support for updating model metadata using `Model.set_metadata()`, `Model.get_metadata()`, `Model.get_all_metadata()`, `Model.get_all_metadata_casted()` and `Model.set_all_metadata()`
- Add `Task.get_reported_single_value()`
- Add a retry mechanism for models and artifacts upload
- Pipelines with empty configuration takes it from code
- Add support for running pipeline steps on preemptible instances
- Datasets
- Add description to Datasets
- Add wild-card support in `clearml-data`
Bug Fixes
- Fix dataset download (713, thanks dankirsdot!)
- Fix lock is not released after dataset cache is downloaded (708, thanks mralgos!)
- Fix deadlock might occur when using process pool large number processes (674)
- Fix 'series' not appearing on UI when using `logger.report_table()` (684)
- Fix `Task.init()` docstring to include behavior when executing remotely (737, thanks mmiller-max!)
- Fix `KeyError` when running remotely and no params were passed to click (https://github.com/allegroai/clearml-agent/issues/111)
- Fix full path is stored when uploading a single artifact file
- Fix passing non-alphanumeric filename in `sdk.development.detect_with_pip_freeze`
- Fix Python 3.6 and 3.10 support
- Fix mimetype cannot be `None` when uploading to S3
- Pipelines
- Fix pipeline DAG
- Add support for pipelines with spot instances
- Fix pipeline proxy object is always resolved in main pipeline logic
- Fix pipeline steps with empty configuration should try and take it from code
- Fix wait for jobs based on local/remote pool frequency
- Fix `UniformIntegerParameterRange.to_list()` ignores min value
- Fix pipeline component returning a list of length 1
- Datasets
- Fix `Dataset.get()` does not respect `auto_create`
- Fix getting datasets fails with new ClearML Server v1.6
- Fix datasets can't be queried by project/name alone
- Fix adding child dataset to older parent dataset without stats
- Fix error when connecting an input model
- Fix deadlocks, including:
- Change thread Event/Lock to a process fork safe threading objects
- Use file lock instead of process lock to avoid future deadlocks since python process lock is not process safe (killing a process holding a lock will Not release the lock)
- Fix `StorageManager.list()` on a local Windows path
- Fix model not created in the current project
- Fix `keras_tuner_cifar` example raises `DeprecationWarning` and `ValueError`