v2021.5.0.2 (12may21)


  • Reversed the introduction of the prop_value_query filtering in grids and partshops. Created a reverse data migration. (KE-1000)


  • Revert of the property_valye_query filter. In conjunction with the backend. (KE-1000)

v2021.5.0.1 (12may21)


  • Reversed the raised security for retrieving the forgotten password. (KE-999)


  • Revert of the property_valye_query filter. In conjunction with the backend.

v2021.5.0 (11may21)


  • We added the possibility to select a representation for the geojson point. This representation is export in the PDF and excel as well. You can choose to use either the address, Rijksdriehoekstelsel (RD) coordinates, the Decimal Degrees notation or the Degrees-Minutes-Seconds notation. The conversion to the RD coordinates is performed just-in-time and not stores in the property as a value. (KE-935)

  • We added the possibility to download a grid of parts with the correct georepresentation. (KE-935)

  • We added the full scope information in the response of the scope references property. (KE-986)

  • We removed logging of a missing activity_id on widget permission. (KE-758)

  • We fixed a bug trying to retrieve the scope id's on a Widget, when the Activity does not exist. (KE-839)

  • Implemented different additional security measures to protect backend server. (KE-844)

  • Added prop_value_query in paginated widget meta schema and added a migration that moves all legacy values to the new filter.(KE-896, KE-996)

  • We added the full scope information in the response of the scope references property. (KE-986)

  • Refactored the way we process some fields in the KeScopeModelSerializer. Where applicable, the fields have been changed from SerializerMethodField to UUIDField in order to have the serializer check for their existence (KE-872)


  • Made the email check on 'Forgot password' case insensitive. (KE-954)

  • Added search on name / username / email functionality on user reference property. Also show the email on users to select. (KE-867)

  • Improved the mobile view of the Task widget. (KE-984)

  • Placed the project member management widget in the project detail view, replacing the previous member management section. (KE-958)

  • Use qr_code or barcode as input for single text properties. (KE-855)

  • Added new representations and conversion for the GEOJSON property - RD/AMERSFOORT New, Decimal Degrees, Degrees minutes and seconds. (KE-983)

v2021.4.2.1 (20apr21)


  • We fixed a bug in the bulk_delete API endpoint of widgets that was introduced in the last release. (KE-965)

v2021.4.2 (19apr21)


  • We fixed the filtering of all type of properties inside a grid not being taken into account in the Excel exporter. (KE-868)

  • We removed deprecated groups that were associated to the scope from the 'old' way of managing members. (KE-849)

  • We fixed a bug on our 'validate_geometry_collection' validator which led to errors instead of a proper 400 response. (KE-926)

  • We fixed an issue where the bulk delete of widget was actually not using the bulk delete internal API but only the widget-per-widget delete, which is slower. (KE-930)

  • We changed the GeoJSON type for locations to FeatureCollection instead of GeometryCollection. (KE-931)

  • We fixed an issue where a reference to a not existing Activity would break metrics reporting. (KE-932)

  • We added new fields to the metrics to be used in internal metrics dashboards in order to track app usage and make improvements. (KE-936)


  • Fixed some issues that break the WBS in the latest Chrome. (KE-962)

  • Added the option to implicitly overwrite status, which means a user can also decide to keep status unchanged. (KE-739)

  • Removed the link to old KE-chain from the top bar and the mobile top bar menu. (KE-852)

  • Added some text to highlight the paste attachment for upload feature. Also added drag and drop image from browser functionality. (KE-871)

  • Fixed an issue to optimize the spacing on part reference properties (KE-571)

