Concept for dropping support for end of life DBMS

General discussion of development ideas and the approaches taken in the 4.x branch of phpBB. The next feature release of phpBB 4 will be 4.0/Triton.
Forum rules
Please do not post support questions regarding installing, updating, or upgrading phpBB 4.x. If you need support for phpBB 3.3.x please visit the 3.3.x Support Forum on phpbb.com.

If you have questions regarding writing extensions please post in Extension Writers Discussion to receive proper guidance from our staff and community.
Post Reply
User avatar
Marc
Development Team Leader
Development Team Leader
Posts: 191
Joined: Thu Sep 09, 2010 11:36 am
Location: Munich, Germany

Concept for dropping support for end of life DBMS

Post by Marc »

Hi all,

Since the beginning of phpBB, we've always tried to be able to support as many database management systems (DBMS) and versions as possible. While this is certainly an eager goal to have, it also puts a significant amount of potential extra work on our support, developers. It can also require extra workarounds in the code that might be suboptimal for newer versions and generally prevent the use of features or functionality that have been introduced in later versions of the respective database management systems.

In order to combat these issues and have a clear path forward, I propose the following set of requirements to decide which systems will be supported by phpBB:
  • Version of DBMS still supported by vendor or still supported by major operating systems and End of Life / Support no more than 5 years ago: This should ensure most sites should still be able to use phpBB with their DBMS. Operating systems to consult for example could be Debian, Windows Server.
    or
  • End of life reached less than 2 years ago: This should ensure plenty of time to switch to a newer version of the respective systems. In most cases, these will most likely still be supported by major operating systems.
Decisions to drop versions will be handled for new major or minor versions of phpBB but not during patch level releases, e.g. when working on phpBB 5.0, 5.1, 5.2, etc. but not when releasing 5.0.1 after 5.0.0.

Right now this would put us at the following versions for the DBMS section (honestly not sure about Oracle ;) ):
  • MySQL 5.5 or above (MySQLi required)
  • MariaDB 5.5 or above
  • PostgreSQL 9.3 or above
  • SQLite 3.6.15+
  • MS SQL Server 2012 or above (via ODBC or the native adapter)
  • Oracle 12 or above
Any thoughts and or ideas on this concept?

User avatar
rxu
Registered User
Posts: 166
Joined: Tue Apr 04, 2006 4:28 pm
Contact:

Re: Concept for dropping support for end of life DBMS

Post by rxu »

Marc wrote: Mon Jun 26, 2023 7:32 am PostgreSQL 9.3 or above
I'd rather go with PostgreSQL 9.4 or above as 9.4 has differences in syntax, f.e. supports Empty SELECT lists and probably other things. What is more important that Doctrine used in phpBB 4.0 only supports PG 9.4+ 8-)
Marc wrote: Mon Jun 26, 2023 7:32 am MariaDB 5.5 or above
10.2 (10.2.7 GA) and above for the same reason (Doctrine requirements).
Marc wrote: Mon Jun 26, 2023 7:32 amSQLite 3.6.15+
What about SQLite 3.8.3+ which supports Common Table Expressions (CTE)?
Image

User avatar
Toxyy
Registered User
Posts: 8
Joined: Thu Aug 02, 2018 9:15 am

Re: Concept for dropping support for end of life DBMS

Post by Toxyy »

rxu wrote: Mon Jun 26, 2023 8:38 am
Marc wrote: Mon Jun 26, 2023 7:32 amSQLite 3.6.15+
What about SQLite 3.8.3+ which supports Common Table Expressions (CTE)?
I've asked about CTEs on the main phpbb forum so afaik the consensus is only if the others can support it as well would it be useful to consider?

User avatar
Marc
Development Team Leader
Development Team Leader
Posts: 191
Joined: Thu Sep 09, 2010 11:36 am
Location: Munich, Germany

Re: Concept for dropping support for end of life DBMS

Post by Marc »

Ah yes, support by the libraries we use is actually a good point. In that case I agree that we should additionally respect requirements by the libraries we are using, similar to how we handle this for PHP versions.

Post Reply