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

Created on 13 February 2024, 9 months ago
Updated 18 May 2024, 6 months ago

Problem/Motivation

🌱 [11.x] [meta] Set Drupal 11 platform and browser requirements at least six months before the release Active 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 🌱 [11.x] [meta] Set Drupal 11 platform and browser requirements at least six months before the release Active
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

📌 Task
Status

Fixed

Version

11.0 🔥

Component
Base 

Last updated about 15 hours ago

Created by

🇭🇺Hungary Gábor Hojtsy Hungary

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @Gábor Hojtsy
  • 🇬🇧United Kingdom catch

    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.

  • 🇳🇿New Zealand quietone

    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.

  • Status changed to Active 8 months ago
  • 🇬🇧United Kingdom catch

    I think this is unblocked now.

  • 🇬🇧United Kingdom catch

    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.

  • 🇳🇿New Zealand quietone

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

  • Pipeline finished with Success
    8 months ago
    Total: 507s
    #131388
  • Status changed to Needs review 8 months ago
  • Status changed to Needs work 8 months ago
  • 🇺🇸United States smustgrave

    Comments and title mention a hook_requirements() change also.

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

  • Status changed to Needs review 8 months ago
  • 🇳🇿New Zealand quietone

    I did not find any hook_requirements that needed a change.

  • Status changed to Needs work 8 months ago
  • 🇺🇸United States smustgrave

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

  • 🇳🇿New Zealand quietone

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

  • Status changed to RTBC 8 months ago
  • 🇬🇧United Kingdom catch

    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.

  • 🇳🇿New Zealand quietone

    Made a followup to discuss the 2 constants in #14. 3437786

  • Status changed to Needs work 8 months ago
  • 🇬🇧United Kingdom longwave UK

    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
    
  • Pipeline finished with Failed
    8 months ago
    Total: 32024s
    #135826
  • Pipeline finished with Failed
    8 months ago
    #141281
  • 🇳🇿New Zealand quietone

    I am pretty sure the failure is due to 📌 Add testing wtih SQLite 3.45 Fixed

  • Pipeline finished with Failed
    8 months ago
    #141300
  • Pipeline finished with Failed
    8 months ago
    #141306
  • Pipeline finished with Success
    8 months ago
    Total: 2881s
    #141308
  • Pipeline finished with Failed
    7 months ago
    Total: 988s
    #155967
  • 🇺🇸United States xjm
  • Status changed to Needs review 7 months ago
  • Status changed to RTBC 7 months ago
  • 🇳🇱Netherlands daffie

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

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

  • 🇳🇿New Zealand quietone

    @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.

  • Status changed to Needs review 7 months ago
  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    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!

  • Status changed to Needs work 7 months ago
  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    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.
  • Pipeline finished with Success
    7 months ago
    #161387
  • Pipeline finished with Failed
    7 months ago
    Total: 664s
    #161518
  • Pipeline finished with Success
    7 months ago
    Total: 561s
    #161551
  • 🇳🇿New Zealand quietone

    \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.

  • Pipeline finished with Success
    7 months ago
    Total: 532s
    #161586
  • Status changed to Needs review 7 months ago
  • Pipeline finished with Failed
    7 months ago
    Total: 859s
    #163749
  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    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.

  • Status changed to RTBC 7 months ago
  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    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.

  • Status changed to Needs review 7 months ago
  • 🇭🇺Hungary Gábor Hojtsy Hungary

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

  • Status changed to RTBC 7 months ago
  • 🇬🇧United Kingdom catch

    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.

  • 🇭🇺Hungary Gábor Hojtsy Hungary

    Ah I found 📌 Add testing wtih SQLite 3.45 Fixed updated sqlite and PostgreSQL version requirement did not change. All right.

  • Pipeline finished with Failed
    7 months ago
    #164076
  • Pipeline finished with Success
    7 months ago
    Total: 568s
    #164223
  • 🇬🇧United Kingdom alexpott 🇪🇺🌍

    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,...
  • Status changed to Fixed 7 months ago
    • alexpott committed c8e201a1 on 11.x
      Issue #3421175 by quietone, catch, Gábor Hojtsy, alexpott, smustgrave,...
  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024