Version : 87
Released : 2026-05-31
Changes in this Release
Issue |
Type |
Module(s) |
Description |
|---|---|---|---|
4685 |
Feature |
Action preconditions can now reference draft properties using d("draft_property_name"), alongside the existing p() for project properties. |
|
4686 |
Feature |
Action preconditions can now reference draft labels using draft_has_label("label_name"). |
|
4687 |
Feature |
Action preconditions can now reference project labels using project_has_label("label_name"). |
|
4651 |
Bug |
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 |
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 'set event to did not occur' steps can now include a reason. |
|
4681 |
Bug |
The Test Case Advisor should choose the same form, if possible, when processing derived fields. |
|
4682 |
Bug |
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 |
Rave Classic screenshots now highlight the protocol deviation text. |
|
4663 |
Feature |
Timeline Templates can be created at URL level for use in Project settings. |
|
4664 |
Feature |
A Timeline Template can be added to a Project so that progress against milestones can be tracked. |
|
4624 |
Feature |
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 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 now support the Numeric data type. Numeric properties validate values as numbers with optional minimum/maximum bounds and decimal place constraints. |
|
4679 |
Bug |
Looking up a custom icon by name no longer fails with an attribute error. |
|
4671 |
Feature |
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 |
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 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 |
Search on the custom object list no longer matches text inside the rendered HTML of the Used In column. |
|
4706 |
Feature |
Custom object lists now have a Search columns filter so users can choose which columns the search box matches against. |
|
4707 |
Feature |
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 |
TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files. |
|
4689 |
Feature |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
TrialGrid now flags Veeva Forms whose order relative to other Forms is inconsistent across the Events in which they appear. |
|
4702 |
Feature |
TrialGrid now flags Veeva measurement Items (height, weight, vitals, etc.) that do not have an appropriate Unit Codelist. |
|
4703 |
Feature |
TrialGrid now flags Veeva measurement Items whose Length, Decimal, or value range is implausible for the kind of measurement they capture. |
|
4704 |
Feature |
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 |
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 |
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 |
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 |
The URL Document Templates list can now be filtered by scope, format and active state. |
|
4653 |
Feature |
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 |
TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files. |
|
4666 |
System |
Internal changes to consolidate code adding/removing Labels. |
|
4667 |
Feature |
|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 |
Reduced calls to a system cache to improve performance. |
|
4676 |
Feature |
TrialGrid Ltd staff can now export and re-apply customer-authored diagnostics and document templates between URLs via app-script YAML files. |
|
4668 |
System |
Reduced calls to a system cache to improve performance. |
|
4674 |
System |
The performance of saving test cases has been improved. |
|
4675 |
System |
The performance of viewing Rave draft objects has been improved. |
|
4677 |
System |
The performance of the Test Set Run view has been improved. |
|
4678 |
System |
The performance of saving Forms when Fields have been re-ordered has been improved. |
|
4675 |
System |
The performance of viewing draft objects has been improved. |
|
4673 |
Feature |
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 |
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 |
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 sheet column definitions now have an Exclude Blanks option in the default filter, which hides rows where the column has no value. |
|
4680 |
Feature |
TrialGrid Ltd can now configure a minimum password length above the system default of 9 characters on a per-organization basis. |
|
4701 |
Bug |
Tickets in a project now always receive a unique identifier, even when the New Ticket form is submitted twice in rapid succession. |
|
4709 |
Feature |
Buttons on list views have been consolidated into 'Add' and 'Actions' groups. |
|
4660 |
Feature |
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 |
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 'set event to did not occur' steps can now include a reason. |
|
4683 |
Bug |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
TrialGrid now flags Veeva Forms whose order relative to other Forms is inconsistent across the Events in which they appear. |
|
4702 |
Feature |
TrialGrid now flags Veeva measurement Items (height, weight, vitals, etc.) that do not have an appropriate Unit Codelist. |
|
4703 |
Feature |
TrialGrid now flags Veeva measurement Items whose Length, Decimal, or value range is implausible for the kind of measurement they capture. |
|
4704 |
Feature |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Draft Merge was not working for Veeva Drafts. This has been corrected. |