Version : 87

Released : 2026-05-31

Changes in this Release

Issue

Type

Module(s)

Description

4685

Feature

Actions

Action preconditions can now reference draft properties using d("draft_property_name"), alongside the existing p() for project properties.

4686

Feature

Actions

Action preconditions can now reference draft labels using draft_has_label("label_name").

4687

Feature

Actions

Action preconditions can now reference project labels using project_has_label("label_name").

4651

Bug

Automated Testing

Test Case generation for date window edit checks now includes equality and ±1 unit boundary scenarios for each AddDay/AddSec/AddMin/AddHour/AddMonth/AddYear comparison when Additional scenarios is enabled.

4669

Feature

Automated Testing

There is a new Veeva Test Case step to set visit method, change reason, planned date override and externally owned for Events. Note that existing Veeva drafts will not include the visit method and the SDS must be imported again to pick up the visit method.

4670

Feature

Automated Testing

Veeva 'set event to did not occur' steps can now include a reason.

4681

Bug

Automated Testing

The Test Case Advisor should choose the same form, if possible, when processing derived fields.

4682

Bug

Automated Testing

There should not be warnings in the Test Case editor if a related Edit Check has derived fields which are not directly included in the Test Case.

4729

Bug

Automated Testing

Rave Classic screenshots now highlight the protocol deviation text.

4663

Feature

Collaboration

Timeline Templates can be created at URL level for use in Project settings.

4664

Feature

Collaboration

A Timeline Template can be added to a Project so that progress against milestones can be tracked.

4624

Feature

Custom Properties

Custom properties now support the URI data type. URI properties validate that values are valid web addresses with a scheme (http, https, ftp).

4648

Feature

Custom Properties

