Deprecation: #108345 - Deprecation of ext_emconf.php
See forge#108345
Description
TYPO3 extensions that still ship an ext_ file
and do not declare future compatibility to omit this file
will now trigger a deprecation message during cache warm-up.
To avoid this deprecation message, the extension must provide
the extension version and the provides definition
in composer.:
{
"name": "vendor/example",
"type": "typo3-cms-extension",
"description": "example",
"version": "1.0.0",
"license": "GPL-2.0-or-later",
"require": {
"typo3/cms-core": "^14.2",
"vendor/other-example": "*",
"symfony/dotenv": "^8.0"
},
"extra": {
"typo3/cms": {
"extension-key": "example_extension",
"Package": {
"providesPackages": {
"symfony/dotenv": ""
}
}
}
}
}
{
"name": "vendor/example2",
"type": "typo3-cms-extension",
"description": "example",
"version": "1.0.0",
"license": "GPL-2.0-or-later",
"require": {
"typo3/cms-core": "^14.2"
},
"extra": {
"typo3/cms": {
"extension-key": "example2_extension",
"Package": {
"providesPackages": {}
}
}
}
}
For compatibility with TYPO3 classic mode, third-party extensions
must set the exact extension version in the top-level "version" field
of composer.. This version should match the version previously
defined in ext_ and the released Git tag.
If an extension depends on regular Composer packages, these packages
must be declared in
extra..
If an extension does not depend on any regular Composer packages,
provides must still be present and set to an empty object
to avoid deprecation messages and to declare future compatibility
with TYPO3 classic mode.
Impact
There is no impact on Composer-based TYPO3 installations.
TYPO3 classic installations will trigger a deprecation message
for extensions that still ship ext_ but do not yet define
both the "version" field and provides in composer..
Affected installations
TYPO3 classic installations are affected if they use extensions that:
- still ship
ext_emconf. php - do not define the
"version"field incomposer.json - or do not define
extra.intypo3/ cms. Package. provides Packages composer.json
Migration
Extension authors should add the "version" field and the
provides definition to composer.
if their extensions should remain compatible with TYPO3 classic mode.
For the time being, ext_ may still need to be kept for
third-party tooling such as TYPO3 TER or Tailor. However, once the
required metadata is correctly defined in composer.,
TYPO3 will no longer need to evaluate ext_.