Skip to content

feat!: add v14 support, drop v12 - #94

Draft
djcprinse wants to merge 8 commits into
masterfrom
feat/T3U14-86-support-v14
Draft

feat!: add v14 support, drop v12#94
djcprinse wants to merge 8 commits into
masterfrom
feat/T3U14-86-support-v14

Conversation

@djcprinse

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 thread ext_localconf.php
Comment thread .ddev/web-build/Dockerfile Outdated
Comment thread .ddev/commands/web/install-v13 Outdated
Comment thread ext_localconf.php
Comment on lines +1418 to +1422
protected function getRecursiveFolderEntries(string $folderIdentifier): array
{
if (array_key_exists($folderIdentifier, $this->recursiveFolderEntriesCache)) {
return $this->recursiveFolderEntriesCache[$folderIdentifier];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants