MaxServ / t3ext-fal_s3

S3 driver for FAL
GNU General Public License v2.0
13 stars 10 forks source link

[!!!] Implement TYPO3 v11 & v12 support and drop support for TYPO3 v6, v7, v8 & v9 #65

Closed djcprinse closed 1 year ago

djcprinse commented 2 years ago

This release will be breaking and bring the extension to v2.0.0.

The required work for TYPO3 v11 and v12 support has been initially done by running rector against the extension. This resulted in the new Icons API file being added.

Since rector could not implement the PSR-14 events for FAL files, which were introduced in TYPO3 v10.2, these have been implemented manually. The RemoteObjectUpdate signal slot class has been refactored and was moved from the CacheControl namespace to Resource\Event. The class now implements event listener methods

The ClearCacheActionsHookInterface, which was implemented in the ToolbarItem class, has been deprecated in TYPO3 v11 and had to be refactored to a PSR-14 event too. The FlushCacheActionEvent class implements the new ModifyClearCacheActionsEvent event listener and adds the cache action button to the action list. In TYPO3 v10, the old ToolbarItem class implementation is being used. The ToolbarItem class now extends the new action class and shares the same code for configuring the button.

The ImagePreviewConfiguration signal slot class was incorrectly being used in TYPO3 v9 and up. This class was added for TYPO3 v8 and below, because in that version preview images were incorrectly being generated without any dimensions. This resulted in multiple and different preview images being generated. This signal slot has been removed since it is no longer being used.

Because we implemented the ImageDimensionsExtraction extractor in v1.12.0, which makes sure the image dimensions are being extracted after uploading an image, the RecordMonitor hook which was necessary in earlier TYPO3 versions to correctly fetch image dimensions, could be removed. TYPO3 v8+ uses the ImageDimensionsExtraction extractor correctly and updates the image metadata width and height on upload of a file.

Where possible, strict typing has been added to classes, methods and properties.

Custom endpoint option

The option which would be added in pull request #63 has been merged to this feature branch, since both pull request would require a new major version.