What's Changed
New Features
- Add cumulative duration column to targets page by @williamjallen in #3612
- Add handling for branch coverage information from CTest by @josephsnyder in #3598
- Add support for build error links when project not repo root by @williamjallen in #3633
- GraphQL: Support single-valued relationship filtering by @williamjallen in #3674
- Introduce new 'docker run' validation command by @josephsnyder in #3716
- Add target name filter to instrumentation page by @williamjallen in #3736
Administration
- Disallow expensive pages via robots.txt by @williamjallen in #3654
Performance
- Bulk insert test measurements by @williamjallen in #3653
- Load all dynamic build groups simultaneously by @williamjallen in #3732
User Experience
- Link to project configuration pages from new settings page by @williamjallen in #3611
- Add build sidebar to test details page by @williamjallen in #3615
- Prefix project URLs with https prefix by @williamjallen in #3631
- Revamp build update page by @williamjallen in #3635
- Move project settings item to Project menu by @williamjallen in #3641
- Revamp test measurement settings page by @williamjallen in #3646
- Disable line chart animation by @williamjallen in #3664
- Rename commands page to "instrumentation" by @williamjallen in #3663
- Add label relationship filter to build tests page by @williamjallen in #3681
- Redesign registration page by @williamjallen in #3679
- Introduce OpenBSD platform icon by @josephsnyder in #3713
- Change default builds per build group from 10 to 50 by @williamjallen in #3728
- Implement test delta in new tests page by @williamjallen in #3729
- Change defaults for project
uploadquotaandautoremovetimeframeby @williamjallen in #3738
Deprecations & Removals
- Remove deprecated
/api/v1/viewConfigure.phpendpoint by @williamjallen in #3600 - Remove deprecated GraphQL fields by @williamjallen in #3602
- Remove deprecated
/api/v1/testSummary.phpendpoint by @williamjallen in #3601 - Remove unused
/api/v1/computeClassifier.phpendpoint by @williamjallen in #3604 - Remove legacy XML filter logic by @williamjallen in #3603
- Remove user homepage and
/api/v1/user.phpby @williamjallen in #3613 - Remove deprecated
/api/v1/createProject.phpendpoint by @williamjallen in #3609 - Remove deprecated
/ajax/getviewcoverage.phpendpoint by @williamjallen in #3608 - Remove site statistics page by @williamjallen in #3605
- Remove deprecated
/api/v1/viewNotes.phpendpoint by @williamjallen in #3610 - Drop support for remote workers by @williamjallen in #3614
- Remove "compare coverage" page by @williamjallen in #3617
- Remove deprecated
/api/v1/viewDynamicAnalysisFile.phpendpoint by @williamjallen in #3624 - Remove deprecated
/api/v1/viewBuildError.phpendpoint by @williamjallen in #3619 - Remove deprecated
/api/v1/buildProperties.phpendpoint by @williamjallen in #3623 - Remove build overview page by @williamjallen in #3618
- Remove unused
/api/authtokens/allendpoint by @williamjallen in #3626 - Remove unused
/api/authtokens/deleteendpoint by @williamjallen in #3629 - Remove
removeBuilds.phppage by @williamjallen in #3630 - Remove unused
/api/v1/project.phpendpoint by @williamjallen in #3627 - Remove "View SubProjects Link" project config option by @williamjallen in #3637
- Remove unused
/api/authtokens/createendpoint by @williamjallen in #3636 - Remove unused
/api/v1/viewUpdate.phpendpoint by @williamjallen in #3640 - Remove blocked builds feature by @williamjallen in #3642
- Remove build error filters feature by @williamjallen in #3650
- Remove UI-based subproject management by @williamjallen in #3649
- Drop support for SQS queues by @williamjallen in #3651
- Remove unused
/api/v1/addUserNote.phpendpoint by @williamjallen in #3652 - Remove unused
/api/v1/relateBuilds.phpendpoint by @williamjallen in #3657 - Remove unused
/api/v1/manageMeasurements.phpendpoint by @williamjallen in #3658 - Remove
testDetails.phpAPI endpoint by @williamjallen in #3667 - Remove project
autoremovemaxbuildsconfig option by @williamjallen in #3675 - Remove label filter propagation by @williamjallen in #3724
- Remove
/api/v1/buildSummary.phpAPI endpoint by @williamjallen in #3730 - Remove legacy
viewTest.phppage by @williamjallen in #3731 - Remove
/api/v1/viewTest.phpAPI endpoint by @williamjallen in #3734
Bug Fixes
- Add BuildUpdate table to db:clean command by @josephsnyder in #3714
- Fix test file download link by @williamjallen in #3726
- Fix duplicate date query param on test query next/previous by @williamjallen in #3733
Internals
- Fix flaky sub-project-group-order Cypress test by @williamjallen in #3558
- Parallelize browser tests by @williamjallen in #3594
- Fix flaky BuildBuildPageTest by @williamjallen in #3621
- Fix flaky project settings page test by @williamjallen in #3616
- Fix flaky expected build test by @williamjallen in #3622
- Reimplement manage auth tokens page with GraphQL by @williamjallen in #3620
- Remove mapping for remote worker route by @williamjallen in #3628
- Hardcode Cypress APP_URL by @williamjallen in #3639
- Convert user profile Cypress tests to Laravel Dusk by @williamjallen in #3638
- Add
createCommentGraphQL mutation by @williamjallen in #3645 - Refactor dynamic analysis page by @williamjallen in #3647
- Reorganize submission tests by @williamjallen in #3648
- Rewrite test details page test by @williamjallen in #3643
- Convert test details page backend to GraphQL by @williamjallen in #3662
- Curate available filters instead of auto-generation by @williamjallen in #3671
- Drop repository password length constraint by @williamjallen in #3672
- Factor out reusable flame graph component by @williamjallen in #3676
- Convert subproject dependency chart to ECharts by @williamjallen in #3678
- Standardize GraphQL mutation error handling by @williamjallen in #3680
- Add logging to all GraphQL mutations by @williamjallen in #3721
- Fix flaky project settings test measurements test by @williamjallen in #3722
- Fix flaky create project page test by @williamjallen in #3723
- Switch build summary backend to GraphQL by @williamjallen in #3725
Dependencies
- Bump default Node.js from 22.x to 24.x by @williamjallen in #3607
- Bump phpseclib/phpseclib from 3.0.50 to 3.0.51 by @dependabot[bot] in #3634
- Bump follow-redirects from 1.15.11 to 1.16.0 by @dependabot[bot] in #3656
- Bump phpunit/phpunit from 12.5.8 to 12.5.22 by @dependabot[bot] in #3666
- Bump eslint-plugin-cypress from 6.2.1 to 6.3.1 by @dependabot[bot] in #3700
- Bump vue from 3.5.31 to 3.5.33 by @dependabot[bot] in #3698
- Bump globals from 17.4.0 to 17.5.0 by @dependabot[bot] in #3696
- Bump @fortawesome/vue-fontawesome from 3.1.3 to 3.2.0 by @dependabot[bot] in #3701
- Bump laravel/dusk from 8.5.0 to 8.6.0 by @dependabot[bot] in #3688
- Bump @codemirror/view from 6.40.0 to 6.41.1 by @dependabot[bot] in #3699
- Bump sass from 1.98.0 to 1.99.0 by @dependabot[bot] in #3704
- Bump postcss from 8.5.8 to 8.5.13 by @dependabot[bot] in #3706
- Bump qs, body-parser and @cypress/request by @dependabot[bot] in #3705
- Bump eslint-plugin-jest from 29.15.1 to 29.15.2 by @dependabot[bot] in #3689
- Bump autoprefixer from 10.4.27 to 10.5.0 by @dependabot[bot] in #3691
- Bump friendsofphp/php-cs-fixer from 3.94.2 to 3.95.1 by @dependabot[bot] in #3702
- Bump axios from 1.13.6 to 1.15.2 by @dependabot[bot] in #3694
- Bump larastan/larastan from 3.9.3 to 3.9.6 by @dependabot[bot] in #3684
- Bump laravel/socialite from 5.26.0 to 5.27.0 by @dependabot[bot] in #3697
- Bump fast-uri from 3.1.0 to 3.1.2 by @dependabot[bot] in #3718
- Bump @babel/plugin-transform-modules-systemjs from 7.23.3 to 7.29.4 by @dependabot[bot] in #3717
- Bump phpstan/phpstan from 2.1.44 to 2.1.51 by @dependabot[bot] in #3685
- Bump ws from 8.18.3 to 8.20.1 by @dependabot[bot] in #3737
Full Changelog: v4.11.0...v5.0.0