Problem/Motivation

#3214954: [11.x] [meta] Set Drupal 11 platform and browser requirements at least six months before the release defined the platform requirements. We should be sure to update INSTALL.txt once the 11.x branch is used for Drupal 11 development to reflect those.

Steps to reproduce

Proposed resolution

Update core/INSTALL.txt with the results of issues at #3214954: [11.x] [meta] Set Drupal 11 platform and browser requirements at least six months before the release
Update database hook_requirements()

Remaining tasks

const MYSQLND_MINIMUM_VERSION
const LIBMYSQLCLIENT_MINIMUM_VERSION

User interface changes

API changes

Data model changes

Release notes snippet

Issue fork drupal-3421175

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

Gábor Hojtsy created an issue. See original summary.

catch’s picture

Not sure if it should be here or in its own issue, but we also need to update hook_requirements() for the various database drivers, and that in turn will require removing gitlab jobs for any newly-unsupported database drivers.

quietone’s picture

I made a item for 'database drivers' in the parent for the work mentioned in #2. I'd like to keep the database work separate from any generalized INSTALL or README files.

catch’s picture

Title: Update INSTALL.txt and friends with Drupal 11 platform requirements » [11.x] Update INSTALL.txt and friends with Drupal 11 platform requirements
Priority: Normal » Major
Status: Postponed » Active
Issue tags: +Major version only

I think this is unblocked now.

catch’s picture

Title: [11.x] Update INSTALL.txt and friends with Drupal 11 platform requirements » [11.x] Update INSTALL.txt and hook_requirements() etc. with Drupal 11 platform requirements
Issue tags: +Needs issue summary update

Let's do the database hook_requirements() here. We could use a summary of the new requirements in the issue summary so tagging for that.

quietone’s picture

Component: documentation » base system
Issue summary: View changes

Update IS and also change component because this is about more than documentation.

quietone’s picture

Status: Active » Needs review
quietone’s picture

Title: [11.x] Update INSTALL.txt and hook_requirements() etc. with Drupal 11 platform requirements » Update INSTALL.txt and hook_requirements() etc. with Drupal 11 platform requirements
smustgrave’s picture

Status: Needs review » Needs work

Comments and title mention a hook_requirements() change also.

INSTALL.txt looks correct though based on the database ticket.

quietone’s picture

Status: Needs work » Needs review

I did not find any hook_requirements that needed a change.

smustgrave’s picture

Status: Needs review » Needs work

It's not a hook_requirements but believe Drupal\mysql\Driver\Database\mysql\Install\Tasks has to be updated too right?

quietone’s picture

Issue summary: View changes
Issue tags: -Needs issue summary update

The issue for mysql did not discuss MYSQLND or libmysqlclient so those still need to be done.

catch’s picture

Status: Needs work » Reviewed & tested by the community

We haven't changed MYSQLND_MINIMUM_VERSION or LIBMYSQLCLIENT_MINIMUM_VERSION since 2015 when they were introduced afaict, probably worth a follow-up task to discuss whether to bump them, whether they're still needed at all etc. but don't need to touch here I think.

This looks good to me.

quietone’s picture

longwave’s picture

Status: Reviewed & tested by the community » Needs work

We need to remove some GitLab CI jobs that are now incompatible:

'PHP 8.3 MySQL 5.7':
'PHP 8.3 MariaDB 10.3.22':
'PHP 8.3 PostgreSQL 14.1':
'PHP 8.3 PostgreSQL 15':
'[Commit] PHP 8.3 MySQL 5.7':
'[Daily] PHP 8.3 MariaDB 10.3.22':

Also, there is a build test failure:

    1) Drupal\BuildTests\TestSiteApplication\InstallTest::testInstall
    Failed asserting that a string is not empty.
    
    /builds/project/drupal/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php:121
    /builds/project/drupal/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php:55
    /builds/project/drupal/core/tests/Drupal/BuildTests/TestSiteApplication/InstallTest.php:40
quietone’s picture

I am pretty sure the failure is due to #3420972: Add testing wtih SQLite 3.45

xjm’s picture

Priority: Major » Critical
Issue tags: +alpha target
quietone’s picture

Status: Needs work » Needs review
daffie’s picture

Status: Needs review » Reviewed & tested by the community

The PR looks good to me.
All the minimum database versions have been correctly updated.
For me it is RTBC.

