v3.2.0
williamjallen
released this
02 Jan 15:11
·
8 commits
to releases/3.2
since this release
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
type
to build metadata API response by @williamjallen in #1439 - Add "labels" column to
queryTests.php
by @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.php
database 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 inbuild2test
table by @williamjallen in #1577 - Add index to improve
/projects
performance by @williamjallen in #1579 - Render build groups one at a time on index page by @williamjallen in #1588
- Optimize repeated
testSummary.php
query 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.php
to login if no public projects by @williamjallen in #1473 - Re-route CTest configuration page by @williamjallen in #1485
- Redirect
/editUser.php
to/profile
by @williamjallen in #1484 - Display update messages as prepared text by @williamjallen in #1496
- Redirect
/viewProjects.php
to/projects
by @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.php
build information table by @williamjallen in #1557 - Reformat build history table by @williamjallen in #1563
- Refactor
overview.php
UI by @williamjallen in #1564 - Remove LOC displays from coverage graph by @josephsnyder in #1576
- Display
buildOverview.php
logs 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.php
API endpoint by @williamjallen in #1523 - Delete unnecessary
googleauth_callback.php
endpoint by @williamjallen in #1553 - Delete unused
importBuilds.php
script by @williamjallen in #1554 - Remove wildcard rules for dynamic build groups by @williamjallen in #1566
- Delete
viewSubProjectDependencies
page 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 #1386
- Fix missing
/build/<id>
project URL by @williamjallen in #1421 - Fix page header formatting when invalid project provided by @williamjallen in #1426
- Fix project access controls by @williamjallen in #1404
- Fix
editSite.php
DB query typo by @williamjallen in #1402 - Fix broken
buildnote.php
by @williamjallen in #1395 - Fix undefined variables by @williamjallen in #1406
- Fix subproject DB queries by @williamjallen in #1424
- Fix unclosed HTML on login page by @williamjallen in #1425
- Fix missing import in
getviewcoverage.php
by @williamjallen in #1423 - Fix global asset routes by @williamjallen in #1413
- Fix buildSummary page notes API call by @josephsnyder in #1430
- Restore and refresh monitor.php by @zackgalbreath in #1436
- Fix display of data on subprojects page by @williamjallen in #1437
- Align edit project dropdown with page content by @williamjallen in #1438
- Refactor Banner by @williamjallen in #1441
- Authorize request before returning images by @williamjallen in #1445
- Populate "Manage SubProjects" list by default by @williamjallen in #1456
- Time entire request by @williamjallen in #1459
- Fix remaining mentions of MAIL_DRIVER for MAIL_MAILER by @sjoubert in #1475
- Fix duplicate login page when rendering via AngularJS by @williamjallen in #1480
- Fix user search functionality by @williamjallen in #1486
- Fix project roles user search feature by @williamjallen in #1490
- Fix missing import in
AdminController
by @williamjallen in #1511 - Fix email sent for errors in Update.xml by @williamjallen in #1508
- Fix 404 when filtering coverage display by @josephsnyder in #1520
- Fix test summary error when no results by @williamjallen in #1526
- Set database schema version on install by @williamjallen in #1532
- Accept POST route for
buildOverview.php
by @williamjallen in #1546 - Fix
editSite.php
error when no sites claimed by @williamjallen in #1562 - Fix broken
LDAP_FILTERS_ON
functionality by @zackgalbreath in #1565 - Define $testtimemaxstatus in testSummary.php by @zackgalbreath in #1573
- Fix typo in
docker-entrypoint.sh
by @williamjallen in #1584 - Coverage: Check if user defined before trying to get name by @williamjallen in #1572
- Fix
onlydeltan
case on build error page by @williamjallen in #1578 - Fix erroneous message upon creating new buildgroup by @zackgalbreath in #1605
- Properly query the USER_CREATE_PROJECTS variable by @josephsnyder in #1604
- Fix links to subprojects in subprojects table by @williamjallen in #1592
- Use exponential backoff when requeueing Done.xml files by @zackgalbreath in #1614
- Fix broken link on build update graph by @williamjallen in #1600
- Truncate test names to 255 characters by @zackgalbreath in #1622
- Fix handling of manageCoverage priority by @josephsnyder in #1617
- Fix error when no files selected on
manageCoverage.php
by @williamjallen in #1598 - Change GetUsersFromProject to only return arrays by @josephsnyder in #1619
- Treat autoremove builds query parameter as integer by @williamjallen in #1627
- Remove lingering reference to defunct submission table by @zackgalbreath in #1636
- Disable git repo ownership check by @williamjallen in #1629
- Restore support for SQS-fifo queues by @zackgalbreath in #1721
- Finish transition from CDASH_USER_CREATE_PROJECTS by @josephsnyder in #1718
- Fix base-level redirect for CDash-in-a-subdir by @zackgalbreath in #1752
- Re-index array after removing duplicates by @williamjallen in #1789
- Use Laravel's Storage mechanism for uploaded files by @zackgalbreath in #1796
- Backport date filter bugfix by @williamjallen in #1798
- Bug fix for 'Remove' button on manageProjectRoles.php by @zackgalbreath in #1800
- Use Project::ComputeTestingDayBounds in upload_handler by @zackgalbreath in #1849
- Backport graph timestamp formatting by @williamjallen in #1817
- Make sure Laravel storage directories exist by @zackgalbreath in #1857
- Fix navigation when clicking on test details graph by @zackgalbreath in #1865
- Handle null logline condition by @williamjallen in #1908
- Add additional error checking to label handling by @williamjallen in #1907
Internals
- Address scanner issues by @zackgalbreath in #1251
- Improve permissions in Docker image by @zackgalbreath in #1286
- Modify directory permissions for Docker image by @zackgalbreath in #1288
- install.php: use configured port number by @iarspider in #1247
- Expand flags for composer process by @josephsnyder in #1295
- Remove some of the complexity from our docker compose system by @zackgalbreath in #1301
- Don't run PHP style fixer before running test suite by @williamjallen in #1316
- Add PHPStan static analysis tool to test suite by @williamjallen in #1314
- Separate API endpoints into individual namespaces by @williamjallen in #1325
- Migrate compute_test_difference() functionality to new service class by @zackgalbreath in #1324
- Remove local.config.php file from usage. by @josephsnyder in #1323
- Use extra PHPStan plugins by @williamjallen in #1330
- Copy newest additions in common image by @josephsnyder in #1329
- Refactor database queries by @williamjallen in #1332
- Use Laravel routing instead of public-facing PHP files by @williamjallen in #1340
- Validate handler types by @williamjallen in #1344
- Deprecate
add_log()
function by @williamjallen in #1342 - Delete unused code by @williamjallen in #1341
- Fix error count for BuildGroup.php by @josephsnyder in #1346
- Fix
viewCoverage.php
formatting by @williamjallen in #1347 - Remove more php config syntax by @josephsnyder in #1349
- Change how project names are validated by @williamjallen in #1352
- Remove all incorrect
@throws
annotations by @williamjallen in #1355 - Enforce correct
@throws
tag on all functions by @williamjallen in #1359 - Set up Dependabot by @williamjallen in #1357
- Add SECURITY.md by @zackgalbreath in #1375
- Simplify common code by @williamjallen in #1373
- Help PHPStan understand our user model setup by @williamjallen in #1356
- Delete stale CSS by @williamjallen in #1376
- Deprecate all raw PDO access by @williamjallen in #1380
- Simplify logging by @williamjallen in #1383
- Remove unused config load function by @williamjallen in #1384
- Delete unused constants.php by @williamjallen in #1391
- Add issue templates by @williamjallen in #1393
- Delete
redirect_to_https()
function by @williamjallen in #1411 - Refactor index page API by @williamjallen in #1405
- Refactor index page controller by @williamjallen in #1407
- Remove low-usage database functions by @williamjallen in #1435
- Use Laravel gates for project permissions checking by @williamjallen in #1419
- Remove dead code from
Subscription.php
by @williamjallen in #1392 - Migrate plaintext file endpoints to Laravel controllers by @williamjallen in #1444
- Remove unused controller properties by @williamjallen in #1446
- Use middleware to check administrator status by @williamjallen in #1447
- Delete unused upgrade functions by @williamjallen in #1450
- Refactor project controller by @williamjallen in #1449
- Convert XSL templates to Blade templates by @williamjallen in #1453
- Define API controller parent classes as "abstract" by @williamjallen in #1470
- Refactor
generateCTestConfiguration
file by @williamjallen in #1472 - Simplify project access control logic by @williamjallen in #1471
- Refactor
Site
andSiteInformation
models by @williamjallen in #1468 - Separate API routes from web routes by @williamjallen in #1479
- Remove Git info page by @williamjallen in #1497
- Delete unused
expectedinfo.php
file by @williamjallen in #1487 - Migrate
getversion.php
to Laravel routing system by @williamjallen in #1493 - Migrate
userStatistics.php
API endpoint to Laravel routing system by @williamjallen in #1494 - Clean up
AuthTokenController
access control logic by @williamjallen in #1499 - Rename abstract controllers by @williamjallen in #1495
- Refactor test failure graph AJAX response by @williamjallen in #1500
- Replace
json_error_response()
withabort()
by @williamjallen in #1502 - Move
viewSubProjects.php
API route logic to Laravel controller by @williamjallen in #1503 - Delete unused
buildinfogroup.php
file by @williamjallen in #1506 - Move
getviewcoverage.php
AJAX route logic to Laravel controller by @williamjallen in #1504 - Refactor
buildnote.php
AJAX route by @williamjallen in #1507 - Delete unused
BuildErrorDiff
model by @williamjallen in #1514 - Refactor
createProject.php
API endpoint by @williamjallen in #1513 - Refactor
getsubprojectdependencies.php
AJAX route by @williamjallen in #1510 - Delete unused
BuildGroupPosition
model by @williamjallen in #1515 - Delete unused
authtoken.php
API endpoint by @williamjallen in #1517 - Delete unused
checkUserPolicy()
function by @williamjallen in #1522 - Move
showcoveragegraph.php
AJAX endpoint to controller by @williamjallen in #1521 - Refactor
buildProperties.php
API endpoint by @williamjallen in #1524 - Refactor Dynamic Analysis API endpoints by @williamjallen in #1527
- Refactor
addNote.php
API endpoint by @williamjallen in #1528 - Refactor build information API endpoints by @williamjallen in #1529
- Refactor
BuildFile
model by @williamjallen in #1531 - Move
dailyupdatescurl.php
AJAX endpoint logic to controller by @williamjallen in #1538 - Refactor
compareCoverage.php
API endpoint by @williamjallen in #1535 - Remove unused imports by @williamjallen in #1537
- Delete unused logout AngularJS partial by @williamjallen in #1549
- Refactor
Coverage
model by @williamjallen in #1539 - Move single-use functions from
common.php
to relevant controllers by @williamjallen in #1551 - Refactor
getPreviousBuilds.php
API endpoint by @williamjallen in #1550 - Move all angular-only endpoints to Laravel controllers by @williamjallen in #1552
- Convert build update page from AngularJS to Vue by @williamjallen in #1561
- Move
submit.php
logic to newSubmissionController
by @williamjallen in #1519 - Refactor
testSummary.php
API endpoint by @williamjallen in #1575 - Refactor
is_build_expected.php
API endpoint by @williamjallen in #1568 - Refactor
filterdata.php
API endpoint by @williamjallen in #1570 - Refactor
buildUpdateGraph.php
API endpoint by @williamjallen in #1569 - Convert echoed error messages to thrown exceptions in models by @williamjallen in #1580
- Remove obsolete request handling logic by @williamjallen in #1582
- Refactor
buildSummary.php
API endpoint by @williamjallen in #1585 - Mark controllers as "final" by @williamjallen in #1587
- Refactor
manageSubProject.php
API endpoint by @williamjallen in #1586 - Delete unused CSS files by @williamjallen in #1594
- Delete unnecessary includes by @williamjallen in #1621
- Pin PHP dependencies to most specific version possible by @williamjallen in #1623
- Move include of global functions to
AppServiceProvider
by @williamjallen in #1635 - Add missing final/abstract keywords by @williamjallen in #1626
- Delete unused dependencies:
predis
andiron_mq
by @williamjallen in #1632
Dependencies
- Bump moment from 2.29.1 to 2.29.2 by @dependabot in #1236
- Bump async from 2.6.3 to 2.6.4 by @dependabot in #1239
- Bump guzzlehttp/guzzle from 6.5.5 to 6.5.6 by @dependabot in #1246
- Bump guzzlehttp/guzzle from 6.5.5 to 6.5.7 by @dependabot in #1250
- Security update of npm dependencies by @zackgalbreath in #1260
- Bump guzzlehttp/guzzle from 6.5.5 to 6.5.8 by @zackgalbreath in #1262
- Bump guzzlehttp/guzzle from 6.5.5 to 6.5.8 by @dependabot in #1253
- PHP 8.1 by @zackgalbreath in #1280
- Bump lcobucci/jwt from 4.1.0 to 4.1.5 by @dependabot in #1281
- Upgrade to Laravel 9 by @zackgalbreath in #1282
- Bump qs from 6.5.2 to 6.5.3 by @dependabot in #1276
- Bump decode-uri-component from 0.2.0 to 0.2.2 by @dependabot in #1274
- security updates for Javascript dependencies by @zackgalbreath in #1284
- Bump symfony/http-kernel from 6.2.4 to 6.2.6 by @dependabot in #1289
- Bump jszip from 3.7.1 to 3.10.1 by @dependabot in #1290
- Bump webpack from 5.63.0 to 5.76.0 by @dependabot in #1327
- Update Docker base image to latest Debian by @williamjallen in #1339
- Bump friendsofphp/php-cs-fixer from 3.14.4 to 3.16.0 by @dependabot in #1366
- Bump webpack from 5.76.0 to 5.79.0 by @dependabot in #1367
- Bump flot from 4.2.2 to 4.2.3 by @dependabot in #1360
- Bump guzzlehttp/psr7 from 2.4.3 to 2.5.0 by @dependabot in #1377
- Bump nunomaduro/larastan from 2.4.1 to 2.5.1 by @dependabot in #1361
- Bump php-di/php-di from 6.3.2 to 7.0.2 by @dependabot in #1363
- Bump nyholm/psr7 from 1.5.1 to 1.6.1 by @dependabot in #1382
- Bump phpstan/phpstan-strict-rules from 1.5.0 to 1.5.1 by @dependabot in #1397
- Bump doctrine/dbal from 3.6.0 to 3.6.2 by @dependabot in #1396
- Bump guzzlehttp/guzzle from 7.5.0 to 7.5.1 by @dependabot in #1400
- Bump eslint-plugin-vue from 7.20.0 to 9.11.0 by @dependabot in #1369
- Bump bootstrap-vue from 2.21.2 to 2.23.1 by @dependabot in #1364
- Bump webpack from 5.79.0 to 5.85.0 by @dependabot in #1462
- Bump phpstan/extension-installer from 1.3.0 to 1.3.1 by @dependabot in #1460
- Bump bootstrap from 4.6.1 to 4.6.2 by @dependabot in #1464
- Bump @vue/test-utils from 1.2.2 to 1.3.5 by @dependabot in #1465
- Bump friendsofphp/php-cs-fixer from 3.16.0 to 3.17.0 by @dependabot in #1461
- Bump axios-mock-adapter from 1.20.0 to 1.21.5 by @dependabot in #1541
- Bump nyholm/psr7 from 1.6.1 to 1.8.0 by @dependabot in #1545
- Bump guzzlehttp/guzzle from 7.5.1 to 7.7.0 by @dependabot in #1544
- Bump sass from 1.43.4 to 1.63.6 by @dependabot in #1543
- Bump semver from 5.7.1 to 5.7.2 by @dependabot in #1558
- Bump git-revision-webpack-plugin from 3.0.6 to 5.0.0 by @dependabot in #1542
- Bump league/oauth2-google from 2.2.0 to 4.0.1 by @dependabot in #1365
- Bump league/oauth2-github from 2.0.0 to 3.1.0 by @dependabot in #1399
- Bump default MySQL version to 8.0 by @williamjallen in #1567
- Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #1590
- Bump jquery from 3.6.0 to 3.7.0 by @dependabot in #1611
- Bump @vue/test-utils from 1.3.5 to 1.3.6 by @dependabot in #1612
- Bump fakerphp/faker from 1.21.0 to 1.23.0 by @dependabot in #1608
- Backport Dependabot updates to the 3.2 release branch by @zackgalbreath in #1785
New Contributors
- @pchoisel made their first contribution in #1287
- @iarspider made their first contribution in #1247
Full Changelog: v3.1.0...v3.2.0