v2021.4.1 (8apr21)


  • We did a major upgrade of the KE-chain backend to Django 3.1 and running uvicorn in production. This means that the backend is now very up to date with the latest version of the platform available. Furthermore we can handle more simultaneous requests of end-users in production. (KE-718)

  • We fixed the filtering of single select and multi select properties not being correctly processed in the PDF exporter. (KE-862)

  • We added the Context concept to project (scopes). Initially a GeoLocationContext and a TimePeriodContext are available. A Context can be best described as 'smart group' that can be associated to a project task (Activity). For example, a GeoLocationContext may be used to display tasks on a map. The TimePeriodContext is a way to group tasks per time period. This Context is extensible and will be expanded in the future. (KE-434)

  • We fixed an issue on the Scope manager. (KE-923)

  • We fixed the filtering of all type of properties inside a grid not being taken into account in the Excel exporter. (KE-868)

  • When a user did not provide a 'Name' we fill in that name based on the username of the user. (KE-799)


  • Use qr_code or barcode as input for properties (KE-855)

  • Add load more button on the work breakdown tree, where more than 50 activities are loaded from the same parent (KE-138)

v2021.4.0 (2apr21)


  • Added new fields to the metrics to be used in internal metrics dashboards to monitor usage and improve the application. (KE-801)

  • Fixed an error regarding the processing of PropertyGrid widgets inside a PDF when no Part instance is associated to it. (KE-781)

  • We added the possibility of using the property filter on Parts programmatically. (KE-864)

  • We fixed a bug on a possible missing Metrics object. (KE-857)

  • Added a feature to access the Metrics API endpoint using a MetricsToken Authorization header or using a metricstoken in the queryparameters of the request. (KE-802)

  • Fixed a test that failed occasionally in testing environment. (KE-861)

  • The creation of Associations for Properties sometimes led to an IntegrityError, which we solved. (KE-567)

  • For CI tests we are using a custom docker build image based on python 3.8. (KE-914)


  • Rebuild the Work breakdown from API to avoid missing kevents when coming back from another page. (KE-840)

  • Fixed an issue regarding the spacing of a multi-text property on tables (KE-851)

  • Added the possibility to paste an image attachment to upload with attachment property. (KE-191)

v2021.3.2.1 (23mar21)


  • We introduced a fallback in case one of the keys in Locize used by the PDF Exporter are not provided. In that case, we use a default translation (in English language). (KE-765)

  • When exporting a grid with location properties that are all zero, the corresponding aggregated map did not properly export in the PDF. This is now corrected and checked if the properties are empty before attempting to create a map of the world. (KE-860)

v2021.3.2 (18mar21)


  • Improved the visualization of the assignment distribution in dashboard widget. (KE-755)

  • Replaced the communication system with the server for live events, kevents. (KE-828)

v2021.3.1.1 (12mar21)


  • An issue related to the processing of PDFs inside a PDF Exporter has been fixed. (KE-783)

v2021.3.1 (11mar21)


  • We fixed a bug that tests a non-existing file for size, causing the PDF generation to break. (KE-793)


  • Fixed a bug where a required validator was not displayed for certain property types. (KE-290)

  • Link the metapanels breadcrumb root to the scope landing page instead of wbs, when available. (KE-764)

  • Added display of users name to user references. (KE-798)

  • Improved the spacing of buttons on mobile, when you want to add/edit a part (KE-789)

  • Added wrapping of text for multiline text properties in table widget cells. (KE-791)

  • Disabled the fullscreen mode on the delete dialog of table widget. (KE-286)

  • Added the member role as the default when adding members to scope. (KE-730)

  • Added assertions to verify different dialogs open and close in cypress tests. (KE-723)

  • Improved the loading and selection of associations (KE-685)

v2021.3.0.1 (05mar21)


  • We fixed an issue on generating PDF's, caused by an improperly set EXIF thumbnail value. (KE-786)

v2021.3.0 (03mar21)


  • We fixed an issue in the Excel Importer where parts were not imported if there was no name provided in the Excel. Now if that cell is empty, the part will created with its model name and a warning will be provided in the preview. (KE-716)

  • We added the possibility to create/edit/delete downloads through the API, when authenticated, Unauthenticated users can download the content of the downloads (KE-615)

  • We fixed an issue related to the processing of images in a PDF Export when the size of their thumbnail was larger that 64kB. (KE-737)

  • We fixed an issue on testing for permission on a non existing Part, leading to an error response. (KE-766)

  • We fixed an issue where omitting the proper context on a Parts api call, could be leading to an error response. (KE-769)

  • As supervisor user you should be able to alter the property and part models in the CATALOG world. (KE-775)


  • Added scope team management widget. (KE-624)

  • Added wrapping of long property names with underscores. (KE-448)

  • Give the possibility to "pull-to-refresh" if the app is visualized in "Standalone" mode. (KE-729)

  • Added fullscreen mode, download and delete buttons to HTM attachment viewer. (KE-450)

  • Added the supervisor role to the roles that can use the Alt+W shortcut to 'Edit page'. (KE-367)

