This release drops support for Drupal below 10.1, and embraces PHP 8.1 and Symfony 6 features.

Image removed.

Strong typehinting

All methods in code are now strictly typehinted. This leads to more functional code, but metadata plugin implementations need to be adjusted to comply with the new interface contracts.

Service autowiring and name changes

The services provided by the module have been renamed to their FQNC interfaces following Symfony 6 practices, with the exception of the file_metadata_manager that is still available, albeit deprecated. It will be removed in next major. Where possible, services now leverage Symfony autowiring capabilities vs explicit argument list.

FileMetadataPluginBase constructor is now final

This means that metadata plugin implementations cannot any longer implement the constructor and call its parent, but should rather add additional properties via the create() static method. The Exif plugin provides an example.

PHPStan level 5 compliance

The module is tested with PHPStan and passes level 5 rules.

Requirements

Changes

  • Issue #3367739 by mondrake: Change lsolesen/pel dependency for fileeye/pel
  • Issue #3030820 by mondrake, DieterHolvoet, alayham, juampynr, masterperoo: Stop logging errors when a file does not exist
  • Issue #3331751 by mondrake: Make module pass PHPStan-5 rule level
  • Issue #3331148 by mondrake: Modernize code for PHP 8.1
  • Issue #3331098 by DieterHolvoet: Fix subclassing and stop overriding constructors
  • Some modernization of \Drupal\file_mdm\FileMetadata
  • Bump Drupal to ^10.1
VCS Label
3.0.0
Packaged Git sha1
a0f3b2b329b5a0e6ac9b8051a26bdfb4f804f7af
Release files
6e0c70b212d2c15c3254cedad3f0344b
Release file SHA-1 hash
88db1f699d4746911c16728a898341fab18f3ef1
Release file SHA-256 hash
1d3e7237ee91150c532e925a3167c7af182a941a24af1fd6c777a3f3364df627
33872749102e281b8b3a6e1742968ad5
Release file SHA-1 hash
d6ea077882777619c25b217301dc3d1c10218502
Release file SHA-256 hash
51a918c0037f2a8747758d7a623bdfd94b3a20913c064d4e05ba0fb58be8e299