Skip to content

v3.3

Choose a tag to compare

@njoubert-cleverage njoubert-cleverage released this 21 Oct 12:59
· 23 commits to main since this release

Changes

  • Require cleverage/process-bundle ^5.4.
  • Please follow UPGRADE.md v3.3
  • #73 Require league/flysystem-bundle ^3.2 instead of ^3.0 (3.0 and 3.1 trigger return type deprecations, the tests already required 3.2), the dev requirement is removed.
  • #69 Only RemoveFileTask has the monolog.logger tag (channel cleverage_process_task): FileFetchTask and ListContentTask have no logger, the tag had no effect on them. Add tests.
  • #67 The configuration key of the bundle (its extension alias) is cleverage_flysystem_process, instead of clever_age_flysystem_process (no option could be configured there). Configuring a key under cleverage_flysystem_process is deprecated: the bundle has no configuration and the keys were ignored without notice (new internal Configuration, empty; notice when the container is compiled). They will be rejected in 4.0. Require symfony/deprecation-contracts, used directly. Update documentation, add tests.
  • #65 The bundle throws exceptions implementing ProcessExceptionInterface of the process bundle instead of raw SPL exceptions (as cleverage/process-bundle#317): new Exception\UnexpectedValueException, extending the SPL exceptions thrown before (same messages, the existing catch keep working). Add tests.
  • #63 Composer: require PHP ^8.2 instead of >=8.2 (PHP 9 is no longer accepted before being tested), remove the authorization of the symfony/flex plugin, which is not required (the CI installs it globally), as cleverage/process-bundle#319.
  • #58 Define the public API (Symfony BC promise, as cleverage/process-bundle#279): FileFetchTask, ListContentTask, RemoveFileTask and CleverAgeFlysystemProcessBundle are marked @final since 3.3, they will be final in 4.0: extending them triggers a deprecation with the Symfony DebugClassLoader. CleverAgeFlysystemProcessExtension is marked @internal.
  • #57 CleverAgeFlysystemProcessExtension::findServices() loads the service definition files with a glob pattern instead of a Finder (same files, as cleverage/process-bundle#271), symfony/finder is no longer required. Add tests.
  • #55 Use the PHP 8.3 to 8.5 functions through the Symfony polyfills (cleverage/process-bundle#299): require symfony/polyfill-php83, symfony/polyfill-php84 and symfony/polyfill-php85. Configure Rector for the minimum PHP version (withPhpVersion(PHP_82) instead of PHP_85, withPhpSets() read from composer.json instead of the php81 leftover, which also enables the polyfill rules; UP_TO_PHP_82 set removed): no change proposed on the current code. Document the PHP version policy in CONTRIBUTING.
  • #51 Give a code to the tasks (cleverage/process-bundle#91): flysystem_file_fetch, flysystem_list_content and flysystem_remove_file (task: flysystem_file_fetch, with cleverage/process-bundle 5.4 or later, referencing them by service being deprecated there). The tasks have their class name as service id; fetching them directly from the service container is deprecated (container.private), they will be private in 4.0. The former ids cleverage_flysystem_process.task.file_fetch / cleverage_flysystem_process.task.list_content / cleverage_flysystem_process.task.remove_file are deprecated aliases, removed in 4.0. Update documentation, add tests.
  • #49 CI: test the lowest versions allowed by composer.json (--prefer-lowest, PHP 8.2). Require psr/log ^2|^3: cleverage/process-bundle 5.x uses the typed LoggerInterface signatures (fatal error with psr/log 1).
  • #47 Add a .gitattributes: the development files (.docker/, .github/, tests/, quality tools and PHPUnit configurations, Makefile) are no longer part of the archive installed by Composer (dist).
  • #45 Require league/flysystem and psr/log, used directly by the tasks but only installed through league/flysystem-bundle and cleverage/process-bundle; add league/flysystem-local (used by the tests) to the dev requirements.