Version : 91

Released : 2026-10-04

Changes in this Release

Issue

Type

Module(s)

Description

5388

Bug

API

The project roles by user API responds quickly for organizations with many users.

5334

Feature

Actions

An Action can now set a User Custom Property to the person running it, by using the expression user.

5381

Bug

Actions

An Action precondition that can result in something other than True or False is now rejected when the Action is saved, instead of saving without error and being skipped every time it runs. For Agent actions, the agent configuration page and the Action editor also check the precondition against the variables of each hook the action is selected for.

5289

Feature

Agents

Object Definitions have an Agent Instructions tab showing what the AI agents are told about that object type — the type's own instruction, and for each of its properties whether the value is sent and what guidance goes with it. Editing needs the Manage Agent Configuration permission; anyone who can see the URL can read it.

5290

Bug

Agents

AI agents no longer send every populated custom property to the model. Each Custom Property now carries a "Send to agents?" setting which is off until you turn it on, so a value reaches the model only once someone has decided it belongs in the specification. Values recording who tested or reviewed an object are no longer sent. Existing object types need their specification properties marked as sent on the Object Definition's Agent Instructions tab before an agent will build from them.

5324

Feature

Agents

Custom Properties can carry their own agent instruction, sent alongside the property's value so the model is told what an individual property means rather than relying on one instruction for the whole object type.

5290

Bug

Agents

The URL settings export now includes each Custom Property's Send to Agents setting and Agent Instruction, and the object type's own Agent Instruction, so an export shows which property values are sent to an AI agent.

5380

Bug

Agents

The Bulk Edit Check Creator's created_high_confidence hook now exports "created" and "updated" as True/False rather than 1/0, so an action precondition such as agent("created") or agent("updated") runs the action instead of being rejected as not returning True or False.

5381

Bug

Agents

An Action precondition that can result in something other than True or False is now rejected when the Action is saved, instead of saving without error and being skipped every time it runs. For Agent actions, the agent configuration page and the Action editor also check the precondition against the variables of each hook the action is selected for.

5382

Feature

Agents

Every Bulk Edit Check Creator action hook now exports an "outcome" variable naming the hook that fired, so one action can be selected under several hooks, for example with the precondition agent("outcome") in ["custom_function_required", "build_failed"].

5383

Bug

Agents

When an agent hook action cannot run because its precondition is invalid, the agent's results now show it in a warning with the reason, instead of counting it among skipped actions in a collapsed detail list.

5093

Bug

Automated Testing

The Test Case Run log now displays log messages as text, so a study name containing HTML cannot affect the page.

5212

Feature

Automated Testing

When an expected email is not received, TrialGrid now lists the emails the organization received during the Scenario with their date, time and subject, and highlights the differences between the expected text and the closest email.

2333

Feature

Automated Testing

Objects can now be deleted from the object editor, using the Delete option in the dropdown beside Save, with confirmation before deletion.

5265

Feature

Automated Testing

Deleted Test Cases now appear on a Deleted page in the Test Case list, showing when each was deleted and by whom. Select any number and restore them in the background. A restored Test Case does not get back its labels, comments, ticket links or Test Run history.

5296

Bug

Automated Testing

Saving a Test Case now always leaves the page working, whether the save succeeds or fails, so it keeps showing other users' changes and can be saved again.

5348

System

Automated Testing

The Rave EDC and Rave Classic wait times for automated test runs are now runtime settings, so they can be tuned in the admin and take effect from the next test case run.

5351

Bug

Automated Testing

The Test Data Advisor now enters one value per DataPoint when a Field is made visible by an Edit Check, choosing a value that makes the Field visible and entering it in the same log record as that Field.

5354

Bug

Automated Testing

The Test Case Advisor now chooses Folders consistently. With AI, wild-carded Forms use the same Folder as without AI and Forms with a specified Folder keep it, and Edit Checks that also have IsPresent actions are tested through their Custom Function or Dynamic Search List action. A check action with no Folder now follows all the Folder rules, and uses the Folder the Edit Check specifies for its Form rather than the wild-carded Folder. The alternate Folder for the Primary Form is no longer 'SUBJECT'.