v2021.2.2 (25feb21)


  • We updated the permissions regarding the retrieval of teams. A user can retrieve the list of teams and in that response only the teams are present of which the user is part of (either in the role as teammember, a teammanager or teamowner). A user only has knowledge of teams he is part of. (This is similar to the way a scope member sees other scopes). (KE-753)

  • We added a new widget: the Scope member management widget. (KE-624)


  • Added scope team management widget. (KE-624)

  • Added wrapping of long property names with underscores. (KE-448)

  • Give the possibility to "pull-to-refresh" if the app is visualized in "Standalone" mode. (KE-729)

  • Added fullscreen mode, download and delete buttons to HTM attachment viewer. (KE-450)

  • Added the supervisor role to the roles that can use the Alt+W shortcut to 'Edit page'. (KE-367)

v2021.2.1 (18feb21)


  • We changed the way we generate PDF's to be more future proof and scalable using a PDF microservice. The current release works both in 'legacy' mode (using luaLaTeX on the local machine) and in the new 'microservices' mode. The legacy mode is activated by default, for compatibility reasons . The use of the pdf microservice is controlled through additional settings in the .env file. (KE-536)


  • Improve the rebuilding of the Work Breakdown Tree when focus is received, to keep in sync with the other pages. (KE-712)

  • Hide team and tags filter fields when they are set as prefilters on a scope reference property (KE-618)

  • Improved speed on a part grid instances call by making all the part grid calls in parallel. (KE-618)

  • Implemented additional filters for scope reference, including start date, due date, progress, tags and team (KE-403).

  • Made an integration test for adding part dialog on table widget (KE-576)

  • Fixed an issue in the tasks view with delete dialog being in a weird state just after deleting an activity (KE-703)

  • Fixed a bug where after deleting a part in data model the delete dialog would reopen by selecting a different part in the tree. (KE-701)

  • Fixed an issue where creating an activity fails when assignees field is untouched. (KE-702)

v2021.2.0.1 (5feb21)


  • We added the option for a scope supervisor to demote scope supervisors to lead members or members. We also added the option for leadmembers to demote leadmembers to members. (KE-698)

  • We added the possibility of adding assignees_ids to accommodate assigning users on Activity creation. (KE-564)

v2021.2.0 (4feb21)


  • To better distinguish if the property value of an attachment or link property is set we improved the default value_set attribute logic for those properties. We also created a command and a data migration for setting the right value on these properties (ATTACHMENT_VALUE and LINK_VALUE). (KE-641)

  • We fixed a permission issue for a scope supervisor. The supervisor is allowed to alter a Catalog form and create new parts for that form. (KE-687)

  • We fixed a permission issue for a scope supervisor. The superviser is not allowed to create tasks in the App classification. (KE-689)

  • Added error descriptions to the Excel Importer Previewer. The user now gets informed if he can continue with the import or not. Errors will prevent him from continuing the import until they are fixed, while warnings will not. A resolution to fix the error is also provided. (KE-634)

  • We added a heartbeat endpoint to the application indicating if the application is healthy and alive for monitoring tools. (KE-696)


  • Improved the error feedback on the import excel functionality (KE-640)

  • Implement restoring of live events on connection lost. (KE-693)

  • Added the supervisor role to the roles which a project manager can demote himself to. (KE-686)

  • Show when it's possible to add, update and delete parts and properties in widget editor's data selector for users which have access, including supervisor (KE-687)

  • Implement the same ux used in select assignees to the user reference property (KE-551)

v2021.1.3 (25JAN21)


  • We give the scope supervisor the permission to promote another user to the supervisor level. Likewise for leadmembers. (KE-681)

  • Fixed an issue with the Excel Importer, where False values of Boolean properties could not be imported. (KE-682)


  • Fixed an issue with undefined meta on scriptCardWidget (KE-665)

