This is a summary of the major changes made in version 24 of Symphony. It is provided so you can quickly identify new and changed features before upgrading from Symphony 23 to Symphony 24. Symphony is offered on a quarterly release schedule, and our version numbering system reflects this. The current major release of Symphony is v24.4.

Upgrade Considerations

Be sure to back up your metadata store (see Back Up the Metadata Store) before you upgrade. To ensure services start properly after upgrade in a Linux environment:
  1. Verify all of your JVM setting overrides are defined in the /etc/zoomdata directory (not /opt/zoomdata/conf).
  2. The .jvm files in /etc/zoomdata/ only contain parameters that are different from default ones, typically Xms/Xms settings, javaagent settings. If you have copied the entire .jvm file from /opt/zoomdata/conf for placement into /etc/zoomdata, that configuration is not overwritten after upgrade. Properties such as XX:+UseConcMarkSweepGC can prevent services from starting on Java 17 runtime.
For more information on configuration setups and overrides, see Configure Memory Settings and Connector Properties and Property Files.
Note:If you are upgrading from an earlier version of Symphony, this may be a breaking change: the introduction of the system attribute User.timeZone may cause a conflict if you used this as a custom attribute. See Upgrade Workflow.

Enhancements

The following sections provide you with a summary of enhancements in the previous releases, all of which are present in the latest release of Symphony.

v24.4 Enhancements

v24.3 Enhancements

v24.2 Enhancements

The following enhancements were made to Symphony v24.2. Select the links for more information.

v24.1 Enhancements

The following enhancements were made to Symphony v24.1. Select the links for more information.

Removed Features From Symphony v23

The following features were removed from Symphony v23 to make way for improvements in Symphony v24.

Symphony 24.4

TitleDescription
24.4.1 Removed Features
None.
24.4 Removed Features
None.

Visual Data Discovery Module

TitleDescription
24.4.3 Removed Features
None.
24.4.2 Removed Features
None.
24.4.1 Removed Features
None.
24.4 Removed Features
None.

Managed Dashboards and Managed Reports Modules

TitleDescription
24.4.1002 Removed Features
None.
24.4.1001 Removed Features
None.
24.4 Removed Features
POST /File/Copy and POST /Project/DuplicateThe return values of the following REST and JavaScript API methods have changed: POST /File/Copy/ returns a CopyResultData and copyEntry a CopyResult, and POST /Project/Duplicate/ returns a DuplicateProjectResultData and duplicateProject a DuplicateProjectResult.

Symphony 24.3

TitleDescription
None.

Visual Data Discovery Module

TitleDescription
None.

Managed Dashboards and Managed Reports Modules

TitleDescriptionAlternative
None.

Symphony 24.2

TitleDescription
None.

Visual Data Discovery Module

TitleDescription
None.

Managed Dashboards and Managed Reports Modules

TitleDescriptionAlternative
None.

Symphony 24.1

TitleDescription
None.

Visual Data Discovery Module

TitleDescription
None.

Managed Dashboards and Managed Reports Modules

TitleDescriptionAlternative
None.

API Updates in Symphony v24

This table provides a breakdown of all reported updates in Symphony v24.

Symphony 24.4

Visual Data Discovery Module

EndpointMethodDescription
24.4.3 API Updates
None.
24.4.2 API Updates
None.
24.4.1 API Updates
None.
24.4 API Updates
/api/sources/{source\_id}/cache?cacheType=ENTITY\_DATADELETEThis endpoint has been expanded to allow you to clear the ENTITY_DATA cache in addition to the DATA and STATISTICS cache.

Managed Dashboards and Managed Reports Modules

EndpointMethodDescription
24.4.1002 API Updates
None.
24.4.1001 API Updates
None.
24.4 API Updates
Logon EndpointsWhen logging on using .NET or REST with administrator credentials and setting EffectiveAccountName/EffectiveCredentials, optionally also apply CustomAttributes or set AccountProperties to create or update an account.
/DataCube/StorageInfoGETAccess data cube storage run time details by calling GET /DataCube/StorageInfo/ to get StorageInfoData or getStorageInfo in JavaScript to get StorageInfo.

