**Source URL:** https://general.veevavault.dev/rn/24r2.md

# Developer Features in 24R2

We are pleased to bring you the following additions and enhancements to Developer Portal features in 24R2.

## Service Announcements {#service-announcements}

Service Announcements are changes that may affect existing integrations. Organizations should assess these features against their existing integrations and make updates where necessary.

<ReleaseNote id="24r2-https-ftps-certificate-rollover" app_family="platform" version="24r2">### HTTPS and FTPS Certificate Rollover {#https-and-ftps-certificate-rollover}

*Release Date: July 30, 2024*

Vault has rolled over our HTTPS and FTPS certificates. Most integrations will be unaffected by this change, but please ensure that your integrations do not cache the old certificates. Failure to utilize the new certificates may cause integration disruptions. This change affects all API versions.

</ReleaseNote>
<ReleaseNote id="24r2-java-17-vault-java-sdk" app_family="platform" version="24r2">### Java 17 for Vault Java SDK: Upcoming Optional Enablement {#java-17-for-vault-java-sdk-upcoming-optional-enablement}

Over the next several releases, Veeva is upgrading the Vault Java SDK to Java 17 to allow developers to take advantage of the upgrades that come with the new version. In addition to new features, Java 17 includes optimizations that can improve performance and efficiency compared to Java 8, allowing for reduced resource usage.

Release Dates:

* **24R2.2; August 23, 2024**: Developers and Admins can optionally enable Java 17 to test their custom code for compatibility.

* **25R1; April 4, 2025**: Vault will auto-enable Java 17, with the option to disable if code incompatibilities are found.

* **25R2; July 25, 2025**: All custom Vault Java SDK code is required to use Java 17.

</ReleaseNote>
<ReleaseNote id="24r2-tls-cipher-suite-and-version-changes" app_family="platform" version="24r2" lr="24r3.2">### TLS Cipher Suite and Version Changes {#24r2-tls-cipher-suite-and-version-changes}

Beginning with the 25R1 release, Vault will add support for TLS 1.3 and no longer support CBC cipher suites:

* `ECDHE-RSA-AES256-SHA384`

* `ECDHE-RSA-AES128-SHA256`

These changes may affect some custom integrations, but not users accessing Vault with a supported browser.

All customers with affected integrations will be contacted directly by Veeva Developer Services.

Learn more about [Veeva Vault cipher suite changes](/vault-api/references/tls).

</ReleaseNote>
<ReleaseNote id="24r2-enforce-valid-license-types-for-users" app_family="platform" version="24r2" lr="24r1.2">### Enforce Valid License Types for Users {#24r2-enforce-valid-license-types-for-users}

Beginning in 24R2, System Administrators will only be able to select valid application license types for each application.

If you have an integration that creates or updates User records in Vault, ensure that the integration assigns valid Application License values.

You must check and update the integration prior to the 24R2 release to ensure the integration continues to work as expected.

</ReleaseNote>

### <s>Yes/No Checkbox Field Enhancement</s> {#yesno-checkbox-field-enhancement}

<s>*Release Date: 24R1.3; June 7, 2024*</s>
This feature was postponed to a future release.

<s>*Yes/No* fields using the *Show as checkbox* option now support `null` values. This may impact existing integration code which assumes this field's value can never be `null`.</s>
<s>For example, starting in this release, creating a new record with an optional checkbox field that does not have a default value will now have a `null` value.</s>
<s>Prior to this change, any legacy checkbox fields that had a `null` value would be returned as `false` in API and SDK. After this change, null values will be correctly returned as `null`.</s>
<s>Starting in API v24.2, developers can use the API and SDK to set checkbox field values to `null`. It is not possible to set checkbox values to `null` through the Vault UI.</s>

### <s>MedInquiry: Telephony Support</s> {#medinquiry-telephony-support}

This feature was postponed to a future release.

<s>As part of Veeva Medical’s Telephony Support: Embedded Call Controls feature, there are new API methods that facilitate integrations between MedInquiry and telephony providers. This feature enables MedInquiry users to answer phone calls and live chat requests within Vault.</s>
<s>Vault provides a standard integration to Amazon Connect. Other CTIs can be integrated using the new OmniConnect JavaScript API.</s>

## Global Changes {#global-changes}

Global changes are features that affect multiple product areas or affect Vault holistically.
For example, new functionality accessible through both Vault API and the Vault Java SDK.