v2021.1.2 (22JAN21)


  • We added a Kevent signal, requesting the frontend to reconnect its Websocket connection for resyncing scope membership related signals, after membership changes. (KE-657)

  • We made a small fix on the pdf exporter when sorting on part names. (KE-676)


  • Fixed an issue in the dashboard widget with displaying projects with zero tasks. (KE-540)

  • Fixed an issue regarding notification about members added to a new project. (KE-662)

v2021.1.1.1 (19JAN21)


  • Patch to reduce the number of websocket disconnects calls, which caused an exception logging event in sentry. (KE-671)

v2021.1.1 (14JAN21)


  • We again improved on the Part endpoint call, managing to cut the response time to almost 50 percent. (KE-627)

  • We are now catching errors related to messages attempted to be sent to closed websockets. (KE-621)

  • Fixed a bug on export_pdf, still using legacy Part sorting. (KE-636)

  • Fixed a small issue where a string could not be cast to a boolean in the API caused a servererror instead of a validationerror. (KE-632)


  • Fixed an issue in the dashboard widget with displaying projects with zero tasks. (KE-540)

  • Fixed an issue with navigation bar when the selected tab receives focus when out of view (KE-604)

  • Highlight the current user in dashboard widget (KE-164)

v2021.1.0 (7JAN21)

From this version onwards, the versioning has changed from a semantic one (e.g. v3.8.0) to a calendar versioning (v2021.1.0)


  • There are no new issues in this release, its content is the same as the v3.7.7 version. It does mark the start of a new versioning pattern: vYEAR.Version.Subversion.

  • Not only a new versioning, but we will keep the versioning in-sync with the frontend release numbering.


  • Added settings to scope reference property to prefilter references on status and also to display the active filter. (KE-628)

  • Fixed an issue where pre-sorting from the paginated table was inverted (KE-620)

  • Hide the Dashboard from the Scope detail page. Will be restored when the Team manager widget will be deployed (KE-626)

v3.7.7 (22DEC20)
  • We overhauled the API parts endpoint, resulting in major decrease in the number of database calls, and so achieving a significant performance boost between ~2 and ~4 times depending on the size of the database. (KE-579, KE-578, KE-610, KE-613)

  • We added extra filters on Scope objects. Scopes can now be filtered on start_date, due_date and progress with the same operators as Activity (gt, gte, lt, lte). (KE-494)

  • We removed a breaking error due to a niche case where the filename of an uploaded image attachment was without a suffix (or extension), which caused problems after the image was resized. (KE-580)

  • There was an error in the PDF Exporter when multiple parts were associated to a PropertyGrid widget. This has been fixed no by better querying for the associated properties. (KE-587)

  • We changed the PDF exporter to render the name of the User selected in the UserReferenceProperty if it exists, instead of the username. If there is no name provided, the username is the one shown. (KE-586)

v3.7.6 (14DEC20)
  • Refactored the Part filter sorting function for performance improvements. (KE-578)

  • We removed some performance blocking query operations, which should speed up Part list retrieval. (KE-575)

  • The ability to change a ref or reference to an Activity was originally available as an option to the platform, we removed the setting and the ability to update the ref is now always available on the Activity API for kenode users, configurators, managers and supervisors of a scope (outside the 'APP' context.). (KE-422)

  • We fixed the ordering of Parts, based on the value of a Property. (KE-541)

v3.7.5 (8DEC20)
  • We fixed a bug in the PDF Exporter that was showing the name column in an Empty Grid Widget even when the column was configured to be hidden. (KE-526)

  • Removed the custom code used for BAM inside the fixing of SINGLE and MULTI SELECT LIST properties management command script (KE-429)

v3.7.4.1 (4DEC20)
  • Fixed database migrations of widgets where widget placed inside a multi-column widget were using a parentWidth attribute to align themselves neatly. This information was lost in the migration and that is now fixed. Als added the parentWidth in the meta schema's for the relevant widgets. (KE-515)

  • Added support for migration of legacy versions of scripts and notebooks in the set service environment management script. (KE-380)