Symphony 24.3

Visual Data Discovery Module

EndpointMethodDescription
None.

Managed Dashboards and Managed Reports Modules

EndpointDescription
ModifyGroupMembershipForAccount ModifyGroupMembershipForGroup.NET API methods ModifyGroupMembershipForAccount and ModifyGroupMembershipForGroup now return a value.
REST APIThe OpenAPI file describing the REST API is not included in this version due to changes in third party tools, but it will be re-added in future versions.

Symphony 24.2

Visual Data Discovery Module

EndpointMethodDescription
/api/group-membership/{id}PATCHManage group membership for users by updating a group: define usersToAdd and usersToRemove to include a single user or an array of users.
/api/inventory/{type}/ and /api/inventory/{type}/{id}GETIf you created dashboards and visuals that include your own originID, calling this endpoint returns each item and their associated originID, if applicable.
/api/sourcesGET/PUTUse to return and define information for a source.
/api/sources/{sourceId}/clonePOSTUse to create a copy of a source.
/api/groupsPOST, PUTYou can now assign an identifier to your groups using externalId that is unique across tenants. This does not change or replace the accountId assigned by Symphony. The externalId is not available in the UI.

Managed Dashboards and Managed Reports Modules

EndpointMethodDescription
None.

Symphony 24.1

Visual Data Discovery Module

EndpointMethodDescription
/api/sources/exportGETThese attributes are returned for sources in your environment. Include these attributes to work with import matching strategies

  • connections[].originId – Returns the value of the connection ID from the imported connection
  • sources[].originId – Returns the value of the source ID from the imported source
/api/sources/importPOSTWhen you import objects into your environment, you can define a matching strategy that uses multiple approaches to reviewing objects to determine how to handle them in conjunction with your selected insertion strategy.
Matching strategies are processed in order, proceeding to the next and the next if a strategy fails.

If all strategies fail, the object is imported and tagged with your selected tags to help you find affected objects and manage any issues.

