All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support for php 8.3
- Updated
aws/aws-sdk-php
dependency requirement from 3.269.1 to 3.324.5 to make sure a non-vulnerable version of the sdk is being used
- Prevent undefined array key access
- Only call updateCacheControlDirectivesForRemoteObject for processed files that don't use the original
- use correct middleware name instead of a copied docs example
- file name sanitization was too strict, we now allow more special characters
- FalS3PreconnectMiddleware that automatically adds preconnect headers for online S3 storages
- Spaces and parenthesis should not be sanitized
- Some file action methods fail because the check if a file or folder is too generic. Each action needs its own checks on existing files or folders.
- PSR-14
FlushCacheActionEvent
to add the cache flush action item (TYPO3 v11+) - PSR-14
RemoteObjectUpdateEvent
to set remote object cache for after a file has been uploaded, replaced or processed (TYPO3 v10+) - New Icons API implementation for the S3 driver icons (TYPO3 v11+)
- Strict typing in classes and methods if possible
- Implemented the
DriverInterface::sanitizeFileName
method, so we escape invalid characters in folder and file names (resolves #56)
.gitignore
structure to only include specified files- Refactored
ToolbarItem
hook implementation for TYPO3 v10 to extend the newly implementedFlushCacheActionEvent
so these share the same code base - Refactored
AmazonS3Driver
to use theMimeType::fromExtension
method instead of the removedmimetype_from_extension
function - Simplified
AmazonS3Driver
methodsprocessConfiguration
andinitialize
to make it better to read, debug and test - Minimum version of
php
to v7.2 - Minimum version of
aws/aws-sdk-php
to v3.199 to match TYPO3 requirements
- TYPO3 v6, v7, v8 and v9 compatibility
RecordMonitor
class since this has been replaced by theImageDimensionsExtraction
extractor but was kept for backwards compatibility
- Error when TYPO3_REQUEST is null
- 'Replace' option in the filelist didn't work due to excessive caching
- Caching to
countFilesInFolder
andcountFoldersInFolder
methods
- Prevent filelist exception when a directory contains a file of type 'Octet-stream' + directory with the same name
- Partly reverted 1.13.1, since it caused performance issues. The calls to
is_file
inAmazonS3Driver::fileExists
were cached by the StreamWrapper (StreamWrapper::url_stat
). HeadObject calls however are not cached.
- Correctly implement the
fileExists
method by adding a method which requests theHEAD
of the object in the S3 storage
- Suggestion for
causal/extractor
extension for extended metadata extraction - Override implementations for Extractor classes so these also work with the
AmazonS3Driver
- mkdir not working reliable with the octdec permissions, let S3 determine the permissions (ACL) inside the StreamWrapper
- Extractor for extracting metadata used by Indexer
- Incorrect width and height metadata after file replace in TYPO3 v10
- TYPO3 V10 support
- .gitattributes file
- Implement flush cache button to clear caches for S3 extension only
- folderCreateMask read from old configuration path
- Removed rtrim in folderExists method to prevent files with the same name as a folder
- File list showing all files when number of folder exceeds number of items shown
- Metadata update even if no cache control has been set
- Set cacheConfiguration after initializing new CacheManager
- TYPO3 V9 support
- Added Unit tests for processConfiguration and getPublicUrl methods
- Unset fileExistsCache when a file is newly created, making sure checks are correct in case a check was done before creating the file