v3.7.4 (3DEC20)
  • Fixed bug on widget model helper causing breaking kevents signals. (KE-530)

  • Changed the local mailing backend to console to prevent accidental outging mails during development and testing. (KE-529)

  • Changed the response for a password reset, not disclosing information about a not existing email address. (KE-490)

  • Fixed an issue on the preview and download of an attachment property, resulting in a Sentry error when not found. Now just raises a 404. (KE-520)

  • Fixed a bug related to proxies on the tree_node_updated_handler, that caused an AttributeError and blocked kevents. (KE-519)

  • Added extra validation to the bulk Part instance creation endpoint to ensure model relation consistency. (KE-510)

  • Fixed an issue inside the Excel Importer. The Part Model associated to the grid is checked beforehand and its name must correspond with the first header column. If there is a mismatch, a warning is presented to the user. (KE-493)

v3.7.3 (25NOV20)
  • Dramatically improved the loading for bigger grids in context of a widget_id because of a more streamlined query to retrieve the properties from a part. We reused the optimised queries from the filtersets and that resulted in a 10-15 fold reduction in response times in particular cases we saw in the field. (KE-473)

  • We raised the default threshold where bulk kevents are send to the front (the settable flag BULK_ACTION_SIGNALING_THRESHOLD) to an relatively arbitrary 500 items, to avoid missing kevents on the bulk api endpoints..(KE-335)

  • We added the possibility of changing the Scope category in the API. (KE-437)

  • We fixed a legacy scope membership error that was preventing scope cloning. (KE-470)

  • We improved the way to perform a property value filter that is more robust and can handle more value cases. You can use mulitple times prop_values= in the query parameters on the Part api to search for property value filters. This way we can support additional (urlquoted) characters like ,:&. (KE-432)

  • We deprecated the KE-chain 2 frontend from the production source tree and this frontend is not available as a fallback anymore. We removed all links to the old frontend code. (KE-479)

  • We implemented missing frontend kevents for bulk editing of properties. The kevents can be suppressed by providing the suppress_kevents=True in the query params. Otherwise all properties that are updated will receive an updated kevent. Frontend implementation is pending implementation of KE-456. (KE-440)

  • Added 'remove_orphan_buckets' command for cleaning of unrelated Buckets. (KE-480)

  • Implemented MPTT full tree rebuild after failing partial_rebuild. (KE-480)

  • We upped the default version of the python execution environment to python version 3.8. (KE-380)

v3.7.2 (20NOV20)
  • We fixed a nasty issue where a race condition in the validation of incoming JSON fields in the widget api could result in a permanent invalidation of the incoming widget meta's. This was kept in memory. (KE-195)

  • We added a command management script that allows also to find the invalid SINGLE_SELECT_LIST and MULTI_SELECT_LIST properties and fix them by fuzzy matching the injected value with the property options. (KE-453)

v3.7.1 (13NOV20)
  • Added a total_count field to the response of the Excel Importer when previewing. This allows the frontend to know beforehand how many new rows are expected. (KE-457)

  • Fixed a bug that caused the ordering of Parts in PaginatedGrids to not be correct. Now the parts are ordered based on creation from oldest on top to newest on the bottom. (KE-462)

v3.7.0 (10NOV20)