5261

Feature

Automated Testing

On Veeva vaults at release 26R2 or later, test runs open forms directly with Veeva EDC's stable form links, and each form screenshot in the results links to that form in Veeva EDC.

5357

Bug

Automated Testing

The maximum number of concurrent Test Case Runs set for a Rave URL or Veeva Vault now applies to your Organization's own runs, and the progress message shown when your Organization is at its limit now shows the right count.

5362

Feature

Automated Testing

The Veeva Vaults list shows which Veeva release each vault is on, read automatically from the vault when it is registered and when test cases run.

5365

Bug

Automated Testing

The Veeva Test Case Advisor now generates test cases for Comparison Rules whose identifiers are written as paths. Test cases for a Comparison Rule whose Operator is 'must be equal to' now expect the query when the two dates differ and no query when they are equal, as Vault fires it; previously they expected the reverse.

5378

Bug

Automated Testing

Test Case Runs against a Rave EDC URL using the old user interface no longer fail at login with an unexpected error when user access was recorded while the URL used the new user interface. Access is checked again, and a user with no recorded access now stops the run with a message naming the study, site and role.

5379

Feature

Automated Testing

When registering a Medidata Rave URL, users now choose whether it is Rave Classic (direct or via iMedidata) or Rave EDC (old or new user interface), instead of TrialGrid inferring it from the Rave version. Registering a URL again resets its user access, so access is checked again before the next run, and any Test Case Runs in progress on it are cancelled after confirmation. A URL already using the new Rave EDC user interface keeps its access and runs when registered as the new user interface again.

5384

Bug

Automated Testing

Ticking Cancel previous runs in the Test Run wizard now cancels the earlier runs of the same Test Cases that are still running or waiting to run; unticking it on the final step keeps them.

5387

Bug

Automated Testing

Starting or cancelling a Test Run with many Test Cases is faster.

5240

Feature

Custom Properties

The URL settings export now includes a tab for Object Definition layouts, showing the layout definition and the roles it is assigned to.

5267

Feature

Custom Properties

Custom Properties can now be of type User. Setting a value shows a picker of names and email addresses, and the chosen person is shown with their avatar in listings.

5277

Bug

Custom Properties

Exporting custom properties to another URL now correctly clears the target URL's property definition cache, so exported properties appear immediately.

5289

Feature

Custom Properties

Object Definitions have an Agent Instructions tab showing what the AI agents are told about that object type — the type's own instruction, and for each of its properties whether the value is sent and what guidance goes with it. Editing needs the Manage Agent Configuration permission; anyone who can see the URL can read it.

5324

Feature

Custom Properties

Custom Properties can carry their own agent instruction, sent alongside the property's value so the model is told what an individual property means rather than relying on one instruction for the whole object type.

5333

System

Custom Properties

TrialGrid now remembers whether a URL uses User Custom Properties instead of checking on every page load, and refreshes that record when URL settings are copied. This change is internal and does not alter what you see.

5359

Bug

Custom Properties

Custom object saves are now rejected when any property value is invalid, and errors are shown for every row in the save. Custom objects with no property values, and Folders whose current values would not pass validation, can now be deleted from a property sheet.

5255

Bug

Diagnostic

The help note for Diagnostic 0003 Field OID Length Limit now correctly states that the length threshold is inclusive.

5257

Bug

Document Templates

The Display Name of a Document Template setting can now be changed after the setting has been created. Setting names within a template must now differ by more than capitalisation, and a name that differs only in case is refused with an error rather than being silently ignored.

5239

Bug

Infrastructure / System

The PDF worker is now reliably stopped after its configured period of inactivity, instead of occasionally restarting its inactivity countdown and staying up for another cycle.

5254

Bug

Infrastructure / System

Diagnostic information is now recorded when the platform refuses a request to start a test case run worker, and a scale up that could not create a worker is reported as a failure rather than passing unnoticed.

5276

Bug

Infrastructure / System

Cleanup of test run screenshots and reports now removes every stored file for large runs, and no longer records files as deleted when the deletion did not succeed.

