Let’s turn to the highlights of TYPO3 version 12.0 for developers. You won’t be disappointed, given that a “dot-zero” release always gives us the opportunity for a fresh start with new ideas, solutions and technical concepts.
The first version of a new release cycle also means clean-up. Therefore, we removed deprecated PHP classes, functions, CLI calls, etc. Please refer to the changelog (in particular to Breaking-96107) for a complete list of clean-ups.
It is also crucial for a “dot-zero” release to increase versions of third-party libraries used in the TYPO3 Core. As I pointed out above, our general aim is to use up-to-date dependent packages with long-term support.
A major update concerns the Database Abstraction Layer (DBAL). TYPO3 v12 now uses Doctrine DBAL version 3. This version of the DBAL went through major internal refactorings by separating Doctrine’s internal driver logic from PHP’s native PDO functionality.
What does this mean for TYPO3 extension developers? First, if you use the QueryBuilder in your extension and you still submit queries by the execute() call, you need to change this to executeQuery() or executeStatement(). We left the old execute() statement intact for backward compatibility in TYPO3 v 11 LTS. However, the documentation has advised developers not to use this function call anymore. You’ll find information about further necessary migration actions in the changelog.