This release adds a new user called supervisor in a scope. This release also adds advanced activity clone with parts options.

  • Added the user role in a project called supervisor. This member is able to edit the catalog environment (ie the form templates) and not the application environment (ie the user interface to add forms and run scripts) of the KE-chain frontend. A supervisor has more rights than the leadmember and less rights than the project (scope) manager. Please refer to the documentation on the support portal for the full discussion on this memberrole. We factually ran out of names for this role so the term supervisor might be a bit confusing, but in the line member, lead member, supervisor and manager the name should suffice and can be changed to how we refer to this role in the frontend. (KEC-21529)

  • Added bulk clone activity or activities with the inclusion of parts. Now activities can be cloned including all of its configured parts. There are switches in the API to only clone the models used in an activity, the models and the instances, the children of the models and you can exclude the clone of some models to 'reuse' the information in an activity widget. eg. project central information. (KE-21627, KE-330)

  • Added a feature where the supervisor (or higher) of a scope can update the ref of an activity using the API. This is a settings that may be injected in the environment variables and allows very tight control over the ref field of an activity. (Assigned) members or leadmember cannot alter this at all. (KE-422)

  • Improved the way we detect (multiple) property value filter. We can now detect quoted characters like &</>. It will throw a failure if you incorrectly quote the values. (KE-250)

  • Improved the way we handle Attachment properties in the context of previewing it in the Excel Importer (KE-433).

  • Improved the handling of JPEG images (from iPhones) that have a built-in thumbnail (a so called MPO image). This was seen as animated GIF and could not be resized properly. (KE-466)

  • Fixed a permission for user assigned to a task. When assigned to a task, the create_new_instance permission should be True.(KE-356)

  • Reinstated the activity_id filter for Parts. (KE-402)

  • Fixed a bug involving the Excel Importer that failed if there was INSTANCE_ID column inside the Excel file. (KE-369)

  • Added a fix that now handles correctly duplicate named properties or when a property and the part model have the same name when import an Excel. (KE-359)

  • Fixed a bug that handles the rendering of a Widget title correctly inside a PDF, even if the widget has no associated Parts or Properties (KE-407).

v3.6.13.3 (6NOV20)

Added manage script to help fixing incorrect single and multiselect list properties. (KE-424)

v3.6.13.2 (27OCT20)

Fixed a bug that handles the rendering of a Widget title correctly inside a PDF, even if the widget has no associated Parts or Properties (KE-407).

v3.6.13.1 (14OCT20)
  • Fixed a bug involving the Excel Importer that failed if there was INSTANCE_ID column inside the Excel file. (KE-369)

  • Added a fix that now handles correctly duplicate named properties or when a property and the part model have the same name when import an Excel. (KE-359)

v3.6.13 (9OCT20)
  • Increased the maximum length of a link (URL) to 4 kB such that we can handle longer links than previous. Now all modern browsers can handle long links. (KE-307)

  • Development and production is now python 3.8 compatbile. (KE-339)

  • Fixed a bug that caused Multi-column widgets to not have their titles rendered in the PDF exporter. (KE-341)

v3.6.12 (3OCT20)
  • Added two new filters property_value_set and widget_property_value_set to the Parts api: the first filtering for Parts not having a value set, the second the same, but within the context of properties related to a given widget. (KE-206)

  • We fixed the issue of the Excel import not creating Part objects. (KE-272)

  • We improved the response of the Share PDF functionality. It is now fully asynchronous and the code has been refactored (KE-199)

  • Added a missing key parentWidth to the multicolumn widget schema. (KE-333)

  • Added migration script to fix old style GPS properties to a proper GEOJSON property. (KE-313)

v3.6.11 (3SEP20)
  • We improved the query for the property_value filter on the Part api. When a complex query for filter was requested through the API it could potentially result in a large load on the database and the underlying system and that is undesired. We refactored it to orders of magnitude faster. (KE-205)

  • Added the Service Card widget and widget meta information in the backend. The Service card widget can be configured in the frontend to show a 'card' (a picture attachment) with a link to execute a certain Service. This is mainly used in the 'APP' environment to execute scripts that need a picture right above it. (KE-172)

  • We changed the way we handle the serialisation of objects that are needed for background tasks. We implemented a serializer capable of handling UUID's and datetime objects natively. (KE-183)

