Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Fix logic for preserving base directory on image regeneration. This bug was causing the regeneration of images to create new base directory objects due to the fact that a regeneration is an object deletion followed by a new upload. This caused an issue where all pieces of content that use a remote S3 URL would have to be updated after the image got regenerated. This bug fix fixes the issue. Regenerating an existing image will use the existing object key.
Wait for a short amount of time to account for the duration it takes for the initiating process to write the record to the queue table. Otherwise, this process will not find any records in the queue table and won't process a single item immediately.
Prevent FileField paths from creating duplicate records
The FileField Path hook hook_filefield_paths_process_file gets triggered after any file save, including existing items. In that case, determine if a record exists before dispatching another record.
Store bucket configuration key separate from bucket name.
This allows for one bucket key to be used across different environments while using a separate bucket. For example: Bucket key "my_bucket" could point to a development bucket in a local environment, but point to a production bucket in a production environment. This can be controlled by overwriting the s3_file_sync_storage_buckets variable in settings.php.