<ReleaseNote id="24r2-new-workflows-deployed-as-active" app_family="platform" version="24r2" lr="24r1.2">### New Workflows Deployed as Active {#24r2-new-workflows-deployed-as-active}

Previously, using MDL or VPK to deploy new workflows to a target Vault created the new workflows in the Inactive state. With this feature, all new workflows are now deployed in the Active state. This removes the often tedious task of manually activating new workflows after deployment.

This feature does not change the behavior of deploying new versions of existing workflows.

</ReleaseNote>
<ReleaseNote id="24r2-jobs-can-be-migrated-as-active" app_family="platform" version="24r2" lr="24r1.2">### Jobs Can Be Migrated as Active {#24r2-jobs-can-be-migrated-as-active}

When deploying Jobs via MDL or VPK, if the `active` attribute is set to `true` and the Job can be successfully created with all attributes resolved, the Job shall remain `active` after deployment. This will help reduce the manual steps required for configuration deployments.

</ReleaseNote>
<ReleaseNote id="24r2-object-type-translation" app_family="platform" version="24r2" lr="24r1.2">### Object Type Translation {#24r2-object-type-translation}

Developers in Vaults with multilingual labels enabled can access localized labels for object types using ObjectMetadataService. To facilitate this, `ObjectTypeMetadataCollectionRequest.Builder` now includes the optional  `withLocalizedLabels()` method.

Additionally, Vault API v24.2+  users can retrieve localized object type labels in Retrieve Object Metadata and Retrieve Details from a Specific Object requests by setting the `loc` query parameter to `true`.

<Endpoint path="/api/{version}/metadata/vobjects/{object_name}" method="GET"></Endpoint><Endpoint path="/api/{version}/configuration/{object_name_and_object_type}" method="GET"></Endpoint></ReleaseNote>
<ReleaseNote id="24r2-support-for-hyphens-in-picklist-entry-values" app_family="platform" version="24r2" lr="24r1.4">### Support for Hyphens in Picklist Entry Values {#24r2-support-for-hyphens-in-picklist-entry-values}

We have expanded the supported character set for picklist value names to support the use of hyphens when creating or updating picklists using MDL or Vault API. The supported character set has been updated to the following:

* Lowercase letters a-z

* Digits zero (0) through nine (9)

* Hyphens and underscores, limited to a single sequential instance of either

* Cannot begin or end with a hyphen (`-`) or underscore (`_`)

Example valid values are as follows:

* `test_value_1__c`

* `test-value-1__c`

* `Test-value_1__c`

Example invalid values are as follows:

* `_test_value_1__c`: Invalid because of the leading underscore

* `-test-value-1__c`: Invalid because of the leading hyphen

* `test_value-__c`: Invalid because of the trailing hyphen

* `test-_value_1__c`: Invalid because of sequential use of more than one instance of a hyphen or underscore

This change applies to picklists value names across objects and documents. Picklist value names with hyphens are not supported within expressions. Customers that require evaluation of picklist entries in expressions should not leverage hyphens in picklist value names.

</ReleaseNote>
<ReleaseNote id="24r2-object-field-descriptions" app_family="platform" version="24r2" lr="24r1.3">### Object Field Descriptions {#24r2-object-field-descriptions}

In addition to adding help text to object fields for users to see when they hover over the field, Admins can now also add descriptions that are visible when configuring the object in Admin UI only. Object field descriptions are not exposed to users, but are used as a way for Admin users to understand the purpose of an object and how it should be used.

To support this, a `description` attribute is now available for the `Field` subcomponent. This field is also returned by the Retrieve Object Metadata and Retrieve Object Field Metadata endpoints in Vault API.

This feature also adds the `getDescription()` method to the Vault Java SDK's `ObjectFieldMetadata` interface.

Learn more about [Field subcomponents](/mdl/component-reference/component-types/field).

</ReleaseNote>

## Vault API v24.2 {#vault-api-v242}

Vault API features added in 24R2 only affect API v24.2, unless otherwise noted.

### Global Changes {#global-changes-1}

Global changes are features that affect Vault API holistically rather than specific endpoints.
For example, changes to API burst limits.

<ReleaseNote id="24r2-api-burst-throttling-logging" app_family="platform" version="24r2" lr="24r1.3">#### API Burst Throttling Logging {#24r2-api-burst-throttling-logging}

With this release, Vault no longer adds entries to the System Audit History when the API burst threshold has been reached.
API burst information can be found in the API Usage Logs and API response headers.

</ReleaseNote>

### New Endpoints {#new-endpoints}

