Here is my phpMyAdmin report for May 2020.
In May 2020 I worked on the JavaScript dependencies, which I moved to a package manager, on the selenium test suite and on a lot of code cleanup.
First week (18)
I moved most of the JavaScript dependencies to a package manager and improved the vendor sync script, copying the jQuery plugins from their npm packages (jquery-fullscreen-plugin, jquery-debounce-throttle, jquery.ba-hashchange, jquery-uitablefilter, tablesorter). I added the CaptchaSiteVerifyURL config for reCaptcha, fixed the bookmarked query overwrite fatal error and merged a fix to allow simplifying the exported view syntax. On sql-parser I merged a fix to not allow numbers with letters. I also updated the cdnjs entry for jquery-fullscreen-plugin 1.1.5.
- 13651548ae - #16093 - Move BOM stripping to a function and add tests
- 314f27173d - Ignore twig-templates from phpstan config
- b55d2a1606 - Upgrade codemirror from ^5.52.2 to ^5.53.2
- e7552142fb - Upgrade blueimp-md5 from ^2.13.0 to ^2.14.0
- 2e0eb80cca - Update phpstan baseline
- 0d0c74e457 - Merge #16071 - Fix #12677 - update JS dependencies and use a package manager
- b5643e9e2c - Fix call of $.md5 to md5
- cb1328dd43 - Copy jquery-fullscreen-plugin from npm package
- 185b29e94f - Copy jquery-debounce-throttle from npm package
- 3043f85942 - Copy jquery-ui-timepicker-addon from npm package
- 3ab97d51ba - Rename 1.3 to 2.0 for jquery.ba-hashchange
- 50c2e4a897 - Copy jquery.ba-hashchange from npm package
- 6025fee5e4 - Copy jquery.event.drag.js from npm package and apply a patch onto it
- 305d502883 - Clean and format jquery.sortableTable.js
- 7f85a4f4d7 - Use jquery-uitablefilter package and sync vendor file
- db7a755134 - Make the sync script exclude some un-replaceable files and remove ll the other ones
- b529f7cf52 - Update jqplot vendor files from dist
- db646baff5 - Update jquery debounce plugin
- 23111e3c3d - Update jquery-tablesorter and use tablesorter dependency
- 61c5589320 - Add blueimp-md5 dependency and update jquery md5
- 410996a5f3 - Improve the vendor JS sync script and include u2f-api-polyfill
- 3d2e75846d - Update sprintf.js vendor file
- 86822d7a02 - Fix a test after the merge of #15872
- fd61e03ea6 - Merge branch 'QA_5_0'
- 668a6614fd - Add a ChangeLog entry for #16104
- a06c62ef04 - Fix #16104 - Overwriting bookmarked query causes PHP Fatal error
- d93bbf3cbb - Fix tests after the merge of #15872
- 4e92395e3f - Add a ChangeLog entry for #15496
- d2efd91f60 - Merge #15495 - Fix #15496 - Modify ReCaptcha to allow for custom siteVerifyUrl value
- 3278415b3d - Implement $cfg['CaptchaSiteVerifyURL'] for Google re-captcha
- 122497caec - Translated using Weblate (French)
- 01f55d93a6 - Update po files
- 69cb73e6d7 - Merge #15872 - Fix #14149 - Improve expired session message
- b5f5166357 - Merge branch 'QA_5_0'
- 26594cd5e2 - Add a ChangeLog entry for #16012
- d654b4fec7 - Merge branch 'QA_5_0'
- 52b6930fac - Exclude 5.1 libraries/cache from phpcs analysis
- 7b009216a9 - Add GisVisualizationTest after #16088
- 969f43c82b - Merge #16088 - Fix #16012 - swapping long lat if mysql version >= 8.1
- 7c24eba29d - Merge #16090 - Fix #16049 - checking if select input exists before retrieving the value, but not checking hostname select input value
- dbae05fa14 - Fix ExportSqlTest a failing assertion after #15416
- 037bc2abf8 - Update psalm and phpstan baselines
- 7db0debd05 - Fix some failing tests
- 2c1d08bfd3 - Update psalm and phpstan baselines
- 0cbba2aef2 - Add some properties typehints
- 4153d85ea2 - Add some properties typehints on Advisor class
- f2210a32a8 - Fix a coding standard issue from #15416
- 8d0085310a - Rename test/bootstrap-phpstan.php to test/bootstrap-static.php
- a1d837d3ce - Scan all libraries using psalm
- c2f44de523 - Add psalm to "Lint and analyse code" TravisCI config
- 697a8ca99d - Update po files
- 48534439b8 - Add a ChangeLog entry for #14815
- a09a63ffca - Merge #15416 - Fix #14815 - Allow simplifying exported view syntax to only "CREATE VIEW"
- f2926ea672 - Merge branch 'QA'
- 029d91be8f - Add a CHANGELOG entry for #300
- bedca6aa51 - Merge #300 - Don't allow numbers with letters
Second week (19)
A lighter week: I fixed the coverage reporting, on codacy and Scrutinizer. And I merged two sql-parser fixes, adding the INVISIBLE keyword and allowing $ in names. On the docker repository I fixed the tag list generation.
- 7cf78d10bd - Mark Codacy coverage final on the first step of Documentation stage
- 7e4bfbdefb - Fix codacy coverage reporter script
- f215a035b5 - Upload coverage to Scrutinizer
- 972180a862 - Merge branch 'QA_5_0'
- d4017f3100 - Translated using Weblate (French)
- c0b2ac28f9 - Merge #288 - Use same "latest" procedure as in update.sh
- d1f2dea243 - Revert 490df186e5255d27b481b153e9e6d1a2d3fb525e
- 27f6f7e5ae - Fix parsing each revision on generate-stackbrew-library.sh
- 490df186e5 - Add each variant to the tag list
- d826f3a721 - Merge #286 - cleanup after review for #56
- cfb60754ac - Merge branch 'QA'
- b2e5668bc4 - Add a CHANGELOG entry for #292 and #301
- 8263ff740a - Merge #303 - Fix #292 - Add support for INVISIBLE keyword
- 2e4cabc850 - Merge #302 - Fix #301 - The "$" might be a character used in a name
Third week (20)
I did a lot of code cleanup: splitting big methods into smaller functions, moving the Git methods out of the Config class and improving typehints. I also fixed several selenium tests and merged a few UI fixes (the mouseover highlighting, the hex converter and the margin before the checkbox on local settings import). On the error-reporting server I fixed coding standard and coverage issues.
- 0138cb471f - Some minor code improvements
- c12f341bbf - Split Git::checkGitRevision into Git::getHashFromHeadRef
- 31d9f1e603 - Split Git::unPackGz into Git::readPackFile and Git::getPackOffset
- dfa718c1c6 - Merge branch 'QA_5_0'
- c8e5ec43ab - Add a ChangeLog entry for #16093
- 7fc4722155 - Fix #16093 - Error importing utf-8 with bom sql file
- 13f04e5d9d - Add a ChangeLog entry for #15996
- db02eea620 - Fix #15996 - local setup doc links are broken
- 19df63b036 - Fix #314 - make sure where_clause is not modified
- daecbf9c16 - Translated using Weblate (Persian)
- 5364df21c6 - Translated using Weblate (Persian)
- a72203c514 - Remove some unused code
- 821441f0cd - Remove some useless lines in test files and remove an else
- 47cb55e17e - Show an error if curl init failed
- a5788e0df5 - Split checkGitRevision commit parsing part into extractDataFormTextBody and isRemoteCommit functions
- 8e56addea7 - Split checkGitRevision GZ part into unPackGz function
- 585ae508eb - Move out of Config Class all Git methods
- 1cc7f78012 - Split part of the logic of getQueryFromRequest into processFunctionSpecificParameters
- f2d349df40 - Split part of the logic of getQueryFromRequest into processParamsAndBuild
- 7766f93904 - Use variables to limit access to $_POST and improve code of getQueryFromRequest
- a9660abfdd - Update psalm baseline
- 0918aabbeb - Change the psalm command to include new errors on update
- 9afe27eedb - Update baselines
- 62eb1eaf95 - Improve signature of getDataFromName
- 9a95abd05f - Use declaration of global $dbi
- 37abda64f7 - Add a composer command to update baselines
- 81a0fab9b3 - Fix coding standard on setup/styles.css
- a1395a628c - Merge branch 'QA_5_0'
- 78c6d38173 - Translated using Weblate (Persian)
- 0ac9cf78f0 - Translated using Weblate (Persian)
- c0ae422e23 - Translated using Weblate (Persian)
- 381f8ba406 - Translated using Weblate (Persian)
- d93efc2eda - Fix Missing vendor-prefixed CSS gradients for Old Webkit (Safari 4+, Chrome).
- dcacba0039 - Merge #16124 - Fix #15101 - Fix margin before checkbox on local settings import
- e9a3657a93 - Move some code of handleExecuteRoutine into getQueriesFromRoutineForm
- 770c6c877a - Fix a typo on a getter and rename it
- f2ac6644b0 - Fix ResultsTest::testGetTableNavigationButton
- d57de68ae4 - Camel case some variables
- 54127bd425 - Run stylelint on print CSS styles
- 952d05090d - Change final upload step after #16120
- 178f6db302 - Split Database/Routines::handleExecute code into a function
- 947f9ad04f - Remove some unused code detected by codacy
- 076a84d259 - Run stylelint on setup CSS styles
- cc981860a7 - Coding standard fixes and baselines updates
- 795d708c65 - Use a plausible phpdoc typehint
- 824a5b277e - Merge #16123 - Fix #16110 - Incorrect mouseover highlighting
- 25fbf9973c - Update po files
- e22f83218f - Merge #16122 - Remove mysql extension checks as it was removed in php 7.0
- 9bc55b2bc9 - Remove some unused variable assignements
- f7db653d4f - Improve some typehints
- fcd41f6c85 - Remove some mysql extension assertions
- 3463257b05 - Add a space between attributes as suggested by w3c validator
- 2c90e4477e - Translated using Weblate (English (United Kingdom))
- b366e4f515 - Translated using Weblate (English (United Kingdom))
- 9089ffdbb0 - Translated using Weblate (French)
- 39ad5045b8 - Translated using Weblate (English (United Kingdom))
- 9ef06e8a9d - Translated using Weblate (Ukrainian)
- df5804eeac - Translated using Weblate (English (United Kingdom))
- 0e7f218cfd - Update po files
- a29dc02d35 - Add a ChangeLog entry for #15136
- 136dad083a - Merge branch 'QA_5_0'
- 291eb002af - Merge #15779 - Fix #15136 - Hex converter giving invalid results
- eba09af1c8 - Update po files
- b5c35bc682 - Merge #16115 - Translation updates
- d5431145b4 - Fix selenium testLoginWithWrongPassword and testQueryTabWithNullValue tests
- 15597c7464 - Upgrade blueimp-md5 from ^2.14.0 to ^2.15.0
- e2e73bce19 - Hide down icon provided by defaut on the navbar for Bootstrap theme
- 501484bb3a - Fix Expanding "More" menu on small screens
- 3b4afd2bd9 - Fix Expanding "More" menu for ever, check once and continue
- 401bcec8a6 - Merge #16120 - TravisCI config improvements
- 9dea93fcf0 - Add back TESTSUITE_BROWSERSTACK_KEY
- 75e0669c27 - Switch documentation stage at the end to stop documentation link checks preventing "other tests" to be run
- ee2a49e4a8 - Make start-local-server not depend on BrowserStack and improve logging of nginx server
- c5d44692a4 - Improve actual selenium CI
- 80aaf95e92 - Fix testHideDatabase by clearing the auto-completed input
- 5deb7f41f3 - Fix the case of a submit selector
- 454ed6c785 - Translated using Weblate (French)
- 1bedd9327a - Remove useless escaping in QBE twig template
- 913afd30a8 - Fix criteria escaping in QBE
- 5c0ed71adb - Remove selenium success assertions after #15662 and #15663
- 49ffdfb35f - Fix selenium EventsTest
- 78a427f03b - Fix selenium test testCopyDb
- cc6d5ca040 - Add a quick check if the full screen did not hide the menu bar to avoid waiting for nothing.
- 75f811ba20 - Add tests dependencies on EventsTest
- f4153a744e - Fix selenium {Table/Database}/OperationsTest test
- 7f123d5b7d - Fix selenium CreateRemoveUserTest test
- 30f7b936ee - Update po files
- f2b315990a - Merge remote-tracking branch 'Weblate_master/master'
- d48ae4a21a - Update po files
- d5db177729 - Fix some phpstan warnings and update baselines
- b4e8fd4f97 - Use more return types for some plugin classes
- 19bd17c7d7 - Translated using Weblate (English (United Kingdom))
- 89830f22b6 - Remove partial option from Codacy reporter
- 36fdd50233 - Remove ONLY_FULL_GROUP_BY from MySQL sql_mode
- 8369665cef - Remove useless codecov.yml file
- 393bcd5bc5 - Fix coding standard issues after phpcs update
- c74697456d - Update Scrutinizer config
- 41dfcd97de - Fix some "Notice Error: Trying to access array offset on value of type null"
- ffdd81c181 - Add php 7.4 to the build matrix
- dc60660be5 - Improve coverage upload to Codacy and Scrutinizer
- 7937bc75bf - Use the header instead of the deprecated query param header
- d3e24c8bcf - Upgrade phpstan to 0.12
Fourth week (21)
I created an AbstractTestCase and made it manage the GLOBALS cleanup and the config loading for the unit tests, with backupGlobals = false. I also removed the globals of the selenium test suite in favour of getenv, improved the TestBase and the BrowserStack configuration, and maximized ImportTest to avoid random issues with the "More" menu.
- 6d123fe452 - Some minor codebase fixes and improvements
- 0a6a316b2a - Improve TravisCI config for selenium step and add TESTSUITE_SERVER env
- b12587b8e4 - Add TESTSUITE_DATABASE ENV
- cf6c3be29a - Fix DROP DATABASE queries
- 458100f16a - Fix OperationsTest::testCopyTable
- b593fd334f - Some selenium code improvements
- b49745ceef - Remove all globals for selenium tests and use getenv
- 325357c121 - Select English if the selector exists on selenium tests
- 1910579791 - Add getters for some ENVs in the selenium test suite
- c4da7f6a9a - Remove useless testMySQL
- 3fe9c3def9 - TestBase improvements for selenium test suite
- d59b1a4e23 - Merge remote-tracking branch 'Weblate_master/master'
- 45898139c7 - Type fixes for EventsTest
- cee552d140 - Update po files
- 05a5084a18 - Update baselines
- edf0ea2230 - Improve TestBase and fix some reported errors
- 11cb629bf0 - Merge branch 'QA_5_0'
- 5b8a725a0d - Merge branch 'QA_4_9' into QA_5_0
- 271dc9a955 - Merge #16137 - Selenium test-suite fixes for QA_5_0
- f82d06f464 - Add a ChangeLog entry for #16130
- 763d118ecc - Merge #16135 - Fix #16130 - Local documentation links
- f7e967d147 - Maximize ImportTest to avoid having random issues with "More" menu
- c52fc38a6b - Apply coding standards for 5.0
- 18c89c8914 - Exclude https://suhosin.org/ from link checking
- 53bdb5e775 - Improve BrowserStack config
- 853e7c870b - Fix testServerExport by adding quotes to the selector
- 00535c50c3 - Rewrite waitAjax selenium function
- 1667bd648e - Fix isLoggedIn selenium test base function
- 36b2f6e244 - Add REQUEST_TIME for Xml coverage
- af25c18051 - Add more strictness to _SERVER globals and remove some unused whitelisted ones
- 4134f34b54 - Fix tests for seed 590128958
- a878168e6c - Fix a typo in my last commit
- b8e6834058 - Rename PmaTestCase to AbstractNetwokTestCase
- 49a6d6e8d0 - Use AbstractTestCase instead of PmaTestCase for all tests not needing mockResponse
- 7b6cf8a1b9 - Fix bad mocking cleanup of Response::_instance
- 1cb874a75e - Make GitTest::testIsGitRevision not depend on .git directory in filesystem
- bb0bc3bb93 - Merge #16131 - Unit test suite improvements
- e964206215 - Remove object typehint for php 7.1
- 7e81b0b3d7 - Merge callProtectedMethod and callPrivateFunction into callFunction
- 5c270d863d - Move callProtectedFunction to abstract class
- ae575ffb14 - Fix running tests in --process-isolation
- 3a49cb33bb - Move defining envs to defineTestingGlobals
- fe32a359dc - Move PMA_VERSION calls into defineVersionConstants() for tests
- f89f4c9f2c - Fix failing tests after tear down cleans everything
- afc734846d - Tear everything down
- a330babefd - Fix curl init error condition
- 0964470643 - Use parent::setGlobalConfig();
- a6c469611a - Minor fixes
- 5195520883 - Coding standard fixes
- 13eaeadbf9 - Clean bootstrap-dist file
- 8f7d3d1fa7 - Fix test cases after backupGlobals = false
- a7490fcb6c - Make AbstractTestCase manage GLOBALS cleanup and config loading
- 5bc53cc5e5 - Set evil backupGlobals to false
- 6eaa55e805 - Call parent's setUp and tearDown
- 8ef5143901 - Use AbstractTestCase on all unit tests
- 8624fbbe97 - Create AbstractTestCase class
- f063c553f2 - Fix some tests executed in random order
- 5aef97207b - Do not use strict equals with class names
- ec3efe8a1e - Use ::class in Plugin class
- 0b2c24ee26 - Use ::class in tests
- 759a22e854 - Translated using Weblate (Persian)
- a1703951a8 - Translated using Weblate (Persian)
- 4856ef812d - Use the standard [ci skip] lowercase
- 10ef81db84 - Fix HTML escaping for db and table parameters on "Privileges" page
- 1686770212 - Fix #16119 - ActionLinksMode icons not showing text on structure page
- e117391154 - Translated using Weblate (Persian)
- 1f8d3d4e0e - Set Scrutinizer coverage to external
- cdb3629da2 - Fix some outdated documentation in our codebase and improve it
- cfc17e56ea - Fix some potential bugs after my last commit
- 3db033224e - Add more typehints and improve some code for Util class
- a819fa10d4 - Use parse_url PHP_URL_PATH instead of parsing all
- 4b0985843f - Merge branch 'QA_5_0'
- b5012300dc - Add a ChangeLog entry for #16127
- 481023e946 - Fix #16127 - table column description error when DisableIS=true
- 73290bcdcf - Merge branch 'QA_5_0'
- 8cea059c83 - Merge branch 'QA_4_9' into QA_5_0
- 02c2f9cd18 - Add a ChangeLog entry for #16089
- 48c821d08a - Fix #16089 - 2FA UX enhancement, autofocus 2FA input
- 70329729e4 - Fix #15996 - local setup doc links are broken, us the right links in FormDisplay
- d67c0d41ba - Merge #16128 - Fix #16119 - ActionLinksMode icons not showing text
- f29c338c83 - Fix selector to add a column to support French "Date et l'heure" having a single quote
- 45a5573bf9 - Merge #15951 - Fix #15950 - Datetime picker UI improvements
- a0b95cc294 - Translated using Weblate (Turkish)
- 9e587db2fc - Translated using Weblate (French)
- a14aeadc3b - Translated using Weblate (Turkish)
- b65cf5a95f - Translated using Weblate (Turkish)
Fifth week (22)
I continued the code cleanup by splitting DatabaseInterface and moving code into the Query namespace, and moved the navigation variables to data-* attributes. I merged fixes for the ActionLinksMode icons not showing text on the structure page and the 2FA input autofocus. I opened a pull-request on Twig with the 3.x fixes for the deprecations I hit on PHP 8. On the error-reporting server I upgraded the coding standard to 2.0 and dropped the deprecated phpcs package.
- c9c659f28f - Merge remote-tracking branch 'Weblate_master/master'
- e6b89bcaca - Update po files
- 4bf5fa696d - Split some code into functions in the ImportCsv class
- a4bb90d4a8 - Move level 0 into getNameForLevel0
- b7494aaa62 - Move level 1 into getNameForLevel1
- 87d4a21164 - Split some code in the Collation class
- 8e74c29baf - Merge #16153 - Fix #16102 - Broken error message
- 802797c176 - Move getConnectionParams to Config class
- 36fa925914 - Extract SQL query from DatabaseInterface::getColumnsFull
- 73fb678d08 - Extract SQL query from DatabaseInterface::getDatabasesFull
- ffcabac791 - Simplify DatabaseInterface _fetchValue
- 8e164bda85 - Move _dbgQuery to Query\Utilities as debugLogQueryIntoSession
- eecab19b3e - Move versionToInt to Query\Utilities
- 54e27c6a3d - Simplify DatabaseInterface fetchValue logic
- aadb6abfeb - Move usortComparisonCallback to Query\Utilities and remove 2 globals
- 7e9d2ae4f9 - Move more SQL queries into Query\Generator
- 585304b685 - Move formatError into Query\Utilities
- 761045bcc9 - Move getSystemSchemas and isSystemSchema to Query\Utilities
- 312bf572f2 - Move some compatibility handling into Query\Compatibility
- 490d731d6c - Add some fallbacks if the data is not available
- a1a6dd99ea - Move vPath, aPath, pos to paths_nav using data-* attributes
- aec59d5007 - Move pos3_name and pos3_value to pos3_nav using data-* attributes
- d944f0851e - Move pos2_name and pos2_value to pos2_nav using data-* attributes
- 928549a71b - Merge #16148 - Fix #16147 - php error after DBI code extraction
- 889715fefa - Merge branch 'QA_5_0'
- 1d1f01891c - Access random id from Abstract GisGeometry
- 81be9a3a31 - Add a ChangeLog entry for 43564f5f5f
- 43564f5f5f - Fix twig deprecations for php 8
- b341a58947 - Add tests for Util::{testGetConditionValue, testListPHPExtensions}
- aff8b646aa - Extract Util::getConditionValue from Util:getUniqueCondition
- 1dd98ba696 - Trim down Relation::checkTableAccess
- c86f90dffa - Split some code in Relation class
- aba5e27a82 - Some code fixes and improvements
- 9ce286070e - Merge #16142 - Split some code out of DatabaseInterface
- 4d61ef2313 - Split some code out of DatabaseInterface
- e184b470cd - Fix testDuplicateInfo after last commit, it does return -1
- a300a25319 - Replace assertEquals({false,true} by assert{false,true}
- d82eb1b24a - Mark extensions to skip tests on minimal php setups
- 1affd8e634 - Remove language specific config for selenium tests after 325357c121b
- 9561cd8ec4 - Fix php 7.1 object return by ORM Entity
- 07e3a88d74 - Fix all coding standard errors
- 83305e1dc8 - Upgrade phpcs rules and rename phpcbf command
- 7b9ab2b43d - Remove vim mod lines
- ed28d7cd11 - Upgrade phpMyAdmin coding standard to 2.0