Pykechain

Latest version: v4.11.0

Safety actively analyzes 638361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 13

3.7.0

---------------

This is a big release and perfectly qualifies for a minor version number upgrade. We took care of many things and improvements in alignment with fresh and refreshed capabilities of the KE-chain 3 platform.

In this release we also deprecated functionality that were announced to be deprecated some time ago. We deprecated all compatibility to 'KE-chain 2'. Please refer to the Backward Incompatible Changes down below.

:star: is a new feature
:+1: are improvements
:bug: are fixed bugs./

* :star: Extracted representations from `Property2` class into a separate `RepresentationMixin` class. This is now utilized by the `Scope2`, `Activity2` and `Property2` classes.
* :star: Implemented `MultiSelectListProperty2` class, generalizing the implementation of the `SelectListProperty2 class. Intermediate class `_SelectListProperty` now hosts the generic implementation. 732
* :star: Implemented `ActivityReferencesProperty` class, generalizing the implementation of the part reference `MultiReferenceProperty2` class. Intermediate classes `_ReferenceProperty` and `_ReferencePropertyInScope` have been added for further reference properties. 746
* :star: Added `ScopeRoles` and `ScopeMemberActions` enum classes to list the roles of and operations on scope members.

* :+1: Added `PropertyTypes` enumeration values for the JSON property and multiple new reference properties.
* :+1: Added `CustomIconRepresentation` to change the font-awesome icons of KE-chain scopes and activities. Default icon display mode is set/gettable, defaulting to "regular".
* :+1: Added `show_name_column` input to the `add_supergrid_widget` method of the `WidgetsManager`.
* :+1: Added `show_download_button` and `show_full_screen_button` inputs to the `add_attachmentviewer_widget` method of the `WidgetsManager`.
* :+1: Added `link_value` input to the `add_card_widget` method of the `WidgetsManager`. Linking to sub-process activities now opens the link in tree view by default.
* :+1: Created mapping table `property_type_to_class_map` to convert between property types from the `PropertyType` enumeration and property classes derived from the `Property2` class.
* :+1: Added `BaseInScope` base class for KE-chain objects limited to a single scope. It inherits from `Base` itself. The new class is used for Parts, Properties, Activities, Widgets, Associations and Services. Original class is still used for Scopes, Teams, Users, Banners, Notifications and ServiceExecutions.
* :+1: Moved `scope` property method to the `BaseInScope` class, adding lazy retrieval to limit overhead.
* :+1: Improved robustness of teardown for tests for the `Scope2` class.
* :+1: Added `editable` argument to the `add_attachmentviewer_widget` method of the WidgetsManager, to enable both viewing and editing of the attachment.
* :+1: Added `show_log` argument to the `add_service_widget` method of the WidgetsManager, to separate the log file and log message.
* :+1: Added `Alignment` enum class, leaving `NavigationBarAlignment` as wrapper for backwards compatibility.
* :+1: Added intermediate `create_configured_widget` method in WidgetsManager for widgets with associated properties.
* :+1: Moved all inherited `Property` methods into the `Property2` class and removed Property as its superclass.
* :+1: Large clean-up for user-input validation for most `Client` methods to provide consistent error messages.
* :+1: Added intermediate `_retrieve_singular` method in `Client` class to simplify other methods intended to get 1 object. These other methods all had identical dependency on methods to retrieve more than 1 object, such as `part()` on `parts()`.
* :+1: Improved traceback of any `APIError` by printing content from the `response` and/or `request` if provided by keyword arguments, e.g. `APIError("Incorrect value!", response=response)`. (742)
* :+1: dependent versions for development: semver (2.10.1), pytest (5.4.3), pytest-cov(2.9.0), Sphinx (3.0.4), nbsphinx (0.7.0), tox (3.15.1), flake8 (3.8.2), pre-commit (2.4.0), mypy (0.780), removed PyOpenSSL which was only for python 2.7.

* :bug: Editing an `Activity2` now uses its `__init__` to refresh with the JSON from the response, removing an additional reload to get updated values.
* :bug: Added `Activity2.scope_id` setter method (self-induced bug due to the introduction of `BaseInScope`).
* :bug: Moved the serialization of property values from the `Part2._parse_update_dict()` method to the new `Property2.serialize_value()` method. This new method is used in the `_put_value()` method of this class to have identical serialization in both `value` and `part.update()` mechanics.
* :bug: The bulk update of property values via the `use_bulk_update` attribute and `update_values` method now uses the same serialization pipeline as synchronous updating. Also made the attribute a `Property2` class property, converting it to a singleton.
* :bug: Refactored the `reload` method of the `Client` class to be able to reload any Pykechain class object. 760
* :bug: Scope edit cleared some properties from the scope if they were not provided.

Backwards incompatible changes
------------------------------

We deprecated the following:

* `get_all_children` helper function for parts and activities. Use the `all_children` method instead.
* The `MultiReferenceProperty2.choices()` method now returns an empty list if no `Part` model is yet configured. Now the method no longer raises a TypeError (i.e. 'NoneType' object is not subscriptable).
* We deprecated the `ActivityTypes`: `USERTASK`, `SERVICETASK` and `SUBPROCESS` from `ActivityType` enum class.
* We deprecated the option to use `START` from `NavigationBarAlignment` enum class.
* We deprecated the mapping table `WIMCompatibleActivityTypes`.

3.6.4

----------------

* :bug: removed use of the old API usage of `descendants`. (741)
* :+1: We will now raise the correct errors when retrieving an `active banner`. (741)
* :+1: We now use actual depth-first sorting of children. (741)
* :+1: For testing and development: Less hard-coded and centralized teardowns, using `assertEqual(expected, received)` format. (741)
* :+1: dependent versions for development: Sphinx (3.0.2), nbsphinx (0.6.1)

3.6.3

----------------

* :+1: Added `current_user()` method on the Client class to return the `User` object of the user connected to KE-chain.
* :+1: Added various arguments to the `create_notification()` method.
* :+1: Added `edit()` method to the Notification class.
* :bug: Removed old API usage of `descendants` from `copy()` of the Part class.
* :bug: Raising correct errors whenever no (or multiple) active banner exist in the `active_banner()` method.

3.6.2

----------------

* :bug: We found out that the regex to validate the email addresses was incorrectly defined. We added additional tests to fix this. (thanks to jberends for the omission and the fix)

3.6.1

-------------------

This was never released due to some inappropriate tagged.

3.6.0

----------------

This minor releases adds two new concepts (:star: :star:) that also exist in the KE-chain backend. We added a `Banner` concept that allows powerusers
to set an announcement banner which is displayed (and can be dismissed) in KE-chain for all logged-in users within a certain timeperiod. We also added the concept of a `Notification` in KE-chain, where email or in-app notification can be displayed suchs as sharing a link of
a task to another user, or sharing a PDF of a task to another user or and external email address.

* :star: Implemented `Banner` model and methods to create, delete and retrieve them. 725 (Thanks to jelleboersma for the implementation)
* :star: Added the concept of a `Notification` including the possibility to retrieve, create(send) and delete `Notifications`. 467 (thanks to raduiordache for the implementation)
* :star: Added the possibility to share a link or PDF of an activity using the `Activity2.share_pdf()` or `Activity2.share_link()`. 467 (thanks to raduiordache for the implementation)
* :bug: When adding a new `Activity2` to a parent, it will now cache its childeren in case the parent also have the children cached. In essence it updates the `_cached_children`. 722 (thanks to jelleboersma)
* :+1: dependent versions for development: pytest (5.4.1), mypy (0.770), tox (3.14.6)

Page 9 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.