<ReleaseNote id="24r2-create-edit-annotations" app_family="platform" version="24r2" lr="24r1.2">#### Create & Edit Annotations {#24r2-create-edit-annotations}

Vault API v24.1 introduced the ability to read and delete document annotations.
This release adds create and edit functionality for document annotations, allowing integrations to create and edit document annotations using API, including adding replies and defining annotation placement and color.
Developers can also retrieve annotation metadata including annotation types and fields.

<Endpoint path="/api/{version}/metadata/objects/documents/annotations/types/{annotation_type}" method="GET"></Endpoint>View this endpoint in the [v24.2 Vault API Reference](/vault-api/api-reference/24.2/documents/document-annotations/retrieve-annotation-type-metadata).

<Endpoint path="/api/{version}/metadata/objects/documents/annotations/placemarks/types/{placemark_type}" method="GET"></Endpoint>View this endpoint in the [v24.2 Vault API Reference](/vault-api/api-reference/24.2/documents/document-annotations/retrieve-annotation-placemark-type-metadata).

<Endpoint path="/api/{version}/metadata/objects/documents/annotations/references/types/{reference_type}" method="GET"></Endpoint>View this endpoint in the [v24.2 Vault API Reference](/vault-api/api-reference/24.2/documents/document-annotations/retrieve-annotation-reference-type-metadata).

<Endpoint path="/api/{version}/objects/documents/annotations/batch" method="POST"></Endpoint>View this endpoint in the [v24.2 Vault API Reference](/vault-api/api-reference/24.2/documents/document-annotations/create-multiple-annotations).

<Endpoint path="/api/{version}/objects/documents/annotations/replies/batch" method="POST"></Endpoint>View this endpoint in the [v24.2 Vault API Reference](/vault-api/api-reference/24.2/documents/document-annotations/add-annotation-replies).

<Endpoint path="/api/{version}/objects/documents/annotations/batch" method="PUT"></Endpoint>View this endpoint in the [v24.2 Vault API Reference](/vault-api/api-reference/24.2/documents/document-annotations/update-annotations).

This release also updates required body parameters for the [Delete Annotations](/vault-api/api-reference/24.2/documents/document-annotations/delete-annotations) endpoint.

<Endpoint path="/api/{version}/objects/documents/annotations/batch" method="DELETE"></Endpoint></ReleaseNote>
<ReleaseNote id="24r2-message-translations-file-api" app_family="platform" version="24r2" lr="24r1.3">#### Message Translations File API {#24r2-message-translations-file-api}

Customers translate labels in Vault by exporting CSV files containing all the labels for the Vault, entering the untranslated labels, and uploading them back to Vault.

This new set of APIs allow developers to import complete or partial CSV translation files from the File Staging Server, and then get the Job results.

<Endpoint path="/api/{version}/messages/{message_type}/actions/import" method="POST"></Endpoint><Endpoint path="/api/{version}/services/jobs/{id}/summary" method="GET"></Endpoint><Endpoint path="/api/{version}/services/jobs/{id}/errors" method="GET"></Endpoint>The APIs also allow developers to export the complete CSV translation files to the File Staging Server, and then get the Job results.

<Endpoint path="/api/{version}/messages/{message_type}/language/{lang}/actions/export" method="POST"></Endpoint></ReleaseNote>
<ReleaseNote id="24r2-vault-application-license-api" app_family="platform" version="24r2" lr="24r1.4">#### Vault Application License API {#24r2-vault-application-license-api}

To support Vault integration developers who need to supply values for user licenses via API or Loader, we have created a new API endpoint that will return the available License Types with their `application_name` for each application available in a Vault.

<Endpoint path="/api/{version}/objects/licenses" method="GET"></Endpoint></ReleaseNote>
<ReleaseNote id="24r2-bulk-undo-collaborative-authoring-checkout-api" app_family="platform" version="24r2" lr="24r1.2">#### Bulk Undo Collaborative Authoring Checkout API {#24r2-bulk-undo-collaborative-authoring-checkout-api}

Documents checked out using Collaborative Authoring now support bulk undo checkout, allowing developers to unlock documents in bulk.

<Endpoint path="/api/{version}/objects/documents/batch/lock" method="DELETE"></Endpoint>View this new endpoint in the [v24.2 API Reference](/vault-api/api-reference/24.2/documents/document-locks/undo-collaborative-authoring-checkout).

</ReleaseNote>

### Existing Endpoints {#existing-endpoints}

