2024 07 24 release notes (core)

Release summary

This page summarises items scheduled for the following release to the Patchworks Production environment:

Patchworks core (backend)

Release version Release date

1.21.3

24th July @ 9am

Patchworks dashboard (frontend)

Release version Release date

1.15.4

24th July @ 9am

This release includes possible breaking changes related to the validation of process flow filters and transforms. Please ensure that you check the Breaking changes section.

Items detailed below are subject to change. This page will be updated up to (and including) the time of release.

New features, updates, and enhancements of note are summarised by product area, below:

Process flows

TypeSummaryRef #
Breaking change

Filters: enforced validation for data types Additional validation has been added for filters, which means that input values must be of the expected data type.

This is a phased change. Phase 1 was implemented on the 17th July 2024. Phase 2 is implemented in this release. For more information please see the Breaking changes section.

CPT-2862

Breaking change

Transforms: enforced validation for data types Additional validation has been added to all transform functions, which means that input values must be of the expected type. For example, if a transform function is expecting a number value for its input and a string is provided, validation will fail. This is a phased change. Phase 1 was implemented on the 21st March 2024. Phase 2 is implemented in this release. For more information please see the Breaking changes section.

CPT-2982

Breaking changes

This release includes changes that may cause process flow runs to produce errors, or to fail. Please follow the advice below to avoid any issues:

(1) Filter validation enforcement

When defining process flow filters (for example, in a filter or route shape), you select a data field and then the corresponding data type for this field - for example:

In this release, we start to enforce the specified data type for any filters. For example, if a filter based on the customer_id field is defined to expect string data, but the incoming payload provides these values as numbers, this will cause a validation error.

What's happening?

Filter validation issues will be enforced in two phases:

PhaseWhat will happenWhen

1: Warning

2: Enforcement

If a process flow runs and an invalid data type is passed into a filter, an error message will be displayed in the run logs and the process flow run will fail.

24th July 2024

Phase 1 was implemented on the 17th July 2024. We recommended making the following checks before this time:

Filter & route shapes

Check any filter and route shapes in your process flows now, and ensure that defined data types reflect your source data. If you find a mismatch, you can:

  • Change the data type for the process filter, if appropriate

  • Apply a field transform (via a map shape) immediately before the filter step to convert incoming values to a different data type. Several transform functions are available which can help to change data from one type to another - please see Working with field mapping transformations for more information.

  • Change the data type for this value at source (if you have the option to do so)

Connector shapes

Check any connector shapes in your process flows, and ensure that defined data types reflect your source data. If you find a mismatch, action depends on whether the connector is a standard Patchworks connector or a custom connector that was built by your own company with the Connector builder:

  • For a standard Patchworks connector, it’s advisable to change the data type for this value at source. If this isn’t possible, you can edit the filter within the connector endpoint setup and change the data type to match source data. However, be aware that if you subsequently install a Patchworks update for this connector, your changes will be overwritten.

  • For custom connectors, you can edit the filter within the connector endpoint setup and change the data type to match source data.

After the release on the 17th July 2024, please review run logs for all of your active process flows and check if there are any warnings - for example:

You can filter your run logs list so that only entries with warnings are displayed.

If warnings are given, please check the associated process flow and make changes as detailed above.

Phase 2 action required

Phase 2 is implemented in this release. We recommend checking run logs for your flows with extra care as soon as possible after this release, just in case validation issues are still present.

(2) Transform validation enforcement

Similar to the filter validation enforcement change detailed above, this release enforces the specified data type for field mapping transform functions.

For example, if a string > lowercase transform is defined to convert the customer_id field to lowercase but the incoming payload provides these values as numbers, this will cause a validation error.

What's happening?

Transform validation issues will be enforced in two phases:

PhaseWhat will happenWhen

1: Warning

If a process flow runs and an invalid data type is passed into a transform function, a warning message is displayed in the run logs. This message includes the name of the transform function that needs to be checked/updated. For example:

Any issues identified in this way will not cause the process flow to fail at this time. However, if identified issues are not resolved, the process flow will fail when Phase 2 of this change is released.

Note: This phase was implemented on the 21st March 2024.

2: Enforcement

24th July 2024

Action required

With the implementation of Phase 1 on the 21st March 2024, you will have been receiving warning messages in run logs in the event of any transform validation errors.

We recommend checking run logs for your flows with extra care before and after this release, just in case validation issues are still present.

If warnings are present, check any map shapes in relevant process flows and look for transform functions. Where found, check whether an expected data type is specified and if yes, ensure that defined data types reflect your source data. If you find a mismatch, you can:

  • Change the data type associated with this value at source (if you have the option to do so).

  • Add a transform function immediately before, which changes to the data to the required type. For example, cast a string to a number or a number to a string.

  • Use a different transform function (if applicable).

Last updated