5328

Feature

Infrastructure / System

A test case run worker being retired is now returned to service when demand recovers, instead of sitting idle while TrialGrid starts a replacement.

5251

System

Infrastructure / System

Routine status messages and duplicated lines are no longer written to the production logs, cutting log volume by around 40% while keeping the record of what each test case run did.

5275

Bug

Labels

When no labels are enabled for an object type, the Add/Remove labels menu item in object lists is now shown greyed out with an explanation instead of appearing to do nothing.

5328

Feature

Performance

A test case run worker being retired is now returned to service when demand recovers, instead of sitting idle while TrialGrid starts a replacement.

5331

Bug

Performance

Progress bars for two background tasks running at the same time no longer stop each other updating, and a page showing a progress bar no longer polls the server continuously.

5345

Bug

Performance

Background compliance recalculations now complete much faster and no longer saturate the production database.

5385

Bug

Performance

The Drafts list for a Project loads quickly however much activity the Project has accumulated.

5386

Bug

Performance

The Tasks page loads quickly for users with a long history of Tasks.

5387

Bug

Performance

Starting or cancelling a Test Run with many Test Cases is faster.

5388

Bug

Performance

The project roles by user API responds quickly for organizations with many users.

5389

Bug

Performance

The home page and pinned objects list load quickly for users with many pinned objects.

5258

Feature

Permissions

Organization roles can now be defined and viewed on the new Organization Roles page. They are not yet used to control access.

2272

Bug

Permissions

TrialGrid no longer reveals that a Project, Draft or URL has been deleted, or when it will be permanently removed, to users without permission to view it.

5269

Feature

Permissions

Organization Roles now decide what their holders can do. Holding 'Administer Permissions' no longer grants the other permissions, and a new 'Can manage Icons' permission controls who can change Organization Icons.

5359

Bug

Property Sheets

Custom object saves are now rejected when any property value is invalid, and errors are shown for every row in the save. Custom objects with no property values, and Folders whose current values would not pass validation, can now be deleted from a property sheet.

5342

Bug

Rave Integration

Wizard steps no longer fail with a security error when the page has been open across a session change.

5093

Bug

Security

The Test Case Run log now displays log messages as text, so a study name containing HTML cannot affect the page.

5253

Bug

Security

Custom Diagnostics can no longer use the .format() and .format_map() methods of text values. Use an f-string, or join the pieces with +.

2272

Bug

Security

TrialGrid no longer reveals that a Project, Draft or URL has been deleted, or when it will be permanently removed, to users without permission to view it.

5290

Bug

Security

AI agents no longer send every populated custom property to the model. Each Custom Property now carries a "Send to agents?" setting which is off until you turn it on, so a value reaches the model only once someone has decided it belongs in the specification. Values recording who tested or reviewed an object are no longer sent. Existing object types need their specification properties marked as sent on the Object Definition's Agent Instructions tab before an agent will build from them.

5341

Bug

Security

Error responses to background requests no longer restart the page's JavaScript, so a failed action leaves the rest of the page working.

5342

Bug

Security

Wizard steps no longer fail with a security error when the page has been open across a session change.

5290

Bug

Security

The URL settings export now includes each Custom Property's Send to Agents setting and Agent Instruction, and the object type's own Agent Instruction, so an export shows which property values are sent to an AI agent.

5327

Bug

Security

A locked Draft now refuses changes to its objects at the server, not only by hiding the controls, so a page opened before the Draft was locked can no longer change it. This also covers labels, assignments, comments, Diagnostic fixes and Agent saves, and a locked Draft's own properties can no longer be edited.

5373

Bug

Security

Folder and Form reordering now protects against malicious attempts to renumber Folders and Forms that belong to a different Draft.

5226

Bug

Standard Rules

A Must Not Exist Standard Rule naming an object that is in a Draft but not in its Library is now reported as a Rule Failure. Previously the object was reported as compliant.

5355

Bug

Standard Rules

When a library Must Exist or Must Not Exist rule is recalculated, missing objects are now added and removed in every linked draft. Previously some linked drafts could keep outdated missing objects or not show new ones.