<ReleaseNote id="24r2-page-layout-api-do-not-resolve-tokens-in-layout-rules" app_family="platform" version="24r2" lr="24r1.3">#### Page Layout API: Do Not Resolve Tokens In Layout Rules {#24r2-page-layout-api-do-not-resolve-tokens-in-layout-rules}

Starting in API v24.2, when using the [Retrieve Page Layout Metadata](/vault-api/api-reference/24.2/vault-objects/object-page-layouts/retrieve-page-layout-metadata) endpoint, layout rules containing tokens now return tokens as is, instead of resolving them in the response.

</ReleaseNote>
<ReleaseNote id="24r2-limit-workflow-task-participants-setting-extended-to-add-participants" app_family="platform" version="24r2" lr="24r1.3">#### Limit Workflow Task Participants Setting Extended to Add Participants {#24r2-limit-workflow-task-participants-setting-extended-to-add-participants}

Previously, the *Limit Workflow Task Participants* setting only applied during the starting of a workflow. With this release, it will also not be possible to add participants to a running workflow beyond the set participant limit.

Attempting to add participants beyond the maximum number allowed using the [Initiate Workflow Action](/vault-api/api-reference/24.2/workflows/initiate-workflow-action) API with the `addparticipants` action will result in the following error:

```
{
   "responseStatus": "FAILURE",
   "errors": [
       {
           "type": "OPERATION_NOT_ALLOWED",
           "message": "The number of participants selected [2] for [Participant] exceeds the maximum number of allowed participants for a workflow [1]"
       }
   ]
}

```
</ReleaseNote>
<ReleaseNote id="24r2-standardized-undo-checkout-permissions" app_family="platform" version="24r2" lr="24r1.2">#### Standardized Undo Checkout Permissions {#24r2-standardized-undo-checkout-permissions}

