Caches should be flushed on package version number changes
Usually when upgrading from one FLOW3 version to another the user will experience a PHP fatal error because some interfaces (or other code parts) changed which are not compatible with cached code (eg. the AOP proxy classes). Therefore we need a new cache which stores information about all active packages - as a start that could be simply the version number or even a hash of all version numbers. On initializing the cache framework, this information should be compared with the actual values and if they don't match all caches should be flushed.
- [+FEAT] FLOW3 (Utility): The Files::readDirectoryRecursively() function now supports an optional $suffix parameter which allows for filtering the list of files by a given extension.
- [+FEAT] FLOW3 (Monitor): The File Monitor now supports monitoring of directories. Once a directory is monitored, any change of files or directories within the directory (recursively) will emit a respective signal. Resolves #3736
- [FIX] FLOW3 (Monitor): Deleted and newly created files are now properly detected by the File Monitor after monitoring of whole directories has been introduced. Resolves #3240
- [+FEAT] FLOW3 (Core): FLOW3 will now check and cache its own revision. If the revision changes (due to an upgrade or update from Subversion), all registered caches are flushed automatically. This prevents PHP errors due to non backwards compatible cache structures in newer versions of FLOW3. Resolves #3649