maks oleksyuk’s picture

It might be good to change INSTALL.txt to INSTALL.md, which would improve the readability of the file from the repository page.

quietone’s picture

@Maks Oleksyuk, that work it outside the scope of this issue and as far as I know there is no agreement yet in the community to convert the all .txt files. You can learn more about this topic in the scope guidelines in the Drupal wiki. Cheers.

alexpott’s picture

Status: Reviewed & tested by the community » Needs review

Added a comment to the MR - if it is just a case of applying the suggestion then we can set this back to RTBC.

Also how lovely is it to adjust the CI in the same issue that adjusted the requirements... gitlabci ftw!

alexpott’s picture

Status: Needs review » Needs work

We need to update MySQL 5.7 documentation links in:

  • core/assets/scaffold/files/default.settings.php
  • core/modules/migrate/src/Plugin/migrate/source/SqlBase.php
  • core/modules/mysql/src/Driver/Database/mysql/Connection.php

More tasks:

  • We need to remove support for the deprecated modes in \Drupal\mysql\Driver\Database\mysql\Connection::__construct
  • \Drupal\Tests\mysql\Functional\InstallerIsolationLevelExistingSettingsTest::testInstaller needs adjusting because we no longer support MySQL 5.7
  • \Drupal\Tests\mysql\Functional\InstallerIsolationLevelNoDatabaseSettingsTest::testInstaller needs adjusting because we no longer support MySQL 5.7
  • We should probably adjust \Drupal\Tests\mysql\Unit\ConnectionTest::providerVersionAndIsMariaDb to remove unsupported MySQL versions and add MySQL 8 version strings
  • We should adjust mysql_requirements() because we don't support MySQL 5.7
  • We should have a look at the comment in \Drupal\path_alias\PathAliasStorageSchema::getEntitySchema() - maybe it is not specific to MySQL 5.7 - I think this probably deserves it's own followup.
quietone’s picture

\Drupal\mysql\Driver\Database\mysql\Connection::__construct : Changes made but not sure they are correct.

Todo:
\Drupal\Tests\mysql\Unit\ConnectionTest::providerVersionAndIsMariaDb : should also update the MariaDB strings?
We should have a look at the comment in \Drupal\path_alias\PathAliasStorageSchema::getEntitySchema() - maybe it is not specific to MySQL 5.7 - I think this probably deserves it's own followup.

gábor hojtsy’s picture

Status: Needs work » Needs review
alexpott’s picture

I ran the previous commit on the MR against MariaDB which didn't use the different properties to get the transaction isolation level - it was v broken... https://git.drupalcode.org/project/drupal/-/pipelines/163687

Gonna run the new MR against Maria too.

alexpott’s picture

Status: Needs review » Reviewed & tested by the community
Issue tags: +Needs followup

this looks great - green on maria now. We need to create a follow up issue about 11.1.1 mariadb and the transaction isolation level query.

gábor hojtsy’s picture

Status: Reviewed & tested by the community » Needs review

The MR updates the docs on SQLite and Postgres but does not seem to make code changes for those? Is that correct?

catch’s picture

Status: Needs review » Reviewed & tested by the community

sqlite already has const SQLITE_MINIMUM_VERSION = '3.45'; and pgsql already had 16, it was just MySQL not updated (likely due to gitlab not having all the right versions when we made the decision).

I made one commit to update a docs link for pgsql, moving back to RTBC.

gábor hojtsy’s picture

Title: Update INSTALL.txt and hook_requirements() etc. with Drupal 11 platform requirements » Update INSTALL.txt and hook_requirements() etc. with remaining Drupal 11 platform requirements

Ah I found #3420972: Add testing wtih SQLite 3.45 updated sqlite and PostgreSQL version requirement is changed in the MR. All right.

gábor hojtsy’s picture

alexpott’s picture

Status: Reviewed & tested by the community » Fixed

Committed and pushed c8e201a167 to 11.x and a86a0294fb to 11.0.x. Thanks!

  • alexpott committed a86a0294 on 11.0.x
    Issue #3421175 by quietone, catch, Gábor Hojtsy, alexpott, smustgrave,...

  • alexpott committed c8e201a1 on 11.x
    Issue #3421175 by quietone, catch, Gábor Hojtsy, alexpott, smustgrave,...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.