This is a summary of the major changes made in version 24 of Composer. It is provided so you can quickly identify new and changed Composer features before upgrading from Composer 23 to Composer 24. Composer is offered on a quarterly release schedule, and our version numbering system reflects this. The current major release of Composer is v24.4.
Important: We have changed Composer to a quarterly release schedule, and adopted a new version numbering system. Composer v8 is now Composer 22.4. Composer version names for Composer 7 and earlier remain unchanged. See Composer Release Vehicles.

Upgrade Considerations

Be sure to back up your metadata store (see Back Up the Metadata Store) before you upgrade. Upgrading to Composer v23.2 or later includes an upgrade of Java runtime from 11 to 17, installed and configured automatically during upgrade.
Note: New installations of Composer (v24.3 and later) use PostgreSQL 16. If you are upgrading your environment to v24.3 or later, you can retain your existing PostgreSQL version.
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 Composer , 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 Composer.

v24.4 Enhancements

v24.3 Enhancements

v24.2 Enhancements

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

v24.1 Enhancements

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

Removed Features From Composer v23

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

Composer 24.4

TitleDescription
24.4.7 Removed Features:
None.
24.4.6 Removed Features:
None.
24.4.5 Removed Features:
None.
24.4.4 Removed Features:
None.
24.4.3 Removed Features:
None.
24.4.2 Removed Features:
None.
24.4.1 Removed Features:
None.
24.4 Removed Features:
None.

Composer 24.3

TitleDescription
24.3.9 Removed Features:
None.
24.3.8 Removed Features:
None.
24.3.7 Removed Features:
None.
24.3.6 Removed Features:
None.
24.3.5 Removed Features:
None.
24.3.4 Removed Features:
None.
24.3.3 Removed Features:
None.
24.3.2 Removed Features:
None.
24.3.1 Removed Features:
None.
24.3 Removed Features:
None.

Composer 24.2

TitleDescription
24.2.13 Removed Features:
None.
24.2.11 Removed Features:
None.
24.2.10 Removed Features:
None.
24.2.9 Removed Features:
None.
24.2.8 Removed Features:
None.
24.2.7 Removed Features:
None.
24.2.6 Removed Features:
None.
24.2.5 Removed Features:
None.
24.2.4 Removed Features:
None.
24.2.3 Removed Features:
None.
24.2.2 Removed Features:
None.
24.2.1 Removed Features:
None.
24.2 Removed Features:
None.

Composer 24.1

TitleDescription
24.1.12 Removed Features:
None.
24.1.11 Removed Features:
None.
24.1.10 Removed Features:
None.
24.1.9 Removed Features:
None.
24.1.8 Removed Features:
None.
24.1.7 Removed Features:
None.
24.1.6 Removed Features:
None.
24.1.5 Removed Features:
None.
24.1.4 Removed Features:
None.
24.1.3 Removed Features:
None.
24.1.2 Removed Features:
None.
24.1.1 Removed Features:
None.
24.1 Removed Features:
None.

API Updates in Composer v24

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

Composer 24.4

EndpointMethodDescription
24.4.8 API Updates:
None.
24.4.7 API Updates:
None.
24.4.6 API Updates:
None.
24.4.5 API Updates:
None.
24.4.4 API Updates:
None.
24.4.3 API Updates:
None.
24.4.2 API Updates:
None.
24.4.1 API Updates:
None.
24.4 API Updates:
/api/sources//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.

Composer 24.3

EndpointMethodDescription
24.2.9 API Updates:
None.
24.3.8 API Updates:
None.
24.3.7 API Updates:
None.
24.3.6 API Updates:
None.
24.3.5 API Updates:
None.
24.3.4 API Updates:
None.
24.3.3 API Updates:
None.
24.3.2 API Updates:
None.
24.3.1 API Updates:
None.
24.3 API Updates:
None.

Composer 24.2

EndpointMethodDescription
24.2.12 API Updates:
None.
24.2.11 API Updates:
None.
24.2.10 API Updates:
None.
24.2.9 API Updates:
None.
24.2.8 API Updates:
None.
24.2.7 API Updates:
None.
24.2.6 API Updates:
None.
24.2.5 API Updates:
None.
24.2.4 API Updates:
None.
24.2.3 API Updates:
None.
24.2.2 API Updates:
None.
24.2.1 API Updates:
None.
24.2 API Updates:
/api/group-membership/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//

and

/api/inventory//

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//clonePOSTUse to create a copy of a source.

Composer 24.1

EndpointMethodDescription
24.1.12 API Updates:
None.
24.1.11 API Updates:
None.
24.1.10 API Updates:
None.
24.1.9 API Updates:
None.
24.1.8 API Updates:
None.
24.1.7 API Updates:
None.
24.1.6 API Updates:
None.
24.1.5 API Updates:
None.
24.1.4 API Updates:
None.
24.1.3 API Updates:
None.
24.1.2 API Updates:
None.
24.1.1 API Updates:
/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 Composer . The externalId is not available in the UI.
24.1 API Updates:
/api/sources/export GET

These 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/importPOST

When 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.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/dashboards/export/GET

These attributes are returned for dashboards 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.

  • dashboards[].originId - Returns the value of the associated dashboard ID.

/api/dashboards/import/POST

When 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 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.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 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/visuals/export/GET

These 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/import/POST

When 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 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/GETThis takes the {name} of the tenant account as a path parameter and returns tenant account details. Works similarly to /api/accounts/{id}/.