You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#67 A Symfony cache pool (a service implementing Symfony\Component\Cache\Adapter\AdapterInterface, e.g. parent: cache.adapter.filesystem or class: ArrayAdapter) can be tagged directly cleverage.cache.adapter with a code, without any adapter class: RegisterAdaptersPass wraps it in an Adapter with this code, loaded lazily. A tagged service implementing neither this interface nor the AdapterInterface of the bundle fails the container compilation. Update documentation, add tests.
#65 The configuration key of the bundle (its extension alias) is cleverage_cache_process, instead of clever_age_cache_process (no option could be configured there). Configuring a key under cleverage_cache_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 3.0. Require symfony/deprecation-contracts, used directly. Update documentation, add tests.
#63 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). MissingAdapterException implements ProcessExceptionInterface. Add tests.
#61 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.
#56 Define the public API (Symfony BC promise, as cleverage/process-bundle#279): GetTask, SetTask, AdapterRegistry and CleverAgeCacheProcessBundle are marked @final since 2.3, they will be final in 3.0: extending them triggers a deprecation with the Symfony DebugClassLoader. AbstractCacheTask, Adapter (extended by the applications) and MissingAdapterException stay open. CleverAgeCacheProcessExtension and RegisterAdaptersPass are marked @internal.
#55CleverAgeCacheProcessExtension::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.
#53 AdapterRegistry: the adapters are loaded lazily from a service locator indexed by code: an adapter is only instantiated when a task uses it (an error in an adapter that a process does not use no longer makes it fail). The code is given by the new code attribute of the cleverage.cache.adapter tag, or by the new #[AsCacheAdapter(code: '...')] attribute (autoconfiguration); it must be the one returned by getCode(). Duplicate or empty codes fail the container compilation. An adapter tagged without code is still registered eagerly, with AdapterRegistry::addAdapter(), which is deprecated (the code will be required in 3.0). New optional AdapterRegistry constructor argument (the locator), new hasAdapter() and getAdapters() methods. Require symfony/service-contracts. Update documentation, add tests.
#51 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. Rector is configured with the minimum supported PHP version (withPhpVersion(PhpVersion::PHP_82), it used PHP 8.5 features) and withPhpSets() without explicit version, which applies the rules using a newer function when its polyfill is required (no change on the current code). Document it in CONTRIBUTING.md.
#49 Add a CleverAge\CacheProcessBundle\Registry\AdapterRegistry alias of the cleverage_cache_process.registry.adapter service: the registry can be autowired, e.g. in a custom cache task extending AbstractCacheTask. Update documentation, add tests.
#43 Give a code to the tasks (cleverage/process-bundle#91): cache_get and cache_set (task: cache_get, 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 3.0. The former ids cleverage_cache_process.task.get / cleverage_cache_process.task.set are deprecated aliases, removed in 3.0. Update documentation, add tests.
#41 CI: test the lowest versions allowed by composer.json (--prefer-lowest, PHP 8.2).
#39 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).
#37 Require psr/cache, used directly by Adapter and AbstractCacheTask but only installed through symfony/cache and cleverage/process-bundle.