Default release track date: 29-Sep-2026
TestRail 10.8.1 brings OAuth 2.0 authorization to the API, significantly more powerful querying capabilities for integration teams, and a round of targeted performance improvements for large-scale instances. Read on for the full picture.
Follow the Docker installation instructions here: TestRail 10.8.1 on Docker
Please note that our recommended upgrade path is via TestRail 9.4.1. If youβre still running TestRail 7.0 or below, you should follow the path below:
- upgrade to 7.5 first
- upgrade to 8.0.1
- upgrade to 8.0.4
- upgrade to 9.4.1
- and only then upgrade to 10.8.1
βΉοΈ We've updated our upgrade guidelines with a new step: Suspend the Background Task Before Upgrading.
Once the upgrade is complete, you must open _config/config.php in your Docker files folder, and add new line with:
define('TR_CHROME_PATH', '/usr/bin/chrome-headless-shell-linux64/chrome-headless-shell');π API: Advanced Filtering, Incremental Sync & Field Selection
Integration teams and automation pipelines can now retrieve exactly the data they need β filtering, field scoping, and incremental sync all land in 10.8.
Incremental sync with updated_after
Add updated_after to any bulk list endpoint to fetch only records modified after a given timestamp. Sync jobs no longer need to re-fetch and diff your entire case library to find what changed.
GET /api/v2/get_cases/{project_id}&updated_after=1716249600Applies to: get_cases, get_runs, get_results, get_results_for_case, get_results_for_run, get_plans, get_bdd, get_bdds
Richer server-side filtering
Major list endpoints now accept standard filter parameters: status_id, priority_id, section_id, assignedto_id, label_id, created_by, updated_by, and milestone_id, applied at the database level, not client-side.
Field selection
Add a fields parameter to bulk list endpoints to request only the fields your integration needs.
GET /api/v2/get_cases/{project_id}&fields=id,title,updated_on,priority_idEspecially useful for BI pipelines, reporting tools, and sync workflows that only need identifiers, timestamps, or status fields β not full case objects with all custom fields included.
π API: Bulk Update Results
The new update_results endpoint updates multiple existing test results in a single API call.
POST /api/v2/update_results
- Before 10.8, updating 500 results required 500 individual calls and careful rate-limit management. Now a handful of bulk requests handles the same workload.
- Supports all standard and custom result fields - status_id, comment, elapsed, defects, assignedto_id, and any custom_* fields. Uses a partial success model: valid updates are applied; invalid ones fail individually with clear error detail so your integration can identify and retry only the affected records.
- Common use cases: post-processing automation results, syncing external test frameworks, bulk defect assignment, correcting imported execution data.
The existing single-result update_result endpoint is unchanged.
β‘ Performance Improvements
Several targeted improvements to speed and stability for teams working at scale:
- Dashboard charts now load from cached results by default and refresh in the background, preventing database pressure spikes when multiple users open dashboards simultaneously. A Refresh button lets you pull the latest data on demand.
- Faster Bulk Case Updates in Dynamic Runs changes to dynamic run's filter is dramatically faster on large runs. Previously a single case edit on a run with thousands of tests could stall for over a minute β now that execution runs quickly without causing page delays.
- API get_cases responses are faster for large suites, using batch data fetching to eliminate per-case database queries on list calls.
- Project activity reporting is faster on large accounts, with improved database indexing on activity tracking queries.
- Audit Trail Query Acceleration: Improved query efficiency when logging attachment metadata, preventing redundant database calls during bulk operations.
π Fixes and Improvements (16)
- TR-11152: Fixed an error that occurred when opening Pivotal Tracker projects from the TestRail plugin
- TR-13381: Fixed the "No Access" system role disappearing from the default roles list
- TR-14781: Fixed a Jira add-on configuration mismatch that occurred after updating integration project settings
- TR-14956: Fixed the "Assigned To" field not appearing in printed test reports
- TR-18368: Fixed custom case fields placed in the "Bottom" location disappearing after updating a test case
- TR-20034: Fixed an issue where changes to a test plan could not be saved
- TR-20211: Fixed the page automatically scrolling to the top after updating a test case status
- TR-20368: Fixed the AI Test Case Generator failing during the "Generate Test Steps" stage
- TR-20806: Fixed an issue preventing updates to user access permissions on the Users administration page
- TR-21395: Fixed API-submitted test result comments losing Markdown formatting and line breaks when viewed in the UI
- TR-21765: Fixed the Milestone print view hanging indefinitely when the milestone contained a large number of tests
- TR-21857: Fixed a browser crash ("Aw, Snap!") when opening or printing a large Details view in Chrome
- TR-21896: Fixed attachments on archived test cases, sections, and plan entries being incorrectly reported as orphaned in Administration β Data Management β Attachments
- TR-21899: Fixed raw HTML tags displaying in test summary details for results submitted via the API
- TR-21937: Fixed a database migration error that caused upgrade failures when upgrading from versions prior to 10.6
- TR-22159: Fixed an error that prevented milestones from being created after upgrading to 10.8
π Cassandra Deprecation Enforcement
Starting with TestRail 9.5 Server, Cassandra is officially deprecated and enforcement is in place.
- Admins must first run the Cassandra deprecation script in version 9.4.1 before upgrading to 9.5.
- If the script has not been executed, the upgrade to 9.5 will be blocked and a warning message will be displayed during the upgrade process.