Semarchy xDM 2024.3 release notes

This page provides the latest information about Semarchy xDM version 2024.3, including new features and bug fixes.

Support information

Semarchy xDM version 2024.3 is a mainstream support (MS) release.

MS product versions are released throughout the year. They showcase the latest features and enhancements, and will receive active support for a limited period.

Alternatively, long-term support (LTS) versions offer a longer maintenance period with patches and fixes, and benefit from extended support.

For more details about our releases and support policies, see our support and maintenance terms.

Feature highlights

Additional GenAI enrichers

Generative AI enrichers were introduced in the 2024.2 MS release. We have continued developing the built-in GenAI plugins available to designers of MDM applications with the addition of enrichers that leverage models such as GPT, Google Gemini, and Amazon Titan, available through prominent providers like Microsoft Azure AI, Vertex AI, and Amazon Bedrock.

AI-based classification enrichers

AI-based classification enrichers are now available to automate the categorization of data with little (few-shot) to no (zero-shot) prior training on labeled datasets. These new plugins analyze text and can assign records to predetermined categories, eliminating the need for extensive manual classification. Designers will benefit from customary ease and flexibility in configuring the parameters needed to implement the enrichers, while end-users will experience seamless integration of automated, AI-based classification of records directly in their MDM applications.
Both enrichers use models accessed through the Hugging Face API and allow flexibility in choosing a model that suits the nature of the data to be classified.

Purview connector update

The latest update to the Purview connector introduces the capability to publish xDM entities to a data product in Microsoft Purview. These assets are designated as golden-record data and are now displayed alongside the Semarchy xDM logo, ensuring users can easily identify them while browsing data products.

Set Workflow Metadata automation

In the Workflow Builder, a new Set Workflow Metadata automation allows configuring specific workflow properties, such as description, start comment, priority, due date, and next task assignee metadata, using SemQL and literal values. Among its potential applications, this new feature enables efficient task scheduling by empowering designers to dynamically set due dates based on current date or record data. Furthermore, comments or descriptions can provide context for workflow instances that were started automatically.

Start From Selected Parent startup context

In the Workflow Builder, designers can now configure data-driven workflows to start from a specified parent entity’s record by selecting the Start From Selected Parent startup context. This new feature enables users to initiate workflows on child entities and facilitates the creation of records by automatically linking them to their parent record. Additionally, this new startup context can be used through the workflow administration REST API using the parentRecordSelectionFilter startup parameter.

Other notable changes

SQL Server 2022 certification

Semarchy xDM supports SQL Server 2022 across on-premises installations and cloud platforms, including Azure SQL Database, Amazon RDS for SQL Server, and Cloud SQL for SQL Server.

Changelog

Version 2024.3.0

Known issues

  • MDM-7254: With PostgreSQL, the application server hosting the Semarchy xDM instance and the database server must be in the same timezone to avoid inconsistent dates in the integration loads.

  • MDM-7917: A boolean field default value is set to null when creating a record and to false when editing it.

  • MDM-7949: A model with a physical column name using a reserved name raises a validation error but can be deployed.

  • MDM-8034: When stopping Semarchy xDM using the Tomcat Manager, a Severe message is logged with org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks…​. This message is a known Tomcat issue that can be ignored.

  • MDM-8703: Data import from Excel does not properly handle dates before February 28, 1900.

  • MDM-8977: Changing a reference to a fuzzy-matching entity while authoring a master record is not taken into account.

  • MDM-9184: Existing FS_ and FP_ reference column values in a basic entity are overwritten by an enricher when this record is modified by the API or by authoring.

  • MDM-10193: When a record in an entity is updated, records with the same ID in inheriting entities are also updated.

  • MDM-10269: Using the SEM_NUMBER_TO_CHAR function with a string argument does not raise a model validation error but fails with an invalid number error in the log.

  • MDM-10319: Authoring the same record in two different browser windows makes the second authoring fail with a java.lang.IllegalStateException: Current Step (products) should be a form step error.

  • MDM-10738: Duplicate flexElement error occurs at runtime when using a transition named like a form element (e.g., "field", "container") in a business view.

  • MDM-12415: Long-integer values higher than 9223372036854700 raise errors when authoring (Invalid ID for data type (longInteger)) or browsing (<entity name> not found) records.

  • MDM-13099: When moving an attribute from one group to another governed by a different survivorship rule, any overridden value within this attribute causes all other attributes in the new group to be considered overridden as well. Consequently, the values of these attributes may be nullified during the subsequent execution of the certification process, unless override values have previously been defined. To minimize potential negative impacts on data consistency and accuracy, designers should consider moving attributes with pre-existing overridden values to a group that does not include any other attributes.

