Files
gh-netresearch-claude-code-…/references/version-requirements.md
2025-11-30 08:43:22 +08:00

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"
  }
}
{
  "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] attribute
  • json_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

  1. Update PHP to 8.1+ (recommended: 8.2+)
  2. Update extension to TYPO3 12 compatibility
  3. Test thoroughly on PHP 8.2+ for future TYPO3 13 compatibility

From TYPO3 12 to 13

  1. Ensure PHP 8.2+ is already in use
  2. Update TYPO3 dependencies to ^13.4
  3. Remove deprecated API usage
  4. 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.

References