Releases: Kitware/CDash
v3.2.2
What's Changed
Bug Fixes
- Fix authtoken generation for CDash in a subpath by @zackgalbreath in #1973
- Special handling for per-message delays with sqs-fifo (backport to 3.2) by @zackgalbreath in #1976
- Remove hardcoded "LIMIT 10" in autoremove.php (backport to 3.2) by @zackgalbreath in #1977
Full Changelog: v3.2.1...v3.2.2
v3.3.0-rc1
What's Changed
New Features
- Display build start time on
viewConfigure.phpandviewTest.phpby @williamjallen in #1672 - Add a Next Build table to the build summary page by @sbelsk in #1697
- Add labels to build summary page by @williamjallen in #1703
- Convert GitHub login to Socialite by @josephsnyder in #1786
- Convert GitLab login to Socialite by @josephsnyder in #1828
- Convert Google OAuth to Socialite by @josephsnyder in #1858
Administration
- Finish transition from
CDASH_USER_CREATE_PROJECTSby @josephsnyder in #1682 - Add additional information to failed submission log message by @williamjallen in #1684
- Move
php.inito outer directory by @williamjallen in #1766 - Delete invalid rows prior to creating FK constraint by @williamjallen in #1768
- Remove outdated Ansible files by @williamjallen in #1803
- Create new CDash installation script by @williamjallen in #1818
- Remove default
.envfrom Docker image by @williamjallen in #1823 - Delete unnecessary robots.txt files by @williamjallen in #1850
- Refactor Docker startup scripts by @williamjallen in #1893
Performance
- Add foreign key constraints for all projectids by @williamjallen in #1655
- Add foreign key constraints for all userids by @williamjallen in #1656
- Add foreign key constraints for all buildids by @williamjallen in #1657
queryTests.php: Optimize testmeasurement query by @williamjallen in #1722- Improve test label query performance by @williamjallen in #1792
User Experience
- Refactor site-related routes by @williamjallen in #1668
- Migrate
user.phpfrontend from AngularJS to Vue by @williamjallen in #1706 - Fix subproject dependency graph rendering by @sbelsk in #1745
- Rename central menu item from "current" to "latest" by @williamjallen in #1730
- Redirect
/install.phpto/installby @williamjallen in #1667 - Switch frontend of
/projectsto Vue by @williamjallen in #1705 - Migrate the monitor page plot to d3 by @sbelsk in #1826
- Pluralize index routes by @williamjallen in #1900
- Migrate the SubProject Dependencies page to Vue by @sbelsk in #1882
- Add loading indicator Vue template by @williamjallen in #1906
- Add Font Awesome free icons by @williamjallen in #1895
Documentation
- Update license year by @williamjallen in #1769
- Delete outdated testing info from README by @williamjallen in #1771
- Add GH template for automatic release notes by @williamjallen in #1901
- Suggest including logging information in bug report by @williamjallen in #1904
- Bump license year to 2024 by @williamjallen in #1928
Deprecations & Removals
- Delete
hasfile.phpAPI endpoint by @williamjallen in #1648 - Delete
getbuildid.phpAPI endpoint by @williamjallen in #1649 - Remove deprecated
addBuild.phpAPI endpoint by @williamjallen in #1653 - Delete
getuserid.phpAPI endpoint by @williamjallen in #1650 - Delete unused
getversion.phpAPI endpoint by @williamjallen in #1661 - Delete unused
buildgroup.phpGET endpoint by @williamjallen in #1679 - Drop unused
random_compatpolyfill by @williamjallen in #1694 - Delete
CURL_REQUEST_LOCALHOSTconfiguration option by @williamjallen in #1767 - Remove remaining references to memcached by @williamjallen in #1654
- Delete unused config settings by @williamjallen in #1799
- Drop support for migration from CDash 2.x by @williamjallen in #1801
Bug Fixes
- Fix typo in
getPreviousBuilds.phpAPI endpoint by @williamjallen in #1696 - Fix build summary graph API endpoint by @williamjallen in #1717
- Re-enable CTEST_DROP_* information for older CTests by @josephsnyder in #1720
- Sanitize column names before
timeline.phpquery by @williamjallen in #1727 - Update handler: Ignore empty site field by @williamjallen in #1725
- Fix broken navigation links on
Build Files Updatedpage by @sbelsk in #1749 - Add missing slash for URL in Dynamic Analysis by @josephsnyder in #1760
- Fix Angular routing behavior after login by @williamjallen in #1758
- Fix date filter bug when subproject specified by @williamjallen in #1797
- Specify format string for graphs with timestamps by @williamjallen in #1816
- Handle missing menu field in
HeaderMenuVue template by @williamjallen in #1825 - Handle missing search parameter more gracefully by @williamjallen in #1852
- Fix date generation in test-summary cypress test by @sbelsk in #1937
- Add link to user profile page by @williamjallen in #1930
- Fix links to and from site page by @josephsnyder in #1932
- Fix remote worker job processing by @bstrdsmkr in #1896
Internals
- Migrate
manageUsers.phpfrom XSL to Blade by @williamjallen in #1639 - Migrate
manageBanner.phpfrom XSL to Blade by @williamjallen in #1637 - Refactor subproject dependencies graph by @williamjallen in #1638
- Refactor
overview.phpAPI endpoint by @williamjallen in #1645 - Migrate
buildOverview.phpbackend from XSL to Blade by @williamjallen in #1642 - Migrate
siteStatistics.phpbackend from XSL to Blade by @williamjallen in #1644 - Refactor
viewNotes.phpAPI endpoint by @williamjallen in #1646 - Migrate
removeBuilds.phpbackend from XSL to Blade by @williamjallen in #1643 - Remove unused build header view composer by @williamjallen in #1651
- Add
view()function to controllers by @williamjallen in #1483 - Turn on PHPStan "bleeding edge" by @williamjallen in #1418
- Delete unused images by @williamjallen in #1595
- Migrate backend of
Projectmodel to Eloquent by @williamjallen in #1556 - Add install step for developers by @williamjallen in #1492
- Apply all "safe" PHP migration style rules by @williamjallen in #1624
- Migrate
CoverageSummaryDiffmodel to Eloquent by @williamjallen in #1658 - Convert
viewCoverageFile.phpbackend from XSL to Blade by @williamjallen in #1664 - Refactor
manageMeasurements.phpAPI endpoint by @williamjallen in #1665 - Enable PHPStan analysis of
Collection.phpby @williamjallen in #1662 - Convert
viewDynamicAnalysis.phpfrontend to Vue by @williamjallen in #1663 - Add test for controller names by @williamjallen in #1669
- Migrate backend of
BuildErrormodel to Eloquent by @williamjallen in #1673 - Delete duplicate login test by @williamjallen in #1675
- Clean up
Buildmodel by @williamjallen in #1674 - Log slow requests with Laravel middleware by @williamjallen in #1671
- PHPStan: Add additional unchecked exceptions by @williamjallen in #1681
- Migrate
BuildPropertiesmodel backend to Eloquent by @williamjallen in #1683 - Deprecate legacy
Configclass by @williamjallen in #1698 - Conve...
v3.2.1
What's Changed
Bug Fixes
- More gracefully handle misassigned configure records by @zackgalbreath in #1940
- Fix missing CSRF tokens for profile page by @williamjallen in #1946
Full Changelog: v3.2.0...v3.2.1
v3.2.0
What's Changed
This release brings lots of new features, performance improvements, and security fixes. CDash has been thoroughly cleaned from the inside out, reducing technical debt and making future improvements easier. The user interface has also been cleaned up, and the logo was given a light refresh.
New Features
- Laravel queues by @zackgalbreath in #1258
- Automatically parse deferred submissions after DB access is restored by @zackgalbreath in #1275
- Add option to link to index.php instead of viewSubProjects.php by @zackgalbreath in #1283
- Add dependency update command for Artisan by @josephsnyder in #1278
- Add worker and env for async submission by @josephsnyder in #1293
- Add project-level authentication token scoping by @williamjallen in #1296
- Create auth token management page by @williamjallen in #1321
- Allow configuration of allowable token scopes by @williamjallen in #1335
- Add dependency audit command by @josephsnyder in #1326
- Add a config option to disable "normal" login by @zackgalbreath in #1358
- Add support for including custom content on the login page by @zackgalbreath in #1370
- Add environment flag for disabling registration by @josephsnyder in #1387
- Add
typeto build metadata API response by @williamjallen in #1439 - Add "labels" column to
queryTests.phpby @williamjallen in #1455 - Revamp docker compose system by @zackgalbreath in #1474
- Add stale project cleanup Artisan command by @williamjallen in #1536
- Link to sites and builds in coverage and dynamic analysis sections by @williamjallen in #1589
- Remove hardcoded 24 hour contraint for /monitor by @zackgalbreath in #1615
Administration
- Demote severity of 'No note text' to info by @zackgalbreath in #1618
- Update example systemd unit by @zackgalbreath in #1783
Performance
- Optimize
viewProject.phpdatabase queries by @williamjallen in #1427 - Remove unnecessary
remove_build()data handling by @williamjallen in #1432 - Minify assets by @williamjallen in #1454
- Cache routes and views during build by @williamjallen in #1491
- Improve build deletion query performance by @williamjallen in #1540
- Index
(testid,buildid)pairs inbuild2testtable by @williamjallen in #1577 - Add index to improve
/projectsperformance by @williamjallen in #1579 - Render build groups one at a time on index page by @williamjallen in #1588
- Optimize repeated
testSummary.phpquery by @williamjallen in #1724 - Improve test label query with index by @williamjallen in #1795
User Experience
- Filter out passed tests from queryTests.php by default by @zackgalbreath in #1265
- Move footer to bottom of page by @williamjallen in #1307
- Don't show links to blank URLs in menu by @williamjallen in #1308
- Add padding around viewSite page content by @williamjallen in #1317
- Move header image to left side by @williamjallen in #1318
- Fix login header text alignment by @williamjallen in #1331
- Remove "nav-link" class from Register button by @josephsnyder in #1343
- Fix ordering of header menu items by @williamjallen in #1350
- Align top menu items with page content by @williamjallen in #1354
- Remove "Choose" option from admin dropdowns by @williamjallen in #1389
- Standardize header and footer templates by @williamjallen in #1351
- Add padding to build summary table by @williamjallen in #1394
- Standardize prepared text UI by @williamjallen in #1403
- Fix AngularJS tab UI by @williamjallen in #1416
- Update CDash logos by @williamjallen in #1417
- Display configure command as prepared text by @williamjallen in #1422
- Center project nav by @williamjallen in #1434
- Add custom error templates for 4xx errors by @williamjallen in #1452
- Add help text to system monitor page by @williamjallen in #1458
- Redirect
viewProjects.phpto login if no public projects by @williamjallen in #1473 - Re-route CTest configuration page by @williamjallen in #1485
- Redirect
/editUser.phpto/profileby @williamjallen in #1484 - Display update messages as prepared text by @williamjallen in #1496
- Redirect
/viewProjects.phpto/projectsby @williamjallen in #1489 - Push menu to right side on all pages by @williamjallen in #1512
- Improve revision URL handling when no repository specified by @williamjallen in #1501
- Refactor dynamic analysis UI by @williamjallen in #1525
- Add title to test details page by @williamjallen in #1547
- Display test details command line in monospace font by @williamjallen in #1548
- Standardize page titles by @williamjallen in #1555
- Revamp
viewTest.phpbuild information table by @williamjallen in #1557 - Reformat build history table by @williamjallen in #1563
- Refactor
overview.phpUI by @williamjallen in #1564 - Remove LOC displays from coverage graph by @josephsnyder in #1576
- Display
buildOverview.phplogs in monospace font by @williamjallen in #1571 - Update build summary table UI by @williamjallen in #1591
- Don't attempt to display group if no group defined by @williamjallen in #1593
- Use 301 HTTP code for permanent redirects by @williamjallen in #1625
- Improve site map handling of missing data by @williamjallen in #1581
Documentation
- Update docker start documentation by @josephsnyder in #1310
- Improve documentation for configuring CDash installations by @zackgalbreath in #1530
Deprecations & Removals
- Deprecate
addBuild.phpAPI endpoint by @williamjallen in #1523 - Delete unnecessary
googleauth_callback.phpendpoint by @williamjallen in #1553 - Delete unused
importBuilds.phpscript by @williamjallen in #1554 - Remove wildcard rules for dynamic build groups by @williamjallen in #1566
- Delete
viewSubProjectDependenciespage by @williamjallen in #1601 - Delete unused admin pages by @williamjallen in #1628
Bug Fixes
- Tolerate some more missing array keys in the Bazel JSON parser by @zackgalbreath in #1243
- Fix appearance & UI for test failure trend chart by @zackgalbreath in #1252
- Fix missing variable on registration form by @zackgalbreath in #1263
- Fix image comparison by @pchoisel in #1287
- Fix appearance of calendar on index.php by @zackgalbreath in #1312
- Fix auto-reload functionality by @williamjallen in #1319
- Account for formatting issues in CDASH_CONFIG by @josephsnyder in #1337
- Verify buildgroup administration privileges by @williamjallen in #1378
- Ensure user has access to project before sending project data by @williamjallen in #1379
- Fix typo in email settings by @williamjallen in #1381
- Fix query for ManageProjectRole by @josephsnyder in #1415
- Add support for SAML2 authentication by @zackgalbreath in https://github.com/Kitware/CDash/pull/...
CDash v3.1.0
Acknowledgement
Special thanks to our users, feature requesters, bug reporters, and especially to the developers that made this release of CDash possible.
- Sean McBride
- Christian Oyarzun
- Elvis Stansvik
- Zack Galbreath
Release Notes
Starting with this version of CDash, the vast majority of site-specific configuration settings are now stored in .env rather than the previous location app/cdash/config/config.local.php. Run the following command to automatically migrate settings from the old location to the new location:
php artisan config:migrate
See .env.example for documentation, examples, and default values for the various configuration settings that CDash recognizes.
Noteworthy changes since v3.0.3:
- Add support for appending to previous configure results (#1132)
- Add support for preformatted test measurements (#1136)
- Add documentation for how CDash handles test measurements (#1138, #1141, #1148)
- Update our installation documentation (#1139, #1142, #1225)
- Update
config:migrateto setAPP_ENV=productionwhen serving over https (#1153) - Update viewProjects.php to show all projects that a user has access to (#1154, #1222)
- Automatically pass SubProject filters from index.php to viewTest.php (#1157, #1179)
- Bump the size of the
dynamicanalysisdefect::typecolumn from 50 to 255 characters (#1162) - New migration to add
user::email_verified_atdatabase column (#1164) - Add a new
--all-buildsoption to thebuild:removeArtisan command (#1165) - Show extra test measurements on queryTests.php (#1174)
- Improved formatting for monitor.php (#1175)
- Use environment variables to enable/disable OAuth2 providers (#1177)
- Selectively prefer XML element in Notes.xml (#1182)
- Allow project admins to define test measurement order (#1186)
- Fix bug where the Labels filter on queryTests.php would sometimes return builds that do not match (#1192)
- Fix parsing of XML files with lots of subprojects (#1193)
- Add Revision filter to queryTests.php (#1194)
- Improve support for redundant tests (#1197, #1200)
- Better navigation controls for intermittent tests (#1207)
- Show links to SubProject notes (#1212)
- Avoid exception in
CoverageFileLog->AddLine()(#1214) - Add a config option to disable communication with https://api.github.com (#1215)
- Tolerate missing data in Bazel JSON submissions (#1216)
- Migrate the vast majority of config settings from
config.local.phpto.env(#1221, #1224) - Add support for protected projects that can only be seen by authenticated users (#1222)
- Lots of updates for our 3rd party dependencies (#1143, #1146, #1152, #1155, #1158, #1160, #1170, #1173, #1180, #1181, #1183, #1184, #1190, #1195, #1201, #1202, #1208, #1210, #1211, #1213, #1218, #1231, #1233, #1234)
CDash v3.0.3
Fixes since v3.0.2:
- Security updates (#1101, #1110, #1111)
- Fix bug where auth tokens were not always honored (#1102)
- Improve install documentation (#1103)
- Fix installation of CDash from source tarball (#1104)
- Fix bug where only the last kilobyte of dynamic analysis output was being stored/displayed (#1109)
- Fix bug where test measurements sometimes didn't get updated properly (#1112)
- Fix/improve URL handling for test graphs (#1114)
- Avoid fopen() errors during submission for long build names (#1115)
- Fix LDAP authentication for non-email userid fields (#1117)
CDash v3.0.2
Bug fixes since v3.0.1:
- #1082: Fix undefined Index on viewTest.php
- #1087: Explicitly install composer v1 in our Docker image
- #1088: Update dependency to resolve security warning
- #1089: Only return one configure row for shared subproject results
- #1093: Avoid and more gracefully handle errors when sending emails
- #1094: Fix minor issues discovered when upgrading Drake CDash
- #1096: Better error handling when swift_mailer send function fails
CDash v3.0.1
Bug fixes since v3.0.0:
- #1046: fix dead link in install docs
- #1050: improve clarify of install docs
- #1051: migrate oauth2 config settings to new format
- #1055: restore mac icon for newer version of macOS
- #1058: more improvements to install docs
- #1063, #1065, #1067: security updates for dependencies
- #1069: abort test schema migration if build2test range cannot be determined
- #1072: convert submission queue consumer to artisan command
- #1073: fix extra measurement graphs on test details page
- #1074 fix installation into an empty, existing database
- #1075 fix "never expires" date for auth tokens
- #1076 fix dynamic build rule deletion bug
CDash v3.0.0
Acknowledgement
Heartfelt thanks to all the developers that helped make this release possible:
- Alessio Molinaro
- Betsy McPhail
- Bryon Bean
- Jared Tomeck
- Julien Jomier
- Matthias Diener
- Maciej Sroczyński
- Pavlech Juraj
- Stefan Dinkelacker
- Zack Galbreath
Big or small, your efforts to improve CDash are greatly appreciated!
Release Notes
This version of CDash improves the way we store test results in the database. Make sure you have enough disk space to store an extra copy of the test table before you begin the upgrade. Depending on how much test data you have stored, this upgrade could take 4 hours or longer.
If you are using OAuth2 support to allow users to login to CDash using their GitHub, GitLab, or Google accounts, you will need to update the callback URL you have configured. For example, replace
with
High Impact Changes
- Refresh appearance of index page #791
- Timeline chart for builds and tests #801, #857, #864
- CDash can be installed as a GitHub app to report pass/fail to pull requests #832
- Port CDash to the Laravel framework #869
- Add "Test Output" filter to queryTests.php #884
- Improve database schema for test-related tables #963
Other Noteworthy Improvements
- Improve appearance of dynamic analysis results #782
- Improve support for wildcards in buildgroups #787
- Support for filter sub-clauses that are ANDed (or ORed) together #821
- Skip over days with no builds #834
- More robust calculations for the bounds of a 'testing day' #852, #992
- Make it easier to see results spanning multiple days #854, #876,
- Frontend refresh for buildSummary.php #905
- Frontend refresh for viewConfigure.php #949
- Frontend refresh for createProject.php #974
- Allow projects to set their own timezone #975, #1022
- Frontend refresh for viewNotes.php #997
- Improve user experience when no results are found #1004
- Show better timing data in footer #1007, #1020
- Better version info in footer for development versions of CDash #1032
CDash v2.6
Acknowledgement
Heartfelt thanks to all the developers that helped make this release possible:
Andreas Schneider
Betsy McPhail
Bryon Bean
Dan LaManna
Joseph Snyder
Kyle Edwards
Nils Gladitz
Omar Padron
oyarzun
Paul Wolfenbarger
Philip Lorenz
Stefan Dinkelacker
Sylvain Joubert
Zack Galbreath
Big or small, your efforts to improve CDash are greatly appreciated.
Release Notes
After December 2018, PHP 5.6 will no longer be receiving security updates. Therefore, this is likely to be the final version of CDash released that support PHP 5.
In addition to the inevitable tweaks and bug fixes, here is a chronological list of some of the more impactful improvements made since CDash v2.4.
- Better logging of SQL errors #469, #476
- Improve performance of monitor.php #471
- Better password hashing #479
- Make it clear in the email report when a test times out #484
- Show revision instead of number of files updated #485
- Show when tests go missing from one day to the next #489, #490
- Add support for OpenCover coverage information #491, #622
- Support for explicitly disabled tests #498
- Support for PHP7 #501
- Use less disk space storing configure output in the database #506
- Unconditionally display a link to build notes #509
- Update various classes and methods to use prepared SQL statements #515, #591, #595, #598
- Update more pages to use Angular to render the frontend (user.php, viewDyamicAnalysis.php, viewDyamicAnalysisFile.php, viewConfigure.php, viewUpdate.php) #527, #541, #557, #561, #609
- Make it easier to find long running tests on testOverview.php #529
- Add support for authenticated submissions #531
- Allow users to generate authentication tokens for querying the CDash API #531, #757
- Make it possible to view all build errors across a SubProject build #543
- Support for automatically creating bug tracker issues from CDash builds #551, #754
- Improved support for "all-at-once" SubProject builds #554, #555, #563
- Record and display the amount of "processor time" spent by a test #570, #612
- Record and display build/test results from Bazel's Build Event Protocol format #578
- Show terminal colors in build and test output #618, #625, #640, #665
- Add the ability to associate arbitrary key/value properties with any given build #630
- Show the expected time threshold in the test time status graph #631
- Support for login via GitHub, GitLab, and Google #674, #693, #712
- Link to "View as JSON" to show the data used to render each page #677
- Support for Amazon SQS as a backend submission queue #686, #723, #765, #767
- Build Docker images for CDash and publish them to DockerHub #698, #703, #738, #755, #766
- Add ability to create relationships between builds #700
- Initialize and return buildids at submission time #721, #751
- Allow CDash submissions to be parsed remotely #727, #739
- Automatically determine when a build is finished #731
- Allow build warnings and errors to be filtered out by CDash #753