[!!!][TASK] 2.0 – Drop legacy layer, require TYPO3 v13/v14#53
Open
davidsteeb wants to merge 3 commits into
Open
[!!!][TASK] 2.0 – Drop legacy layer, require TYPO3 v13/v14#53davidsteeb wants to merge 3 commits into
davidsteeb wants to merge 3 commits into
Conversation
BREAKING: drops support for TYPO3 v10, v11 and v12 (and PHP < 8.2). - Remove legacy PageLayoutView hook (BackendPreviewRenderer) and its registration; v12+ always uses the previewRenderer. - Remove ext_tables.php (only registered the < v12 backend skin). - Reduce ext_localconf.php to the (now unconditional) stylesheet entry. - Remove BootCompleted listener (registered unused Fontawesome icons). - ContentPreview: render previews via ViewFactoryInterface on both the RecordInterface (v14) and the array (v13) path, dropping StandaloneView. - DatabaseRowService: drop the pre-v12 manual file-field fallback. - GetDatabaseRecordViewHelper: drop the v12 QueryBuilder::add() branch. - CI/PHPStan: drop the v12 matrix entry, config and baseline; regenerate the v14 baseline (12 -> 3 entries). - Bump constraints: PHP ^8.2, TYPO3 ^13.4 || ^14.3, version 2.0.0. Relates: BEXT-596
Relates: BEXT-596
The previous regeneration ran against a broken local v13 vendor state (mixed v13/v14), producing v14-style entries. Restore the actual v13 errors reported by CI (instanceof-always-false + checkRecordEditAccess), which differ from the v14 baseline. Relates: BEXT-596
achimfritz
approved these changes
Jun 12, 2026
| $row['allImages-visible'] = $this->countVisibleFileReferences($row['allImages']); | ||
| if ($row[$fieldName] ?? false) { | ||
| $row['all' . $variableName] = $this->fileRepository->findByRelation('tt_content', $fieldName, $row['uid']); | ||
| $row['all' . $variableName . '-visible'] = $this->countVisibleFileReferences($row['all' . $variableName]); |
Contributor
There was a problem hiding this comment.
extendRow is only called for v13 (because in v14 we have the Record Object).
I would suggest to drop die "-visible" variables, because they are also not available in v14
| if ($row[$fieldName] ?? false) { | ||
| $row['all' . $variableName] = $this->fileRepository->findByRelation('tt_content', $fieldName, $row['uid']); | ||
| $row['all' . $variableName . '-visible'] = $this->countVisibleFileReferences($row['all' . $variableName]); | ||
| } |
Contributor
There was a problem hiding this comment.
(maybe we can even do more cleanups in this Method, to become similar to v14)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cleanup release 2.0: raise the minimum to TYPO3 v13.4 / v14 and PHP 8.2, and remove the v10/v11/v12 compatibility layer. The ViewHelpers stay (no core replacement).
Removed
Classes/Hooks/BackendPreviewRenderer.php(PageLayoutViewDrawItemHookInterface, gone since v12) incl. its SC_OPTIONS registration andpublic: truein Services.yamlext_tables.php(only registered the < v12 backend skin)Classes/Listener/BootCompleted.php– registered unused Fontawesome icons (templates use the core iconsactions-exclamation-*-alt)Build/phpstan12.neon+phpstan-baseline12.neon, and'12'from the CI matrixSimplified
ext_localconf.php→ just the (now unconditional) stylesheet registrationContentPreview: renders viaViewFactoryInterfaceon both paths (RecordInterface/v14 and array/v13) →StandaloneView(removed in v14) is gone, sharedcreateView()helperDatabaseRowService: removed the pre-v12 manual file-field fallback (!$foundOne)GetDatabaseRecordViewHelper: removed the v12QueryBuilder::add()branchConstraints
^8.2, TYPO3^13.4 || ^14.3, version2.0.0(composer.json + ext_emconf.php)Quality
PartialsLegacykept (still used on v13 via[typo3.version < 14]in page.tsconfig)Relates BEXT-596.