Problem/Motivation

Drupal requirements list the following SQLite requirements currently:

Drupal 9 requires SQLite 3.26 or higher

Decide on Drupal 10 requirements changes if any.

Distros

  • Debian
    • 10 (6th july 2019): Ships with SQLite 3.27
    • 11 Expected to be released before Drupal 10: Ships with SQLite 3.34
  • Ubuntu
    • 20.04 LTS (april 2020): Ships with SQLite 3.31
    • 22.04 LTS (expected april 2022)
  • Red Hat Enterprise Linux
    • 8 (7th may 2019): Ships with SQLite 3.26
    • 8.3 (29th october 2020) (Also SQLite 3.26)

Database

  • 3.26 released December 2018
  • 3.27 released Februari 2019
  • 3.31 released Januari 2020
  • 3.34 released December 2020

Proposed resolution

Require SQLite 3.26 or higher. We should look at what changes we would like to use from SQLite newer versions. See: https://sqlite.org/changes.html.

Remaining tasks

Discuss.

User interface changes

None.

API changes

TBD.

Data model changes

TBD.

Release notes snippet

TBD.

Comments

daffie created an issue. See original summary.

catch’s picture

Issue summary: View changes
catch’s picture

Priority: Normal » Critical

This actually blocks Drupal 10 so marking critical.

3.26 seems very reasonable based on the various distros. Debian 9 looks like it could be released any time in the next 3-4 months based on previous releases and freeze schedule, so enough time before Drupal 10.

gábor hojtsy’s picture

Title: [policy] Decide on SQLite version support status for Drupal 10 » [policy] Require SQLite 3.26 for Drupal 10 (same as Drupal 9)

Per https://www.drupal.org/docs/understanding-drupal/how-drupal-9-was-made-a... and the existing issue summary here, 3.26 is already required for Drupal 9, so keeping 3.26 as a requirement will be no change. Noting in the issue title to make it clear.

gábor hojtsy’s picture

Status: Active » Needs review

Policy needs review.

effulgentsia’s picture

I agree with remaining on SQLite 3.26. It's the version that's on RHEL 8, and it's not an app stream, meaning it will remain the only version that's shipped with RHEL 8, so I think we'd need a really compelling feature in a later SQLite version to justify raising the minimum prior to RHEL 9 coming out, and I don't think there's any feature in SQLite 3.27 or later that's compelling enough.

gábor hojtsy’s picture

Note that #3192487: Warn about upcoming JSON database support requirement in Drupal 9 is working with the assumption that the json1 sqlite extension will also be required. We should validate that too.

effulgentsia’s picture

Status: Needs review » Reviewed & tested by the community

No compelling arguments have been presented here for raising the minimum above 3.26. Meanwhile, I think #6 is a compelling argument for keeping the minimum at 3.26, so RTBC'ing this.

daffie’s picture

@effulgentsia: Is that SQLite 3.26 with json1 extension required or without the extension required?

effulgentsia’s picture

Title: [policy] Require SQLite 3.26 for Drupal 10 (same as Drupal 9) » [policy] Require SQLite 3.26 for Drupal 10 (same as Drupal 9) with the json1 extension required (new requirement for Drupal 10)
Status: Reviewed & tested by the community » Needs review

In my opinion, with, but I'll set this back to Needs Review for that part of it.

It's enabled by default since SQLite 3.24, and I'm not aware of any desktop or web server operating systems that explicitly remove it.

daffie’s picture

Status: Needs review » Reviewed & tested by the community

+1 for requiring the json1 extension on SQLite. Back to RTBC for me.

catch’s picture

Status: Reviewed & tested by the community » Fixed

Updated https://www.drupal.org/docs/system-requirements/database-server-requirem...

Added this issue and notes to the change record: https://www.drupal.org/node/3228686

#3192487: Warn about upcoming JSON database support requirement in Drupal 9 is already open so that handles the implementation follow-up I think.

Marking fixed.

Status: Fixed » Closed (fixed)

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