Custom properties now support the Color data type. Color properties validate hex color codes (#RRGGBB), display as colored swatches in listings, and use a color picker for input.

4659

Feature

Custom Properties

Custom properties now support the Numeric data type. Numeric properties validate values as numbers with optional minimum/maximum bounds and decimal place constraints.

4679

Bug

Custom Properties

Looking up a custom icon by name no longer fails with an attribute error.

4671

Feature

Custom Properties

Custom properties now support the Date data type. Date properties use a native calendar picker for input and display in object listings using the user's date format preference. All date values are stored as ISO dates (YYYY-MM-DD). (Property sheet columns currently still display the raw ISO format)

4694

Bug

Custom Properties

When a custom object referenced by a Reference Property is deleted, the property values pointing at it are now removed automatically and dependent fingerprints and standards compliance are recalculated.

4695

Feature

Custom Properties

Custom properties now support the DateTime data type. DateTime properties use a native datetime picker for input and render in object listings using the user's date format preference. Values are stored in ISO format (YYYY-MM-DD HH:MM[:SS]).

4705

Bug

Custom Properties

Search on the custom object list no longer matches text inside the rendered HTML of the Used In column.

4706

Feature

Custom Properties

Custom object lists now have a Search columns filter so users can choose which columns the search box matches against.

4707

Feature

Custom Properties

The Copy from dialog for custom objects now has the same Search columns control as the list page, so users can restrict the search box to a single column.

4676

Feature

Diagnostic

TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files.

4689

Feature

Diagnostic

New diagnostic flags Veeva ItemGroups where Header Visible or Visual Group is not set to Yes, with an autofix to enable them and a configurable Item Group Name exclusion list.

4690

Feature

Diagnostic

New diagnostic flags Veeva Items where the Control Type does not match the codelist size: Picklist is required for codelists with more than 6 entries, and Radio Buttons - Horizontal is unsuitable for codelists with more than 3 entries. The autofix sets the recommended Control Type and an Item Name exclusion list lets users skip specific Items.

4691

Feature

Diagnostic

New diagnostic flags Veeva Forms with mixed Radio Button orientations: items whose Control Type does not match the Form's majority orientation are reported with an autofix that switches them to the majority (Vertical wins ties). Form Name and Item Name exclusion lists let users skip specific forms or items.

4692

Feature

Diagnostic

New diagnostic groups Veeva codelists with identical entries (same Choice Codes and Labels regardless of order) and flags Items whose Control Type does not match the most-used valid type within the group, with Picklist beating Vertical beating Horizontal on ties. Codelist Name and Item Name exclusion lists let users skip specific groups or items.

4693

Feature

Diagnostic

New diagnostic flags Veeva Items whose Item Name is longer than a configurable threshold (default 8 characters). The fix prompts for a replacement name; an Item Name exclusion list lets users skip specific items.

4697

Feature

Diagnostic

TrialGrid now flags Veeva Date and Date/Time Items whose 'No Future Date' is not set to Yes, with an autofix that sets it to Yes.

4698

Feature

Diagnostic

TrialGrid now flags Veeva Items whose Length does not match the maximum Choice Code length of their Codelist, with an autofix that sets Length to the correct value.

4699

Feature

Diagnostic

TrialGrid now flags Veeva data Items that do not have Required set to Yes (skipping Read-only and Derived items), with an autofix that sets Required to Yes.

4700

Feature

Diagnostic

TrialGrid now flags Veeva Forms whose order relative to other Forms is inconsistent across the Events in which they appear.

4702

Feature

Diagnostic

TrialGrid now flags Veeva measurement Items (height, weight, vitals, etc.) that do not have an appropriate Unit Codelist.

4703

Feature

Diagnostic

TrialGrid now flags Veeva measurement Items whose Length, Decimal, or value range is implausible for the kind of measurement they capture.

4704

Feature

Diagnostic

TrialGrid now flags Veeva Unit Codelists whose conversion formulas do not match the canonical conversion factors for the units they contain, with an autofix that rewrites the formula.

4715

Feature

Diagnostic

TrialGrid now provides a Veeva diagnostic that flags objects whose External ID does not match their Name, with an autofix that copies the Name into External ID. The list of object types to check is configurable; Form is selected by default.

4716

Feature

Diagnostic

TrialGrid now provides a Veeva diagnostic that classifies Items as lot numbers, kit numbers, or accession numbers and flags any whose Data Type is not Text. The autofix sets Data Type to Text.

4717

Feature

Diagnostic

TrialGrid now provides a Veeva diagnostic that flags Concomitant Medications forms which collect Total Daily Dose alongside Dose and Frequency, since these dosing views are mutually exclusive.

4650

Feature

Document Templates

The URL Document Templates list can now be filtered by scope, format and active state.

4653

Feature

Document Templates

Document templates now support an {% ai instruction="..." %}...{% endai %} tag that transforms block content using an AI call, making it easier to summarise or rewrite template sections at generation time.

4676

Feature

Document Templates

TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files.

4666

System

Infrastructure / System

Internal changes to consolidate code adding/removing Labels.

4667

Feature

Infrastructure / System

|company| staff can now export a URL's customizations (custom object definitions, custom properties, object identifiers, and per-object visibility settings) to a file and re-apply them to a new URL.

4668

System

Infrastructure / System

Reduced calls to a system cache to improve performance.

4676

Feature

Infrastructure / System

TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files.

4668

System

Performance

Reduced calls to a system cache to improve performance.

4674

System

Performance

The performance of saving test cases has been improved.

4675

System

Performance

The performance of viewing Rave draft objects has been improved.

4677

System

Performance

The performance of the Test Set Run view has been improved.

4678

System

Performance

The performance of saving Forms when Fields have been re-ordered has been improved.

4675

System

Performance

The performance of viewing draft objects has been improved.

4673

Feature

Permissions

A new 'Drafts.Merge Draft' Project Role permission now controls access to the draft merge flow. Users without this permission will not see the Merge option on the draft upload page and cannot apply merges.

4684

Feature

Permissions

Project roles now have a separate "Assign Users" permission that controls whether users can assign people to objects from object lists, draft objects, and property sheets. Existing roles default to disabled and the permission can be granted as needed.

4688

Bug

Property Sheets

Clicking on a checkbox cell in a property sheet to select it or to start a drag selection no longer toggles the checkbox value. The checkbox now toggles only on a true single click.

4714

Feature

Property Sheets

Property sheet column definitions now have an Exclude Blanks option in the default filter, which hides rows where the column has no value.

4680

Feature

Security

TrialGrid Ltd can now configure a minimum password length above the system default of 9 characters on a per-organization basis.

4701

Bug

Tickets

Tickets in a project now always receive a unique identifier, even when the New Ticket form is submitted twice in rapid succession.

4709

Feature

UX

Buttons on list views have been consolidated into 'Add' and 'Actions' groups.

4660

Feature

Veeva

When adding a Veeva Vault the roles, labels, custom objects, custom properties, actions and other settings can now be copied from an existing Vault.

4669

Feature

Veeva

There is a new Veeva Test Case step to set visit method, change reason, planned date override and externally owned for Events. Note that existing Veeva drafts will not include the visit method and the SDS must be imported again to pick up the visit method.

4670

Feature

Veeva

Veeva 'set event to did not occur' steps can now include a reason.

4683

Bug

Veeva

When uploading a Veeva SDS some properties were incorrectly assigned to Events instead of Event Group Events (the Event Group / Event combination in the Schedule). Existing Veeva Drafts will be automatically corrected.

4689

Feature

Veeva

New diagnostic flags Veeva ItemGroups where Header Visible or Visual Group is not set to Yes, with an autofix to enable them and a configurable Item Group Name exclusion list.

4690

Feature

Veeva

New diagnostic flags Veeva Items where the Control Type does not match the codelist size: Picklist is required for codelists with more than 6 entries, and Radio Buttons - Horizontal is unsuitable for codelists with more than 3 entries. The autofix sets the recommended Control Type and an Item Name exclusion list lets users skip specific Items.

4691

Feature

Veeva

New diagnostic flags Veeva Forms with mixed Radio Button orientations: items whose Control Type does not match the Form's majority orientation are reported with an autofix that switches them to the majority (Vertical wins ties). Form Name and Item Name exclusion lists let users skip specific forms or items.

4692

Feature

Veeva

New diagnostic groups Veeva codelists with identical entries (same Choice Codes and Labels regardless of order) and flags Items whose Control Type does not match the most-used valid type within the group, with Picklist beating Vertical beating Horizontal on ties. Codelist Name and Item Name exclusion lists let users skip specific groups or items.

4693

Feature

Veeva

New diagnostic flags Veeva Items whose Item Name is longer than a configurable threshold (default 8 characters). The fix prompts for a replacement name; an Item Name exclusion list lets users skip specific items.

4697

Feature

Veeva

TrialGrid now flags Veeva Date and Date/Time Items whose 'No Future Date' is not set to Yes, with an autofix that sets it to Yes.

4698

Feature

Veeva

TrialGrid now flags Veeva Items whose Length does not match the maximum Choice Code length of their Codelist, with an autofix that sets Length to the correct value.

4699

Feature

Veeva

TrialGrid now flags Veeva data Items that do not have Required set to Yes (skipping Read-only and Derived items), with an autofix that sets Required to Yes.

4700

Feature

Veeva

TrialGrid now flags Veeva Forms whose order relative to other Forms is inconsistent across the Events in which they appear.

4702

Feature

Veeva

TrialGrid now flags Veeva measurement Items (height, weight, vitals, etc.) that do not have an appropriate Unit Codelist.

4703

Feature

Veeva

TrialGrid now flags Veeva measurement Items whose Length, Decimal, or value range is implausible for the kind of measurement they capture.

4704

Feature

Veeva

TrialGrid now flags Veeva Unit Codelists whose conversion formulas do not match the canonical conversion factors for the units they contain, with an autofix that rewrites the formula.

4715

Feature

Veeva

TrialGrid now provides a Veeva diagnostic that flags objects whose External ID does not match their Name, with an autofix that copies the Name into External ID. The list of object types to check is configurable; Form is selected by default.

4716

Feature

Veeva

TrialGrid now provides a Veeva diagnostic that classifies Items as lot numbers, kit numbers, or accession numbers and flags any whose Data Type is not Text. The autofix sets Data Type to Text.

4717

Feature

Veeva

TrialGrid now provides a Veeva diagnostic that flags Concomitant Medications forms which collect Total Daily Dose alongside Dose and Frequency, since these dosing views are mutually exclusive.

4718

Feature

Veeva

EventGroup Event and EventForm custom object definitions are now displayed for Veeva URLs, so their per-relationship properties are visible in lists. On EventGroup Event, Visit Method and Dynamic are surfaced as list columns. Existing Veeva URLs are updated by data migration.

4719

Feature

Veeva

Codelist Entry and Unit Codelist Entry custom object definitions are now displayed for Veeva URLs, so codelist choices are visible in lists. Choice Label is surfaced as a list column on Codelist Entry; Choice Label, Standard, and Conversion are surfaced on Unit Codelist Entry. Existing Veeva URLs are updated by data migration.

4720

Feature

Veeva

Properties on Veeva URLs that store names of other Veeva objects (Codelist and Unit Codelist on Item; Event Group, Event, Form, Item Group, and Item on Casebook Variable, Rule, Repeating Event Group, Review Plan, Safety Form Configuration, and Comparison Rule) are now reference properties pointing at the relevant custom object definitions, enabling dropdown selection and reference validation in place of free-form text. Existing Veeva URLs are converted by data migration; values that match an object in the draft are translated to the object reference, and unmatched names are cleared.

4721

Bug

Veeva

Casebook is no longer part of the Event Group object identifier on Veeva URLs, fixing reference lookups from Casebook Variables, Rules, Comparison Rules, and Repeating Event Groups that store the bare Event Group Name. Existing Veeva URLs are updated by data migration that recomputes Event Group and EventGroup Event identifiers.

4722

Bug

Veeva

Draft Merge was not working for Veeva Drafts. This has been corrected.