These attributes are used to define the matching strategy and warning tags to use for import. Send as an array; each strategy is considered in order.

  • importSettings.objectClassLevel.connections.matchingStrategy[]- Send an array of matching strategies to be considered, in order, for connections. This array can include:
    • BY_ORIGIN_ID
    • BY_ID_AND_TYPE_AND_PARAMS
    • BY_TYPE_AND_PARAMETERS
    • BY_NAME_AND_TYPE
    • BY_TYPE_AND_PARAM_KEYS
    • BY_NAME
  • If an order is not specified, the default strategy ofBY_ID_AND_TYPE_AND_PARAMS or BY_TYPE_AND_PARAMETERS is used


  • importSettings.objectClassLevel.sources.matchingStrategy[] - Send an array of matching strategies to be considered, in order, for sources. This array can include:
    • BY_ORIGIN_ID
    • BY_ID_AND_TYPE_AND_PARAMS


    • If an order is not specified, the default strategy of BY_NAME is used.

    • importSettings.warningTags[] - Send an array of warning tags to apply to objects imported with warnings.

    • Send enableDefaultRead to enable data read permissions for the sources imported for all users in the tenant.
    /api/dashboards/exportGETThese attributes are returned for dashboards in your environment. Include these attributes for importing.
    • connections[].originId
    • sources[].originId
    • visuals[].originId
    • dashboards[].originId
    /api/dashboards/importPOSTWhen you import objects into your environment, you can define a matching strategy that uses multiple approaches to reviewing objects to determine how to handle them in conjunction with your selected insertion strategy. Matching strategies are processed in order, proceeding to the next and the next if a strategy fails.

    If all strategies fail, the object is imported and tagged with your selected tags to help you find affected objects and manage any issues.

    These attributes are used to define the matching strategy and warning tags to use for import. Send as an array; each strategy is considered in order.
  • importSettings.objectClassLevel.connections.matchingStrategy[]- Send an array of matching strategies to be considered, in order, for connections. This array can include:
    • BY_ORIGIN_ID
    • BY_ID_AND_TYPE_AND_PARAMS
    • BY_TYPE_AND_PARAMETERS
    • BY_NAME_AND_TYPE
    • BY_TYPE_AND_PARAM_KEYS
    • BY_NAME
    If an order is not specified, the default strategy of BY_ID_AND_TYPE_AND_PARAMS or BY_TYPE_AND_PARAMETERS is used.

  • importSettings.objectClassLevel.visuals.matchingStrategy[] - Send an array of matching strategies to be considered, in order, for visuals. This array can include:
    • BY_ORIGIN_ID
    • BY_NAME
    If an order is not specified, the default strategy of BY_NAME is used.

  • importSettings.objectClassLevel.sources.matchingStrategy[] - Send an array of matching strategies to be considered, in order, for dashboards. This array can include:
    • BY_ORIGIN_ID
    • BY_NAME
    If an order is not specified, the default strategy of BY_NAME is used.

  • importSettings.objectClassLevel.dashboards.matchingStrategy[] - Send an array of matching strategies to be considered, in order, for dashboards. This array can include:
    • BY_ORIGIN_ID
    • BY_NAME
    If an order is not specified, the default strategy of BY_NAME is used.

  • importSettings.warningTags[] - Send an array of matching strategies to be considered, in order, for dashboards. This array can include:


  • Send enableDefaultRead to enable data read permissions for the sources imported for all users in the tenant.
    /api/visuals/exportGETThese attributes are returned for visuals in your environment. Include these attributes for importing.
    • connections[].originId - Returns the value of the associated connection ID.
    • sources[].originId - Returns the value of the associated source ID.
    • visuals[].originId - Returns the value of the associated visual ID.
    /api/visuals/importPOSTWhen you import objects into your environment, you can define a matching strategy that uses multiple approaches to reviewing objects to determine how to handle them in conjunction with your selected insertion strategy.

    Matching strategies are processed in order, proceeding to the next and the next if a strategy fails.

    If all strategies fail, the object is imported and tagged with your selected tags to help you find affected objects and manage any issues.

    These attributes are used to define the matching strategy and warning tags to use for import. Send as an array; each strategy is considered in order.

  • importSettings.objectClassLevel.connections.matchingStrategy[] - Send an array of matching strategies to be considered, in order, for connections. This array can include:
    • BY_ORIGIN_ID
    • BY_ID_AND_TYPE_AND_PARAMS
    • BY_TYPE_AND_PARAMETERS
    • BY_NAME_AND_TYPE
    • BY_TYPE_AND_PARAM_KEYS
    • BY_NAME
    If an order is not specified, the default strategy of BY_ID_AND_TYPE_AND_PARAMS or BY_TYPE_AND_PARAMETERS is used.
    • BY_ORIGIN_ID
    • BY_NAME
  • importSettings.objectClassLevel.visuals.matchingStrategy[] - Send an array of matching strategies to be considered, in order, for visuals. This array can include:
    • BY_ORIGIN_ID
    • BY_NAME
    If an order is not specified, the default strategy of BY_NAME is used.
  • importSettings.objectClassLevel.sources.matchingStrategy[] - Send an array of matching strategies to be considered, in order, for sources. This array can include:
    • BY_ORIGIN_ID
    • BY_NAME
    If an order is not specified, the default strategy of BY_NAME is used.
  • importSettings.warningTags[] - Send an array of warning tags to apply to objects imported with warnings.


  • Send enableDefaultRead to enable data read permissions for the sources imported for all users in the tenant.
    /api/accounts/name/{name}GETTakes {name}of tenant account as a path parameter and returns tenant account details.
    Works similarly to /api/accounts/{id}/

    Managed Dashboards and Managed Reports Modules

    EndpointMethodDescription
    None.