New features

  • MDM-14395: Data-driven workflows can now be configured to start from a specified parent entity’s record by selecting the Start From Selected Parent startup context. This feature allows users to initiate workflows on child entities and automatically links new records to their parent record. Additionally, this startup context can be used through the workflow administration REST API using the parentRecordSelectionFilter startup parameter.

  • MDM-14760: In the Workflow Builder, a new Set Workflow Metadata automation allows designers to configure specific metadata properties using SemQL and literal values. These properties include description, start comment, priority, due date, and next task assignee. This feature facilitates efficient task scheduling by enabling designers to dynamically set due dates based on the current date or record data. Additionally, comments or descriptions can provide context for automatically started workflow instances.

  • MDM-14860: Semarchy xDM supports SQL Server 2022 across on-premises installations and cloud platforms, including Azure SQL Database, Amazon RDS for SQL Server, and Cloud SQL for SQL Server.

  • MDM-15187: The latest update to the Purview connector introduces the capability to publish xDM entities to a Microsoft Purview’s data product. These assets are designated as golden-record data and are now displayed alongside the xDM logo, ensuring users can easily identify them while browsing data products.

  • MDM-15189: To facilitate immediate comprehension of asset relationships in Purview, the display name for physical tables published by the Purview connector now reflects the name of the respective table instead of the table type (e.g., se_person instead of Source Errors).

  • MDM-15206: Two new enrichers based on Azure OpenAI models have been added to the list of available generative AI plugins. The GenAI Azure enricher generates text responses based on user prompts, while the GenAI Azure structured enricher simplifies the extraction of structured data from unstructured text.

  • MDM-15212: Two new enrichers based on Google Gemini models have been added to the list of available generative AI plugins. The Semarchy GenAI Gemini enricher generates text responses based on user prompts, while the Semarchy GenAI Gemini structured enricher simplifies the extraction of structured data from unstructured text.

  • MDM-15227: Two new enrichers based on models available through Amazon Bedrock have been added to the list of available generative AI plugins. The Semarchy GenAI Amazon Bedrock enricher generates text responses based on user prompts, while the Semarchy GenAI Amazon Bedrock structured enricher simplifies the extraction of structured data from unstructured text.

  • MDM-15229: An AI-based zero-shot classification enricher is now available to automate the categorization of data without prior training on labeled datasets. This plugin leverages advanced machine-learning techniques to analyze text and assign data to predetermined categories, eliminating the need for extensive manual classification.

  • MDM-15421: To prevent notifications from being indefinitely delayed due to connectivity issues with remote servers, a default timeout duration of 30 seconds is applied to SMTP and SMTPS notification servers using mail.smtp.* and mail.smtps.* timeout properties, respectively, when platform administrators do not specify any value.

  • MDM-15442: When using a GenAI structured-response enricher, xDM now provides a user-friendly and informative error message if a large language model (LLM) returns a malformed JSON response.

  • MDM-15445: The Docker image for the updated Purview connector is now available for download on Docker Hub.

  • MDM-15485: End-users now have the option to remove specific records from the basket of records handled in a workflow instance. This enhancement allows for the rejection of individual records within a multi-record workflow step.

  • MDM-15555: Semarchy GenAI OpenAI and Azure enrichers now support GPT-4o.

  • MDM-15573: An AI-powered few-shot classification enricher is now available to enhance data categorization with minimal labeled data provided beforehand. This pluginanalyzes text and assigns data to predefined categories. By learning from a few examples, it significantly reduces the need for extensive manual classification and accelerates the categorization process in specialized contexts where there is limited labeled data available for training generic machine learning models.