Vault supports several different document lock (checkout) methods for editing documents: [standard checkout](https://platform.veevavault.help/en/gr/162/#standard-checkout), checkout to Vault File Manager, Collaborative Authoring, and using Google Drive. Each method provides a mechanism to cancel/undo an existing checkout. Starting from v24.2, the permissions governing when cancellation can be performed of another user’s checked-out document will be consistent across all checkout types.

In order for a user to delete a document lock for a document that was locked by someone else, users will need to have *Edit Document* permission in the [document lifecycle state security settings](https://platform.veevavault.help/en/gr/2572/#edit-document), as well as one of the following:

* Have the *Document Owner* role for the document

* Have the *All Document Actions* permission in their [Permission Set](https://platform.veevavault.help/en/gr/22824/#application-permissions)

* Have the *Cancel Checkout* permission in their [Permission Set](https://platform.veevavault.help/en/gr/22824/#application-permissions)

</ReleaseNote>

### Application-Specific Endpoints {#application-specific-endpoints}

<ReleaseNote id="24r2-veeva-sitevault-user-admin-apis" app_family="sitevault" version="24r2">#### Veeva SiteVault User Administration APIs {#veeva-sitevault-user-administration-apis}

This feature introduces new APIs for user administration functionality, including creating new Staff and Monitors/External Users and editing their system permissions. These APIs are available to Veeva SiteVault Enterprise customers for use in system integrations.

</ReleaseNote>

## VQL {#vql}

<ReleaseNote id="24r2-enhancements-to-as-clause" app_family="platform" version="24r2" lr="24r1.3">### Enhancements to AS Clause {#24r2-enhancements-to-as-clause}

Users can now use the VQL `AS` clause in the `SELECT` statement to create an alias for any field by supplying an alphanumeric word without spaces.
This saves effort because users no longer need to transform the name manually or use a separate process in a downstream system.

```
SELECT id as DatabaseID, name__v as ObjecRecordNameField
FROM object__c

```

```
"data" [
       {
           "DatabaseID": "V5R000000001001",
           "ObjecRecordNameField": "Object-000001"
       }
   ]

```
Learn more about [aliasing with AS](/vql/clauses/as).

</ReleaseNote>
<ReleaseNote id="24r2-wildcard-limits-in-search" app_family="platform" version="24r2" lr="24r1.3">### Wildcard Limits in Search {#24r2-wildcard-limits-in-search}

From this release, there is a limit of two (2) wildcards per search term and up to ten (10) total search terms with wildcards across the entire search text.
This limit helps ensure searches do not negatively impact end users. This change applies to API-based searches using the VQL `FIND` clause.

Learn more about [using wildcards with FIND](/vql/references/search-specifications/wildcards-id-patterns).

</ReleaseNote>
<ReleaseNote id="24r2-tolabel-for-object-types" app_family="platform" version="24r2" lr="24r1.3">### TOLABEL for Object Types {#24r2-tolabel-for-object-types}

The `TOLABEL()` function can now be used with the `object_type__v` field, to return the label of an object type. This allows getting user-friendly values without having to transform them after extraction.

```
SELECT id, name__v, TOLABEL(object_type__v)
FROM object__c

```

```
"data" [
       {
           "id": "V5R000000001001",
           "name__v": "Feedback-000001",
           "object_type__v": "Customer Feedback"
       }
   ]

```
Learn more about the [TOLABEL() function](/vql/functions-options/tolabel).

</ReleaseNote>
<ReleaseNote id="24r2-document-attachments-document-version" app_family="platform" version="24r2" lr="24r1.2">### Document Attachments: Document Version {#24r2-document-attachments-document-version}

Document attachment queries now support retrieving the document version(s) associated with a document attachment. The `attachments__sysr` relationship on documents includes a new field, `document_version_id__sys`.

Learn more about [querying document attachments](/vql/query-targets/attachments#Document_Attachments).

</ReleaseNote>
<ReleaseNote id="24r2-retrieve-document-signature-data" app_family="platform" version="24r2" lr="24r1.2">### Retrieve Document Signature Data {#24r2-retrieve-document-signature-data}

A new document relationship, `document_signatures__sysr`, allows developers to find documents with signatures and retrieve signature metadata including signee, task, and workflow metadata.

Learn more about [querying document signatures](/vql/query-targets/document-signatures).

</ReleaseNote>

### <s>Invalid Operators & Fields on Legacy Users Query Target</s> {#invalid-operators--fields-on-legacy-users-query-target}

<s>*Release Date: 24R1.2; May 9, 2024*</s>
This feature has been removed from v24.2 and will not be added in a future release.

<s>When using v24.2+ on the legacy users query target (`users`), VQL no longer supports the comparison operators (`<`, `>`, `<=`, `>=` , `BETWEEN`, and `LIKE`) in the `WHERE` clause. Additionally, the `created_by__v` and `modified_by_v` fields are not supported in the `ORDER BY` clause. Previous versions will continue to work but may return invalid results when Vaults are moved to a new domain. These changes do not apply to queries on the `user__sys` object.</s>

## Vault Java SDK {#vault-java-sdk}

### New Interfaces & Methods {#new-interfaces--methods}

<ReleaseNote id="24r2-recordproperties-for-sdk" app_family="platform" version="24r2" lr="24r1.3">#### RecordProperties for SDK {#24r2-recordproperties-for-sdk}

RecordProperties provide additional information about object records beyond field data. These can help developers evaluate whether specific fields behave differently than other fields. There are three supported types:

* `hidden`: List of fields not visible to the user for this record. A field might not be visible on a record if it is hidden from the user by atomic security.

* `redacted`: List of fields redacted for this record. A field is redacted if the querying user is SYSTEM and the field contains [Protected Health Information (PHI) or Personally Identifiable Information (PII)](https://platform.veevavault.help/en/gr15057/#field-level-encryption-for-phi--pii).

* `weblink`: List of additional attributes for formula fields that use the hyperlink function.

Developers can now access `RecordProperties` through the SDK `QueryService`, and then use methods to evaluate the properties of specific fields.

```
Builder withQueryRecordPropertyTypes(List<QueryRecordPropertyType> queryRecordPropertyTypes);

```
They can be requested through Vault API using the request header `X-VaultAPI-RecordProperties`. Supported values for this header are `hidden`, `redacted`, `weblink`, and `all`.

```
"data" [
       {
           "id": "V5R000000001001",
           "name__v": "TestObject-000001",
           "hyperlink__c": "https://veevaconnect.com/myfeed"
       }
   ]
   "record_properties" [
       {
           "id": "V5R000000001001",
           "field_properties": {
               "hidden": [],
               "redacted": []
           },
           "subquery_properties": {},
           "field_additional_data": {
               "hyperlink__c": {
                   "web_link": {
                       "label": "Open Veeva Connect",
                       "target": "new_window",
                       "connection": null
                   }
               }
           }
       }
   ]

```
Learn more about record properties in the [VQL](/vql/references/vql-api-headers#Record_Properties) and [SDK](/vault-sdk/services/query-service/#Using_Record_Properties) documentation.

</ReleaseNote>
<ReleaseNote id="24r2-facets-for-sdk" app_family="platform" version="24r2" lr="24r1.3">#### Facets for SDK {#24r2-facets-for-sdk}

Faceting is the arrangement of search results into categories based on indexed terms. Facets provide a list of distinct values on an indexed field along with a count of the value in the records or documents in the collection.

Developers can now specify in the Vault Java SDK whether they would like facets to be returned via the SDK `QueryService`.

There is a new method on `QueryService` to get a `QueryFacetRequest` builder:

```
QueryFacetRequest.Builder newQueryFacetRequestBuilder();

```
There is also a new method on `QueryExecutionRequest$Builder` and `QueryCountRequest$Builder` to set a facet request:

```
Builder withQueryFacetRequest(QueryFacetRequest queryFacetRequest);

```
Facets are also available for Vault API VQL queries using the `X-VaultAPI-Facets` header, and by supplying a list of `facetable` fields.

</ReleaseNote>

## Application-specific Methods & Interfaces {#application-specific-methods--interfaces}

<ReleaseNote id="24r2-safety-rule-engine-sdk-update-geticsrreportingscenario-method" app_family="safety" version="24r2" lr="24r1.4">### Safety: Rule Engine SDK Update: getICSRReportingScenario Method {#24r2-safety-rule-engine-sdk-update-geticsrreportingscenario-method}

The Custom Rule Parameter SDK now provides the `getICSRReportingScenario` method. This method returns the following information for the Rule Engine run scenario Vault is currently evaluating:

* Investigational to Marketing (same agency)

* Investigational to Marketing (cross agency)

* Investigational to Investigational (cross agency)

* Marketing to Marketing (cross agency)

* Marketing to Investigational (cross agency)

* General Reporting

</ReleaseNote>

## MDL {#mdl}

<ReleaseNote id="24r2-default-attribute-for-object-types" app_family="platform" version="24r2" lr="24r1.3">### Default Attribute for Object Types {#24r2-default-attribute-for-object-types}

Default object type is now an attribute of the `Objecttype` metadata instead of an attribute on the `Object`. While the existing attribute on the `Object` will continue to work, the new attribute will enable a more seamless VPK migration between Vaults.

Instead of the `default_object_type('Objecttype.api_name__c')` attribute on the `Object` component, there will be a `default_type(true/false)` attribute on the `Objecttype` component.

This feature also adds the `isDefaultType()` method to the Vault Java SDK's `ObjectTypeMetadata` interface.

Learn more about [Objecttype components](/mdl/component-reference/component-types/objecttype).

</ReleaseNote>
<ReleaseNote id="24r2-quality-team-related-object-security-mdl-updates" app_family="quality" version="24r2" lr="24r1.3">#### Quality Team Related Object Security MDL Updates {#24r2-quality-team-related-object-security-mdl-updates}

For the component type `Appsecurityrule`, the following changes have been made:

* Subcomponent `Appsecurityassignment` attribute `appsecurityfield` is now stored in the `securityfield` attribute

* Subcomponent `Appsecurityassignment` has a new `securityrule` attribute that will act as parent `Appsecurityrule` component reference.

Learn more about [Appsecurityrule components](/mdl/component-reference/component-types/appsecurityrule).

</ReleaseNote>
<ReleaseNote id="24r2-quality-recurrence-check-insights" app_family="quality" version="24r2" lr="24r1.3">#### Quality Recurrence Check Insights {#24r2-quality-recurrence-check-insights}

To support the [Quality Recurrence Check Insights](https://rn.veevavault.help/en/lr/new-in-24r2/#OOU0000000LH002) feature, there is a new `Qualityrecordcheckinsight` component type.

Learn more about [Qualityrecordcheckinsight components](/mdl/component-reference/component-types/qualityrecordcheckinsight).

</ReleaseNote>
<ReleaseNote id="24r2-action-paths-steps-for-change-control" app_family="quality" version="24r2" lr="24r1.3">#### Action Paths & Steps for Change Control {#24r2-action-paths-steps-for-change-control}

To support the [Change Action Paths](https://rn.veevavault.help/en/lr/new-in-24r2/#OOU0000000LJ003) feature in the Veeva QMS UI, this feature adds the new `Qmsactionpathconfiguration` component type to all Quality Vaults with QMS enabled.

Learn more about [Qmsactionpathconfiguration components](/mdl/component-reference/component-types/qmsactionpathconfiguration).

</ReleaseNote>