5360

Bug

Standard Rules

Recalculating a library rule no longer fails when another recalculation has just written the same missing objects for a draft.

5226

Bug

Standards

A Must Not Exist Standard Rule naming an object that is in a Draft but not in its Library is now reported as a Rule Failure. Previously the object was reported as compliant.

5345

Bug

Standards

Background compliance recalculations now complete much faster and no longer saturate the production database.

5237

Feature

Study build

Organizations can now register Import Scripts, ready for importing data from Excel, JSON and YAML files.

5246

Feature

Study build

Import Scripts can now declare the settings they need.

2333

Feature

Study build

Objects can now be deleted from the object editor, using the Delete option in the dropdown beside Save, with confirmation before deletion.

5262

Feature

Study build

Import Scripts can now be tested against a real file, showing what the script would do without changing anything.

2135

Feature

Study build

Deleting a Field in the Form Editor now warns which Edit Checks, Derivations and Lab Settings will be removed with it, rather than refusing the delete. They are removed when the Form is saved.

3547

Feature

Study build

Fields can now be deleted from the Fields list, individually or in bulk, with a warning listing the Edit Checks and Derivations that will be deleted with them.

5297

Bug

Study build

Error messages returned by the server as a full web page are now shown as text, so the page reporting the error keeps working. In the Form editor, Load default values is hidden for fields with no data dictionary.

5323

Feature

Study build

A test run of an Import Script can now be pointed at a Draft, Project or URL, and the script can read from it. Settings that name a Draft, Project or URL are chosen from the same searchable list, with Projects that hold Standard libraries marked.

5289

Bug

Study build

The URL settings export lists Property Sheets, their Roles and their Columns in a consistent order across environments. They were ordered by an internal identifier whose value depends on the database, so the same URL exported from different environments produced the tabs in different orders.

5327

Bug

Study build

A locked Draft now refuses changes to its objects at the server, not only by hiding the controls, so a page opened before the Draft was locked can no longer change it. This also covers labels, assignments, comments, Diagnostic fixes and Agent saves, and a locked Draft's own properties can no longer be edited.

5373

Bug

Study build

Folder and Form reordering now protects against malicious attempts to renumber Folders and Forms that belong to a different Draft.

5385

Bug

Study build

The Drafts list for a Project loads quickly however much activity the Project has accumulated.

3249

Feature

UX

Deleting a Project, Draft or URL now requires typing DELETE to confirm, so a mis-click can no longer destroy work.

5264

Feature

UX

Deleted Drafts now appear on a Deleted tab of the Project's Drafts list, showing who deleted them and when they will be removed permanently, and can be restored from there.

5295

Bug

UX

An icon that fails to load now shows the missing-icon placeholder without raising a browser error.

5297

Bug

UX

Error messages returned by the server as a full web page are now shown as text, so the page reporting the error keeps working. In the Form editor, Load default values is hidden for fields with no data dictionary.

5331

Bug

UX

Progress bars for two background tasks running at the same time no longer stop each other updating, and a page showing a progress bar no longer polls the server continuously.

5349

Feature

Validation

The build now checks that every issue referenced from the tests has a release note.

5261

Feature

Veeva

On Veeva vaults at release 26R2 or later, test runs open forms directly with Veeva EDC's stable form links, and each form screenshot in the results links to that form in Veeva EDC.

5357

Bug

Veeva

The maximum number of concurrent Test Case Runs set for a Rave URL or Veeva Vault now applies to your Organization's own runs, and the progress message shown when your Organization is at its limit now shows the right count.

5362

Feature

Veeva

The Veeva Vaults list shows which Veeva release each vault is on, read automatically from the vault when it is registered and when test cases run.

5364

Bug

Veeva

The Veeva Vaults list now shows each vault's latest test case run and number of test case runs, including runs made before this release.

5367

Bug

Veeva

Veeva Comparison Rules whose identifiers are fully qualified ($) paths now reference the Event Groups, Events, Forms, Item Groups and Items those paths name, so they appear in those objects' 'in use' lists and are counted when checking whether an object can be deleted.