`8.3.14 (2025-03-04) `_ ================================================================================================ Overview of merged pull requests ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `BUGFIX: Avoid type error during `publishFile()` `_ ------------------------------------------------------------------------------------------------------------------ This avoids an error when the file cannot be opened or writing. That would result in ``stream_copy_to_stream(): Argument ``#2 ``_($to) must be of type resource, bool given`` for recent PHP versions. **Review instructions** Probably a bit tricky, but you need to create a scenario, where the target file already exists and cannot be written to. * Packages: ``Flow`` `BUGFIX: Drop use of `E_STRICT` to fix PHP 8.4 deprecation `_ ---------------------------------------------------------------------------------------------------------------------------- The use of ``E_STRICT`` is deprecated as of PHP 8.4, so this fixes deprecation warnings. Furthermore, the constant is no longer useful… In PHP 5.4, the functionality of ``E_STRICT`` was incorporated into ``E_ALL``, meaning strict standards notices are included in the ``E_ALL`` error level. As a result, there is no need to use ``E_STRICT`` separately starting with PHP 5.4. This change is documented in the PHP manual under the migration guide for PHP 7.0, which states: > All of the E_STRICT notices have been reclassified to other levels. > The E_STRICT constant is retained, so calls like > ``error_reporting(E_ALL|E_STRICT)`` will not cause an error. (see https://www.php.net/manual/en/migration70.incompatible) * Packages: ``Flow`` `BUGFIX: Silence warning in `readCacheFile()` `_ --------------------------------------------------------------------------------------------------------------- readCacheFile() in SimpleFileBackend does fopen(). It wraps it into a try-catch clause and checks the result, but it still produces a warning if the file does not exist: ``Warning: fopen(/application/Data/Temporary/…): Failed to open stream: No such file or directory`` The only way to suppress that warning is to use the shut-up operator (``@``) in this place. Given that everything that can go wrong here is taken care of, I think this is fine. * Packages: ``Flow`` ``Cache`` `TASK: Handle non-integer error codes in throwabe FileStorage `_ ------------------------------------------------------------------------------------------------------------------------------- This will no longer swallow certain error codes but instead emit them in the message. * Packages: ``Flow`` `TASK: Fix override of runBare() in functional test `_ --------------------------------------------------------------------------------------------------------------------- As of PHPUnit 11 ``runBare()`` is a ``final`` method. This was written ages ago by Sebastian Kurfürst, who recently said: > IMHO we wanted to run each test twice to run it without cache and > then with cache. But it seems this was broken anyways since a long > time – so we can drop it * Packages: ``Flow`` `TASK: Run pipeline also in PHP 8.4 `_ ----------------------------------------------------------------------------------------------------- * Packages: ``Flow`` ``.github`` `Detailed log `_ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~