Releases: KE-works/pykechain
v3.13.1
v3.13.1 (24AUG21)
- 👍 Add additionally a
UsePropertyNameRepresentation
including additional testing for emptyconfig
objects inside theRepresentation
. (KE-1239)
v3.13.0 (23AUG1)
- ⭐ We added filter
tags__contains
toContext
(KE-1054) - 👍 Added the
usePropertyName
property representation to sync with the possibilities in the backend. (KE-1239) - 👍 dependent versions for development: requests (2.26.0), nbsphinx (0.8.7), coveralls (3.2.0), tox (3.24.3), sphinx (4.1.2), pre-commit (2.14.0), twine (3.4.2)
v3.13.0
v3.13.0 (23AUG1)
- ⭐ We added filter
tags__contains
toContext
(KE-1054) - 👍 Added the
usePropertyName
property representation to sync with the possibilities in the backend. (KE-1239) - 👍 dependent versions for development: requests (2.26.0), nbsphinx (0.8.7), coveralls (3.2.0), tox (3.24.3), sphinx (4.1.2), pre-commit (2.14.0), twine (3.4.2)
v3.12.0
v3.12.0 (1JUL21)
- ⭐ We added the
Context
object to pykechain that has full API access to theContext
API in KE-chain v2021.6 and newer. You can add time period contexts, static location contexts and textlabel contexta and put them under acontext_group
if desired. ThisContext
feature is now implemented limitly forActivities
but in the coming period will be extended to support extensive usecases for the Forms NG featureset that is coming this fall. (KE-925) - 🐛 Fixed a test cassette that was failing on a date check. Made it use a fixed date rather than doing it on today.
- 🐛 Fixed automatic compilation of the pykechain documentation on https://readthedocs.org/projects/pykechain/.
- 👍 From now on python 3.5 is deprecated. The lowest version we support is Python 3.6. We can now start to insert f-strings and variable type annotations in our pykechain codebase.
- 👍 refactoring all models that were shadowed with a
<classname>2
to enable fast and smooth deprecation in July 2021. - 👍 We converted all type annotations in comments to proper type and variable annotations.
- 👍 When connecting to a server with a SSL certificate error which cannot be checked, we provide a message fast and dont retry. (KE-1052, #997)
Backward Incompatible Changes
- We dropped support for Python versions 3.5 and lower. Python 3.5 reached end of life in Sep 2020 and no more new releases will be made. Consider upgrading to a newer version of Python. See: https://www.python.org/dev/peps/pep-0478/
v3.11.1
v3.11.0
v3.11.0 (27MAY21)
- ⭐ It is now possible to create, retrieve, edit and delete
ExpiringDownloads
using theClient
andClass
methods. - ⭐ Added the GeoCoordinate representation for Geojson properties. We can now represent a geocoordinate as approximate address, Rijksdriehoekstelsel RD Amersfoort, as decimal degrees and degrees minutes seconds.
- 🐛 Formatting of prefilters using lists in the
ScopeFilter
class is now based on comma's. - 👍 Correctly formatted datetime strings are now accepted as valid datetime values.
- 👍 dependent versions for development: pytest (6.2.4), nbsphinx (0.8.5), coveralls (3.1.0), tox (3.23.1), flake8 (3.9.2), sphinx (4.0.2), pytest-cov (2.12.0), pre-commit (2.13.0), pydocstyle (6.1.1)
v3.11
v3.11.0 (27MAY21)
- ⭐ It is now possible to create, retrieve, edit and delete
ExpiringDownloads
using theClient
andClass
methods. - ⭐ Added the GeoCoordinate representation for Geojson properties. We can now represent a geocoordinate as approximate address, Rijksdriehoekstelsel RD Amersfoort, as decimal degrees and degrees minutes seconds.
- 🐛 Formatting of prefilters using lists in the
ScopeFilter
class is now based on comma's. - 👍 Correctly formatted datetime strings are now accepted as valid datetime values.
- 👍 dependent versions for development: pytest (6.2.4), nbsphinx (0.8.5), coveralls (3.1.0), tox (3.23.1), flake8 (3.9.2), sphinx (4.0.2), pytest-cov (2.12.0), pre-commit (2.13.0), pydocstyle (6.1.1)
v3.10.1
v3.10.1 (01APR21)
- 🐛 Copying multiple attachments using the
part.copy()
method caused the temporary directory to be removed.
v3.10.0
- ⭐ It is now possible to create a
TasksWidget
with the newadd_tasks_widget
method to theWidgetsManager
class. The enumsTasksAssignmentFiltersTypes
andTasksWidgetColumns
support the inputs to this method. - ⭐ It is now possible to create a
ScopemembersWidget
with the newadd_scopemembers_widget
method to theWidgetsManager
class. - 🐛 For grid widgets, corrected name of field
incompleteRowsVisible
toincompleteRowsButtonVisible
. - 🐛 Widgets created with the
create_widgets
method of theWidgetsManager
class now append the internal_widgets
attribute. - 🐛 Added allowed use of
Autofill
representation object onUserReferenceProperty
classes. - 🐛 Creating of new activities was performed using
data
instead ofjson
. Now,None
values are cleared and the request allowskwargs
. - 👍 The order of
Part
instances returned from theClient._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 theUser
class, to retrieve the current time based on the timezone of that user. - 👍 The input
collapse_filter
in theadd_filteredgrid_widget
method now accepts the inputNone
to fully hide the filter panel. - 👍 Expanded
ScopeFilter
options to the support the followingScope
attributes: tag, status, name, team, due date, start date and progress. - 👍 Added file path as return value of the
download_as_pdf
method of theActivity
class. - 👍 Added
status
keyword to theScopeFilter
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 thecopy
method directly, simplifying themove
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 itsproperties
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 atarget_parent
model with zero (or more than one) instances, usinginclude_instances
now results in anIllegalArgumentError
. Previously, zero parents would not produce any instance and multiple parents would create duplicate instances.
v3.9.5
v3.9.5 (23DEC20)
- 🐛 Any
kwargs
in thecount_children()
methods of theActivity
andPart
classes were not being forwarded to the actual function. Now filters such asname__contains
are properly supported.
v3.9.4
v3.9.4 (23DEC20)
-
⭐ Implemented
download_as_excel
method to theWidget
class, to export any grid widget as an Excel file. -
🐛 Removed multiple
return
statements from_validate_edit_arguments
helper function in theActivity
class, enabling usage of kwargs. -
🐛 Fixed a bug regarding the code expected to return from the back-end when calling the
share_pdf
andshare_link
functions. -
👍 Added keyword arguments (kwargs) to the
execute()
method of theService
class, in order to insert contextual information into theServiceExecution
. -
👍 Added
count_children
method to theActivity
andPart
classes for a light-weight count of the number of child objects. -
👍 Added
include_qr_code
keyword to thedownload_as_pdf
andshare_pdf
methods of theActivity
class, to include a QR-code to the original KE-chain activity. -
👍 Added
automatic
paper-size option forPaperSize
enumeration class. -
👍 dependent versions for development: sphinx (3.4.0), requests (2.25.1), pytest (6.2.1), pre-commit (2.9.3)