Skip to content

v3.10.0

Compare
Choose a tag to compare
@JelleBoersma JelleBoersma released this 29 Mar 07:15
9b36860

  • ⭐ 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.
  • ⭐ It is now possible to create a ScopemembersWidget with the new add_scopemembers_widget method to the WidgetsManager class.
  • 🐛 For grid widgets, corrected name of field incompleteRowsVisible to incompleteRowsButtonVisible.
  • 🐛 Widgets created with the create_widgets method of the WidgetsManager class now append the internal _widgets attribute.
  • 🐛 Added allowed use of Autofill representation object on UserReferenceProperty classes.
  • 🐛 Creating of new activities was performed using data instead of json. Now, None values are cleared and the request allows kwargs.
  • 👍 The order of Part instances returned from the Client._create_parts_bulk() method is now guaranteed to match the request.
  • 👍 Datetime properties can now be set using (valid) string values.
  • 👍 Added now_in_my_timezone method to the User class, to retrieve the current time based on the timezone of that user.
  • 👍 The input collapse_filter in the add_filteredgrid_widget method now accepts the input None to fully hide the filter panel.
  • 👍 Expanded ScopeFilter options to the support the following Scope attributes: tag, status, name, team, due date, start date and progress.
  • 👍 Added file path as return value of the download_as_pdf method of the Activity class.
  • 👍 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.
  • 👍 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.

  • 🐛 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.
  • 👍 move now makes use of the copy method directly, simplifying the move method and reducing duplicate code.
  • 👍 More efficient use of populate_descendants and other bulk operations when cloning the data model.
  • 👍 Refreshing a part now also refreshes its properties in-place, instead of creating new Python objects.
  • 👍 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.