4.0 KiB
4.0 KiB
TYPO3 and PHP Version Requirements
Purpose: Definitive version compatibility matrix for TYPO3 conformance checking Last Updated: 2025-01-18
Official Version Support Matrix
TYPO3 12 LTS
Release: April 2022 End of Life: October 2026 PHP Support: 8.1 - 8.4
| PHP Version | Support Status | Since TYPO3 Version |
|---|---|---|
| 8.1 | ✅ Supported | 12.0.0 |
| 8.2 | ✅ Supported | 12.1.0 |
| 8.3 | ✅ Supported | 12.4.0 |
| 8.4 | ✅ Supported | 12.4.24 (Dec 2024) |
Minimum Requirements:
- PHP: 8.1.0
- Database: MariaDB 10.4+ / MySQL 8.0+ / PostgreSQL 10.0+ / SQLite 3.8.3+
TYPO3 13 LTS
Release: October 2024 End of Life: April 2028 PHP Support: 8.2 - 8.4
| PHP Version | Support Status | Since TYPO3 Version |
|---|---|---|
| 8.1 | ❌ Not Supported | - |
| 8.2 | ✅ Supported | 13.0.0 |
| 8.3 | ✅ Supported | 13.0.0 |
| 8.4 | ✅ Supported | 13.4.0 |
Minimum Requirements:
- PHP: 8.2.0
- Database: MariaDB 10.4+ / MySQL 8.0+ / PostgreSQL 10.0+ / SQLite 3.8.3+
Conformance Checker Standards
The TYPO3 conformance checker validates extensions against:
Target Versions:
- TYPO3: 12.4 LTS / 13.x
- PHP: 8.1 / 8.2 / 8.3 / 8.4
- PSR Standards: PSR-11 (DI), PSR-12 (Coding Style), PSR-14 (Events), PSR-15 (Middleware)
Why This Range:
- Covers both TYPO3 12 LTS and 13 LTS
- PHP 8.1+ ensures support for all modern PHP features used in TYPO3 extensions
- Extensions can target TYPO3 12 (PHP 8.1+) and/or TYPO3 13 (PHP 8.2+)
Extension composer.json Examples
TYPO3 12 LTS Only
{
"require": {
"php": "^8.1 || ^8.2 || ^8.3 || ^8.4",
"typo3/cms-core": "^12.4"
}
}
TYPO3 13 LTS Only
{
"require": {
"php": "^8.2 || ^8.3 || ^8.4",
"typo3/cms-core": "^13.4"
}
}
TYPO3 12 and 13 LTS (Recommended for New Extensions)
{
"require": {
"php": "^8.2 || ^8.3 || ^8.4",
"typo3/cms-core": "^12.4 || ^13.4"
}
}
Note: When targeting both TYPO3 12 and 13, use PHP 8.2+ as minimum to satisfy TYPO3 13's requirements.
PHP Feature Availability
PHP 8.1 Features (TYPO3 12+)
- Enumerations
- Readonly properties
- First-class callable syntax
- New in initializers
- Pure intersection types
- Never return type
- Final class constants
- Fibers
PHP 8.2 Features (TYPO3 13+)
- Readonly classes
- Disjunctive Normal Form (DNF) types
- Null, false, and true as standalone types
- Constants in traits
- Deprecated dynamic properties
PHP 8.3 Features (TYPO3 12.4+ / 13+)
- Typed class constants
- Dynamic class constant fetch
#[\Override]attributejson_validate()function
PHP 8.4 Features (TYPO3 12.4.24+ / 13.4+)
- Property hooks
- Asymmetric visibility
- New array functions
- HTML5 support in DOM extension
Migration Paths
From TYPO3 11 to 12
- Update PHP to 8.1+ (recommended: 8.2+)
- Update extension to TYPO3 12 compatibility
- Test thoroughly on PHP 8.2+ for future TYPO3 13 compatibility
From TYPO3 12 to 13
- Ensure PHP 8.2+ is already in use
- Update TYPO3 dependencies to ^13.4
- Remove deprecated API usage
- Update Services.yaml for TYPO3 13 changes (if any)
Deprecation Timeline
PHP Versions:
- PHP 8.0: End of Life - November 2023 (Not supported by TYPO3 12/13)
- PHP 8.1: Security fixes until November 2025
- PHP 8.2: Security fixes until December 2026
- PHP 8.3: Security fixes until December 2027
- PHP 8.4: Security fixes until December 2028
Recommendation: Target PHP 8.2+ for new extensions to ensure long-term support alignment with TYPO3 13 LTS lifecycle.