v3.6.10 (26AUG20)
  • Added bulk create parts endpoint to provide a bulk importing of part instances for a known model. This enables very fast importing of large amounts of part instances in the backend. (KE-61, KEC-21975)

  • Added a additional logic to the autocorrect_widgets manage command to (re)set the associations of signature widgets to be always writable as that should be the case. (KE-157)

  • Added name of the user in the team member response. (KEC-22057)

  • Included Scope Reference Properties to the PDF Exporter. (KE-131)

  • Included User Reference Properties to the PDF Exporter. (KE-130)

  • Increased the length of a subject of a notification to 255 characters (before it was 100). (KE-133, KEC-21790)

  • Prepared the back-end for the introduction of an Excel Importer wizard (KEC-21838)

  • Added the Weather Property, Geojson Property next to the Attachment Property on the list of Properties not supported by the Excel Importer (KEC-22010)

  • The importing is now being done asynchronously. This will guarantee that the import will succeed regardless of the number of Parts being imported (KEC-21890)

  • Added Notifications for the user running the Excel Importer. The user will now receive an email being informed of all the warnings discovered during the import (KEC-21849)

  • Added a tasks count per status (OPEN, CLOSED) on the scope object for dashboarding. The field on the scope object is called tasks_status_count. (KE-193)

  • Minor fix for the self documenting API on /doc/api/. When in the past you added the final '/' an error popped up. (KE-204, EXC-5)

v3.6.9 (30JUL20)
  • Fixed an issue where too long urls where caused the rendering of maps to break (KE-111)

  • Fixed an issue where posting a list of non-id objects, as a value to a reference property, would lead to a breaking lookup error (KE-87)

  • Added option to save the user reference property during create part with its properties (KE-83)

v3.6.8 (17JUL20)

Made fixes related to the sending of kevents. Scope kevents were omitted from an import and therefore not processed and for properties the kevents were send out with an incorrect flag (which looked like part kevent) (KEC-22101, KEC-22107)

v3.6.7 (13JUL20)

Removed recently introduced maximum amount of responses per request as it has undesirable effects on retrieval of objects from the backend. (KEC-22103)

v3.6.6 (13JUL20)

Fixed an issue where an excel import could fail due to a missing dependent library package in the backend for production environments. (KEC-21959)

v3.6.5 (10JUL20)

Fixed an issue where an excel import would fail if the INSTANCE_ID was not specified in the header of the Excel. When that is the case, then all rows will become new parts. (KEC-22099)

v3.6.4 (9JUL20)

Fixed an issue where a Weather Property left empty was incorrectly rendered by the PDF exporter (KEC-22071).

v3.6.3 (9JUL20)

Fixed an issue where the kevents channel manager did not create a proper kevent channel for newly connected users. That resulted in that Activity metric kevents where not send out to end users. (KEC-22096)

v3.6.2 (9JUL20)
  • Fixed an issue where a move of an activity with its children from one part of the activity tree to another part (we call that the 'classification' of an activity) did not update the classification of the children (KEC-22090)

  • Fixed an issue where a race condition could result in some harmless background noise (value exceptions) when deleting multiple tasks with navigation bars inside. (KEC-22087)

v3.6.1 (8JUL20)

