feat!: add v14 support, drop v12 - #94
Draft
djcprinse wants to merge 8 commits into
Draft
Conversation
[T3U14-86]
[T3U14-86]
[T3U14-86]
There was a problem hiding this comment.
Pull request overview
This PR updates the extension for TYPO3 v14 compatibility while dropping TYPO3 v12 support, including modernizing the S3 driver implementation, dev tooling, and the local DDEV development environment.
Changes:
- Drop TYPO3 v12 support and add TYPO3 v14 support across extension metadata, docs, and DDEV tooling.
- Refactor/replace the AmazonS3 driver implementation and adjust related runtime caching/extraction pieces.
- Add PHPStan configuration and modernize unit tests (PHPUnit attributes, updated testing framework base class).
Reviewed changes
Copilot reviewed 34 out of 35 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| Tests/Unit/Driver/AmazonS3DriverTest.php | Updates unit tests for newer TYPO3 testing framework + PHPUnit DataProvider attributes. |
| phpstan.neon | Adds PHPStan baseline configuration and TYPO3-specific extension include. |
| ext_localconf.php | Adds strict types, updates FileType usage, and adjusts extension registration/runtime configuration. |
| ext_emconf.php | Updates TYPO3 version constraints and extractor suggestion range for v13/v14. |
| Documentation/Development/Index.rst | Updates development docs to reference TYPO3 v13/v14 and new DDEV commands/buckets. |
| Configuration/RequestMiddlewares.php | Adds strict types declaration. |
| Configuration/Icons.php | Adds strict types declaration. |
| Configuration/FlexForm/AmazonS3DriverFlexForm.xml | Updates driver flexform definition structure. |
| Configuration/Backend/Routes.php | Adds strict types declaration. |
| composer.json | Bumps PHP/TYPO3 constraints and adds dev tooling (PHPStan, phpstan-typo3, extractor). |
| Classes/Utility/RemoteObjectUtility.php | Adds typing/docblocks for client/config resolution helpers. |
| Classes/Utility/FlexFormUtility.php | Adds parameter typing/docblock for itemsProcFunc handler. |
| Classes/Service/Extraction/TikaMetadataExtraction.php | Tightens return type phpdoc. |
| Classes/Service/Extraction/TikaLanguageDetector.php | Tightens return type phpdoc. |
| Classes/Service/Extraction/PhpMetadataExtraction.php | Tightens return type phpdoc. |
| Classes/Service/Extraction/PdfinfoMetadataExtraction.php | Tightens return type phpdoc. |
| Classes/Service/Extraction/ImageDimensionsExtraction.php | Updates FileType usage and adds stronger phpdoc typing. |
| Classes/Service/Extraction/ExifToolMetadataExtraction.php | Tightens return type phpdoc. |
| Classes/Resource/Event/RemoteObjectUpdateEvent.php | Refines exception handling/typing and simplifies processed file updates. |
| Classes/Resource/Event/FlushCacheActionEvent.php | Minor logic cleanup and modernized catch syntax. |
| Classes/Middleware/FalS3PreconnectMiddleware.php | Minor constructor formatting and adds return type phpdoc for headers. |
| Classes/Driver/CachedDirectoryListing.php | Removes legacy header comment and tightens return phpdoc. |
| Classes/Driver/Cache.php | Updates cache frontend typing to FrontendInterface. |
| Classes/Driver/AmazonS3Driver.php | Replaces the driver implementation with a v13/v14-focused driver (no v12 branching). |
| Classes/Driver/AbstractAmazonS3Driver.php | Removes the old abstract driver (v12/v13 split implementation). |
| Classes/Controller/FlushCacheController.php | Removes redundant return phpdoc line. |
| Build/extensions/sitepackage/ext_localconf.php | Updates dev sitepackage storage config for v13/v14 and FileType enum. |
| .gitignore | Whitelists phpstan.neon and broadens whitelisting under Classes/Resource. |
| .ddev/web-build/Dockerfile | Updates dev environment index to list v13/v14 and removes v12 scaffolding. |
| .ddev/docker-compose.web.yaml | Drops v12 volume/config and adds v14 volume; modernizes env vars. |
| .ddev/config.yaml | Replaces v12 hostname with v14 and minor whitespace cleanup. |
| .ddev/commands/web/install-v14 | Adds TYPO3 v14 install command (and fixes previous v12 value). |
| .ddev/commands/web/install-v13 | Updates TYPO3 v13 install command to use new setup flow. |
| .ddev/commands/web/install-all | Updates to install v13 + v14 (drops v12). |
| .ddev/apache/apache-site.conf | Updates Apache vhosts to serve v13 and v14 (drops v12). |
Comments suppressed due to low confidence (1)
.ddev/commands/web/install-v14:20
- The install script will fail on a fresh environment rerun if the database does not exist yet, because DROP DATABASE without IF EXISTS errors. Making it idempotent improves DX.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+1418
to
+1422
| protected function getRecursiveFolderEntries(string $folderIdentifier): array | ||
| { | ||
| if (array_key_exists($folderIdentifier, $this->recursiveFolderEntriesCache)) { | ||
| return $this->recursiveFolderEntriesCache[$folderIdentifier]; | ||
| } |
[T3U14-86]
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.
No description provided.