25 July 2021 Release Notes¶
Version 1.1.223
Feature Highlights¶
Stay tuned for new DataKitchen features in coming releases!
Other Fixes & Enhancements¶
Search Added to Recipe Filter: The Filter drop-down list on the Recipes page can be very long in some kitchens. Users requested a search field to avoid excessive scrolling in finding and selecting recipes. The search function has been added in this release. [DEV-8407]

Users can search the recipe filter list instead of scrolling.
Users Can Add a Variation to an Empty Recipe: The platform was preventing users from adding variations to a recipe that had all of its components deleted. Users who want to build variations beginning with an empty recipe can delete the default nodes, graph, and variation from the recipe, then click the Add Variation button on the Recipes page. After populating all fields in the Add Variation dialog, however, users found that the Add button remained unavailable. This issue has been resolved, and users can add variations as expected. [DEV-8742]
Ingredient Mapping Made Easier: When configuring an ingredient node, webapp users had to choose the ingredient variation to call from that node by selecting the kitchen, recipe, and ingredient title from separate, often lengthy drop-down lists. The recipe list included all recipes, not just the recipes that contain ingredients. With this release, the recipe and ingredient drop-down lists have been combined to display ingredients grouped by recipe, and users can search for ingredients by title within a selected kitchen. See Configure Ingredient Nodes for more information. [DEV-6826]
| OLD FIELDS | → | NEW FIELD |
Users can find ingredients faster in ingredient node configuration.
Auto-Refresh Extended in Order Run Results: To facilitate order monitoring, this release adds an auto-refresh feature to the Test Results, Runtime Variables, and Timings dialogs accessed from the Order Run Details page. [DEV-8680]
Syntax Error Resolved for Order Run Details to Load Properly: Order runs of variations containing runtime variables set to Python NaN values were triggering system errors such as "SyntaxError: Unexpected token N in JSON..." and preventing the Order Run Details page from loading. Container nodes in these variations generate export variables for testing using a my_variable = float('NaN') syntax. The system was not parsing these "not a number" values as valid JSON. This issue has been resolved; the platform parses Python NaN values properly, and order run results are accessible for these variations. The Runtime Variable dialog displays NaN values as null at this time. [DEV-8444, DEV-8480]
Order Run Graph Performance Improved: Users reported that the graph on the Order Run Details page appeared to be very slow in updating results from order runs that otherwise processed quickly. This problem hindered order run and resumed order run monitoring. The cause of the performance degradation was traced to a recent platform update. This issue has been resolved by removing duplication in node status handling and optimizing the status calls. [DEV-8507, DEV-8428]
Order Run Error on Dictionary Addressed: An order run was failing infrequently with a "dictionary changed size during iteration" error. This problem was caused by a concurrency issue where one thread attempted to update a dictionary that another thread was processing. This issue has been resolved; this and similar order runs process properly. [DEV-8764]
Messaging Updated for Large Order Run Logs: Infrequently, order runs record an extremely large number of log entries that reach a storage limit. This scenario was causing the system to stop execution and fail these order runs without sufficient feedback to users or support staff. This problem has been addressed for the short term by limiting logging and providing clear messages in logs and email alerts, while continuing order run processing. [DEV-8357]
Logging and alerts follow these rules.
- If logs reach a warning threshold, the system begins logging only warnings and errors and generates this message and alert.
Order run log nearing maximum capacity. Only warning and error entries will be recorded.
- If logs reach the storage limit, the system reduces logging to a minimum and generates this message and alert.
Order run log reached maximum capacity. Only closing entries will be recorded.
Default Updated for Schedule Start Deadline: When users set schedules for their orders, they can set a time period during which the system will attempt to execute the order if it missed its scheduled time. The default for this Start Deadline was 15 seconds, but this releases changes it to 120 seconds in order to provide sufficient time for system processes. The system will use the 120-second deadline when the setting is blank or set to any number less than 120. See Schedule Settings for more information. [DEV-8577]
Test Variable Menu Includes Exports: In a node's test configuration, the drop-down list for the Test Variable field traditionally included only predefined base recipe variables, overrides, and predefined runtime variables. With this release, the drop-down list also includes variables exported during execution of a container script. See Test Properties for more information. [DEV-8159]
Datatype Casting Updated in Test Logic: The platform was applying selections in the Type Conversion test logic field to the test variables but not applying them to the control value metrics. As a result, some users discovered their tests had failed because the system had cast their test variables and test metrics as different datatypes. This issue has been resolved for all supported datatypes except string; both test variable and test metric are cast as the user-selected type. See Test Properties for more information. [DEV-7659]
String Type Exception: For tests using the String type conversion where the Test Variable resolves to a non-string value, the tests will process due to a safeguard in platform code but will log the following message: Warning: Test attempting a string comparison on the test variable that is not a string. In a future release, the platform will fail this test when casting the non-string variable as a string. Update the test now to use "None" (webapp field) or "test-contents-as-default" (JSON value) or a more appropriate type conversion to prevent failures.A follow-up release will apply the datatype casting change to strings as well, removing the safeguard. Tests that use the String type for string variables will continue to process as expected.

The platform casts both test variable and metric as the selected type. The update does not apply to strings.
Resources Folder Restored: A recent platform update caused the system to no longer create the default Resources folder in a new recipe. Users reported the problem when attempting to add files to that shared folder via the File Editor. This issue has been resolved, and the Resources folder is created in new recipes as expected. Note that it contains a required placeholder.txt file solely to maintain the directory structure. [DEV-8638]
System Variable Fixed: Users reported that the system variable ParentKitchen was resolving to an empty string. This issue has been resolved, and the variable resolves to the name of the current kitchen's parent as expected. [DEV-8516]
WebApp Refines Merge Display: When there are conflicts during a merge down from parent to child kitchens, users want to know immediately if the changes are related to the recipes they are working on in their child kitchens. They also want to know who has made any changes that may affect their work in order to collaborate on the modifications. This release makes two small changes to assist with these quick identifications. [DEV-8232]
- The file list in the left-hand pane of the Merge page now has a Collapse All Expand All button to reduce the complexity of the list.
- The count of recipes with changes and count of authors have been removed from the Merge Editor header bar, as the more useful recipe and author lists can be found in the Merge Details sidebar.

Users find their recipes fast with collapse function to focus only on changes relevant to their work (here, the test_connector_gcs recipe).
Software Version Displays in Platform: This release adds the current platform version in the Help menu. The Release version list item is linked to an index page for release notes for a quick reference to features and updates. The version number may be important information to include when reporting support issues. [DEV-6296]

Users can find the release version in the platform's Help menu.