This release improves the communication with the frontend by introducing scope grouped kevents. The user will only receive kevents from scopes he has access to.

  • We fixed a migration towards the use of geojson where in some cases already existing data could not be properly migrated, causing the migration to fail and storage of geojson (GIS) data to fail for the instance. (KEC-22085)

  • Added name of the user in the team member response. (KEC-22057)

  • Added the concept of a Weather and GeoJSON property type. The weather is provided by https://weatherapi.com and retrieved based on location in the frontend.

  • Updated the way a Weatherwidget is shown in a PDF. It mimics the style how it is shown in the form itself.

  • Updated the way we now download and include maps in PDF's. The map provider is based on https://mapbox.com which provides more flexibility in showing maps. It has a better integration with the storage format of geographical information that we choose to implement namely GeoJSON. We now support not only Points but also Areas, Polygons and other advanced features. It is future proof to work with imported layers in the future.

  • Fixed an issue where the scope object was tried to be retrieved for recently deleted objects which caused an exception while sending deleted kevent. Now we catch that error properly. (KEC-21868) The scope object is needed to understand which users need to be informed of the deleted object through a kevent.

  • Fixed and issue where the authentication to the kevents websocket channel for KE-node's was incorrect. (KEC-21862)

  • The backend websocket channels function is upgrades to channels version 2. Also other libraries are upgraded to accomodate these improvements.

  • the deployment in production relies now only on the ASGI server being run. That means we only need to have daphne running. By the elimination of another layer of distribution of webrequests, we gain a performance improvement of 33% or more in places, cutting 1/3 of the response time.

  • The services execution can now optionally install or suppress the installation of requirements from a kecpkg. When the service is trusted and the install requirements flag is off, it can reduce the execution overhead time. (KEC-21765)

  • We have added the Weather widget inside the PDF exporter (KEC-21896).

  • All the fairly new properties (Multi-select, Weather information, Geographical location, Activity reference, Date) are processed correctly by the Excel exporter (KEC-21806).

  • Fixed the zoom level when you visualize an GeoJson Image inside the PDF (KEC-22010).


  • We discovered a problem where kevents for Services and ServiceExecutions where not correctly passed to the frontend. (KEC-21670)

  • We discovered an issue on the PDF exporter. Some empty grids in teh Activity would break the generation of the PDF. Now they are handled correctly and the PDF is generated (KEC-21775)

  • When we move an activity it will now automagically use the classification of the target parent process. (KEC-21535)

  • We discovered a small issue in the descendant filter in the Part api when an invalid or unknown id is provided. Now we return an informative message to the client in a bad request. (KEC-21623)

  • We improved the 'share activity PDF to an email' API function where previous a recipient email was needed alongside the recipient userid. A list of recipient email addresses is no longer needed. (KEC-21760)

  • We improved the exporting of a Property Grid Widget inside the PDF. Attachment Properties containing images are now showing a thumbnail rather than a path. (KEC-21969)

  • We changed the handling of empty grids inside the PDF. A Grid widget with no parts inside will be shown as an empty table (KEC-21615)

  • Fixed the display of a Geographical location Property inside the PDF grids. (KEC-22005)

v3.6.0 (1MAY20)
  • We included several new property types, including new references properties, JSON property, Multi select list property and some more

  • We added activity cloning to allow for the frontend and API to clone activities in the backend including all of their widgets.

  • We added the possibility to import an Excel or CSV file into a Grid. The recommendation is to first download the Grid into an Excel and work from there, but it is possible to start also directly with a new document. See documentation for more info. (KEC-21602)

  • We added a new option to the Basic Table and Paginated Table widgets. It is now possible to hide the entire Part column from the widget configuration (KEC-21375). The option is also respected when generating the PDF (KEC-21641);

  • There was an issue when exporting a PDF with Form Widgets inside. Sometimes the order of the properties in the PDF was different than the one present in the widget itself. This has now been fixed (KEC-21435, FEEDBACK-3346);


  • We found an issue where cloning a part instance where the model multiplicity would not allow that, would continue. We added tets and additional validations for it. KEC-21639

  • We found a small issue where cloning a scope will emit a websocket kevent to the frontend. In that websocket information is requested that is 'yet' to be created in the cloning of the scope. (KEC-21663)

  • We found a minor issue where an 'is_container' flag on the part object gives an error. KEC-21673

  • We encountered an issue where the bulk deletion of updating of parts would allow a malformed request payload, while it did not invalidate it right away and caused a disturbance in the force further down. We improved the validation and added additional tests to cover this usecase. (KEC-21720)

  • We encountered an issue where a combination of property value filters to retrie

v3.0.0 (JUL19)

This is the next major release of the backend (in combination with the frontend) of KE-chain. There are backward incompatible changed present, however we provide a automatic upgrade path to all of them.


  • We added an image processing pipeline to autocorrect JPEG's that are made with mobile phones that show discrepancy between what you see in the browser and how it is stored on disk (rotation and mirroring) (KEC-20358)

  • We added the concept of a 'representation' to properties to display properties in the frontend in a certain fashion. E.g. we can now show the number of decimals or the significant digits in the frontend. (KEC-20407)

  • Introduce widget level associations of parts. This will provide a better calculation of progress and readiness to the frontend. Also you can now add more widgets and configure separate links to the same data model, eg. showing a propertygrid in a multicolumn widget side by side and configuring one propertygrid to the some of the properties in read-only mode, and the second propertygrid to the same or other proprties in edit mode. All thanks to widget-level associations.

  • One can now move widgets to and from multicolumn widgets (KEC-20413)

  • Added many API endpoints to facilitate the new front-end form editor.