Bug fixes

  • MDM-14714: Attempting to apply row-level filter privileges to an entity with a SemQL condition involving an attribute of a parent entity and the IN operator fails with a java.lang.IllegalArgumentException error in the PDE log.

  • MDM-14786: Even after data locations are deleted, xDM continues to send information regarding these data locations to the license server.

  • MDM-14797: When attempting to publish records that reference a data-entry-based golden record related to a fuzzy-matching entity, despite the F_ column being appropriately populated in the SD table, the certification process fails in referencing the parent record, with the resulting golden record exhibiting a null value in the F_ column. The fix for this issue will only take effect after the model has been redeployed.

  • MDM-14800: X-Forwarded-For headers are available despite the allowXForwardedHeaders system property being set to false, potentially causing undesired header handling. For enhanced control and security, the default (false) behavior of the allowXForwardedHeaders property now removes X-Forwarded headers from requests.

  • MDM-14820: Security enhancement: authentication mechanism.

  • MDM-14824: Security enhancement: REST API documentation.

  • MDM-14886: When attempting to filter records in a collection based on a decimal-type attribute, the applied filter does not return any results.

  • MDM-14975: While configuring identity management in the Configuration module, removing the value from the Synchronize from column of an LDAP attribute results in a failed validation test and throws an unexpected exception: java.lang.IllegalStateException: java.lang.IllegalArgumentException: Attribute ID must not be empty.

  • MDM-15029: Image file upload security enhancement.

  • MDM-15064: Applying row-level filter privileges to an entity, specifically when the condition references a child entity through a SemQL lookup expression, raises a java.lang.IllegalArgumentException error in the PDE log and makes the application inaccessible to users with restricted privileges.

  • MDM-15156: Under specific conditions when configuring a stepper in the Application Builder, a discrepancy arises in the display of the DETECT_DUPS validation, with it appearing multiple times for one entity but not at all for other entities in the Validations table.

  • MDM-15226: Attempting to create a replica datasource through the user interface when the original datasource was initially created using the REST API fails with the following JavaScript error message: Error: Minified React error #31.

  • MDM-15298: When navigating the Explain Record view within an MDM application, the Value tab exclusively displays the golden record column, while the master record columns remain empty, showing no labels or values.

  • MDM-15302: Within the Workflow Builder, the attribute list in the SemQL editor’s Assignment Condition view remains empty when the related model includes entities that inherit from other entities.

  • MDM-15308: When attempting to access a workflow user task from the My Tasks interface, a generic unexpected error occurs if the associated collection configured to display in My Tasks references a model variable. The following error message is logged: com.semarchy.datahub.runtime.workflow.service.WorkflowEngineException: Missing named parameters.

  • MDM-15310: The Semarchy Email enricher does not return the expected cleansed domain names in both online and offline modes, specifically when the domain extension is missing from the input email address.

  • MDM-15313: Upon initializing a data-driven workflow, delays are encountered in reaching the first user task step due to a large number of potential candidates, despite configuring the initiator role as 'none' and enabling any user to claim the first task.

  • MDM-15315: While configuring a SAML identity provider, trying to access the service provider metadata URL results in an internal server error and writes a java.lang.IllegalStateException error to the PDE log. This prevents the download of the SAML service provider metadata in XML format.

  • MDM-15317: Third-party component upgrade: Apache Tomcat for xDM preconfigured, Docker image, and cloud images (QuickStart VM and Azure Solution Template).

  • MDM-15320: Third-party component upgrade: Apache CXF.

  • MDM-15326: In the table view of a duplicate manager, columns defined with a SemQL expression containing golden record attributes show empty values for master records. This missing data prevents the calculation and display of the edit distance between master and golden records.

  • MDM-15335: Semarchy GenAI OpenAI enrichers now include tolerance for trailing commas to prevent JSON parsing failures caused by trailing commas in OpenAI JSON responses.

  • MDM-15337: The Save button on the Identity Management page remains disabled even after modifications have been made to the configuration settings.

  • MDM-15347: Third-party component upgrade: Netty.

  • MDM-15354: Third-party component upgrade: Markdown-it.

  • MDM-15355: Navigating the My Tasks interface using the breadcrumb trail consistently redirects to the In Progress task board category, despite clicking on To Do or Team To Do.

  • MDM-15357: In the context of integration jobs, Boolean model variables are systematically evaluated to false regardless of their actual value.

  • MDM-15358: Attempting to delete master records from the Master Records tab within a business view fails with an Insufficient privileges error message, resulting in the deletion process being aborted.

  • MDM-15373: Forms configured to open within an MDM application that uses a color theming scheme including css: green as a secondary color appear blank upon opening in the application interface.

  • MDM-15374: Security enhancement: internal API access control.

  • MDM-15375: Within an MDM application, the Explain Record action encounters an unexpected exception when the current user lacks access to one or more attributes due to the model privilege grants defined for their role(s). Specifically, if a fuzzy-matching entity’s attribute is granted None access but included in the Explain Record view, the following error occurs: com.semarchy.mdm.datahub.security.datapermission.DataPermissionDeniedException: READ for expression [<attribute>] on entity <Entity> is not authorized.

  • MDM-15376: When multiple transitions are available from a user task in a workflow, the Assignee drop-down menu for selecting the next task’s assignee in the transition dialog consistently and exclusively shows the candidate list for the task targeted by the first transition configured in the current user task’s settings.

  • MDM-15377: Third-party library upgrade: Bouncy Castle.

  • MDM-15401: Despite configuring a form field as read-only in a legacy workflow, records remain editable in the corresponding stepper, including binary fields marked as read-only.

  • MDM-15403: When attempting to save a space character as a thousand separator within SAML identity providers, the save functionality remains inactive, preventing the application of the space as intended.

  • MDM-15420: When using a SemQL expression that incorporates the ClassName attribute for ID generation and trying to persist records via a POST request in a REST API environment, two distinct errors arise: omitting the ClassName attribute from the JSON payload prompts an error message indicating java.lang.IllegalArgumentException: Some attributes required to compute the id are missing from inputAttributes: [ClassName]; conversely, including the ClassName attribute in the JSON payload triggers a different error, specifically com.semarchy.mdm.runtime.data.InvalidDataAccessAPIUsageException: Attribute Adde.ClassName not allowed in persist calls.

  • MDM-15448: When creating a child record through the REST API, if the parent is an instance of a fuzzy-matched entity, the FP_ and FS_ values provided in the source record are overwritten with values from another existing parent master record, resulting in a loss of information and incorrect associations between the child and parent records.

  • MDM-15449: The initial attempt to call the REST API or application readiness probe endpoints results in a 503 error, with subsequent identical attempts returning a 204 response. Starting with version 2024.1.6, the model cache for these endpoints is loaded at startup to prevent the initial 503 error. This change may increase startup times for applications with large models. Platform administrators can revert to the previous behavior by setting the system property xdm.api.rest.model.unsecured.cacheEagerLoad.enable to false, delaying the model cache loading until the first call to the probe API endpoints.

  • MDM-15454: Upon importing or publishing master records for a fuzzy-matched child entity through a workflow designed to handle erroneous golden records of this entity, the workflow encounters a failure while attempting to update multiple columns within the child entity table referencing the parent. This failure results in a multiple assignments to same column "parent" error message in the PDE log.

  • MDM-15476: When accessing a dashboard application incorporating multiple dashboards that exceed the visible area in the navigation drawer, the scroll bar is missing from the side navigation panel, which makes it challenging to navigate beyond the dashboards immediately visible in the list.

  • MDM-15487: When trying to assign a legacy workflow task, the list of candidate assignees is not sorted alphabetically in the transition dialogs, making it difficult to efficiently locate users and assign tasks.

  • MDM-15489: Within an MDM application, binary fields remain editable in read-only forms, allowing modifications that persist inconsistently based on entity type and previous overrides.

  • MDM-15511: When drilling down into a dashboard chart and rearranging the column order using the Select Columns action, the Reset button in the dialog box fails to revert the column order back to its original default state.

  • MDM-15531: When drilling down into a dashboard chart, rearranging the column order using the Select Columns action does not result in the expected modification of column order in the displayed table view.

  • MDM-15541: When trying to assign a legacy workflow task in My Tasks, the list of candidate assignees shows usernames instead of first and last names.

  • MDM-15574: When configuring a user task step in the Workflow Builder, if the primary text expression of a display card from the relevant entity contains an FDN_ attribute from a parent entity, editing the task’s Assignment Condition property causes the SemQL editor to crash. Consequently, an Invalid SemQLAttribute qualified name exception occurs, and no SemQL attributes are displayed in the attribute list.

  • MDM-15601: Workflow tasks assigned to users with an apostrophe (') or left single quotation mark () in their username—​or to a role including such users—​do not appear in the My Tasks interface. Instead of displaying the assigned tasks, a Generic.UnexpectedError error page is shown.

  • MDM-15965: Models containing validation errors cause xDM to fail during startup with the following error message: Unable to start Semarchy xDM platform caused by: NullPointerException.