-----------------
* :star: It is now possible to create a `TasksWidget` with the new `add_tasks_widget` method to the `WidgetsManager` class. The enums `TasksAssignmentFiltersTypes` and `TasksWidgetColumns` support the inputs to this method.
* :star: It is now possible to create a `ScopemembersWidget` with the new `add_scopemembers_widget` method to the `WidgetsManager` class.
* :bug: For grid widgets, corrected name of field `incompleteRowsVisible` to `incompleteRowsButtonVisible`.
* :bug: Widgets created with the `create_widgets` method of the `WidgetsManager` class now append the internal `_widgets` attribute.
* :bug: Added allowed use of `Autofill` representation object on `UserReferenceProperty` classes.
* :bug: Creating of new activities was performed using `data` instead of `json`. Now, `None` values are cleared and the request allows `kwargs`.
* :+1: The order of `Part` instances returned from the `Client._create_parts_bulk()` method is now guaranteed to match the request.
* :+1: Datetime properties can now be set using (valid) string values.
* :+1: Added `now_in_my_timezone` method to the `User` class, to retrieve the current time based on the timezone of that user.
* :+1: The input `collapse_filter` in the `add_filteredgrid_widget` method now accepts the input `None` to fully hide the filter panel.
* :+1: Expanded `ScopeFilter` options to the support the following `Scope` attributes: tag, status, name, team, due date, start date and progress.
* :+1: Added file path as return value of the `download_as_pdf` method of the `Activity` class.
* :+1: Added `status` keyword to the `ScopeFilter` class. All filters are now parsed and written to option dicts internally, encapsulating the property-specific format of the filters.
* :+1: dependent versions for development: pytest (6.2.2), pytz (2021.1), mypy (0.812), nbsphinx (0.8.2), coveralls (3.0.1), tox (3.23.0), flake8 (3.9.0), twine (3.4.1), sphinx (3.5.3), pytest-cov (2.11.1), pre-commit (2.11.1), pydocstyle (6.0.0)
Improved the `copy` and `move` methods of the `Part` class.
* :bug: Part reference properties with a value set to the copied Part's children will no longer refer to the original child Parts. That is, such "internal" references are updated with the new child Parts.
* :+1: `move` now makes use of the `copy` method directly, simplifying the `move` method and reducing duplicate code.
* :+1: More efficient use of `populate_descendants` and other bulk operations when cloning the data model.
* :+1: Refreshing a `part` now also refreshes its `properties` in-place, instead of creating new Python objects.
* :+1: Added `DeprecationWarnings` to the original, public functions, for deprecation in July 2021.
Backwards incompatible changes:
-------------------------------
* In case a `Part` model is copied to a `target_parent` model with zero (or more than one) instances, using `include_instances` now results in an `IllegalArgumentError`. Previously, zero parents would not produce any instance and multiple parents would create duplicate instances.