Why
Meta is retiring Graph API v20.0 on 24 September 2026 ("migrate all calls to v21.0 or higher"). This plugin does not pin a version itself — the chain is setono/meta-conversions-api-php-sdk ~0.2.4 → facebook/php-business-sdk ^14.0 → Client::getEndpointVersion() → https://graph.facebook.com/v14.0/{pixel}/events. Meta serves that URL as the oldest version the app may use (v20.0 today, v21.0 after the sunset), so tracking keeps working — but we should be explicit and current. SDK 1.0 posts to v25.0.
Blocked on
Changes (once the bundle is released; lands in 3.0.0)
Verification
composer update resolves facebook/php-business-sdk 25.x; vendor/bin/phpunit, vendor/bin/phpstan analyse, vendor/bin/ecs check, vendor/bin/behat green.
tests/Application/bin/console debug:container 'Setono\MetaConversionsApiBundle\Provider\PixelProviderInterface' resolves to setono_sylius_facebook.provider.doctrine_based_pixel_provider.
- Trigger a purchase with
?_testEventCode=TESTxxxx and confirm it appears in Events Manager → Test events; Meta's API Upgrade Tool should then show calls on v25.0.
For shops running the plugin
After the plugin release: composer update setono/sylius-facebook-plugin setono/meta-conversions-api-bundle setono/meta-conversions-api-php-sdk facebook/php-business-sdk --with-all-dependencies, add the allow-plugins entry, make sure a PSR-18 client is installed, deploy, verify a test event.
Why
Meta is retiring Graph API v20.0 on 24 September 2026 ("migrate all calls to v21.0 or higher"). This plugin does not pin a version itself — the chain is
setono/meta-conversions-api-php-sdk ~0.2.4→facebook/php-business-sdk ^14.0→Client::getEndpointVersion()→https://graph.facebook.com/v14.0/{pixel}/events. Meta serves that URL as the oldest version the app may use (v20.0 today, v21.0 after the sunset), so tracking keeps working — but we should be explicit and current. SDK 1.0 posts to v25.0.Blocked on
setono/meta-conversions-api-php-sdk ^1.0.Changes (once the bundle is released; lands in 3.0.0)
composer.json:22-23:setono/meta-conversions-api-bundle→^1.0(or~0.1.6if the minimal bundle release ships),setono/meta-conversions-api-php-sdk→^1.0. Add"php-http/discovery": falsetoconfig.allow-plugins(mirrors the bundle; CI runs non-interactively).src/DependencyInjection/Compiler/OverrideDefaultPixelProviderPass.php:23: aliasSetono\MetaConversionsApiBundle\Provider\PixelProviderInterface::class(the FQCN id in bundle 1.0) instead ofsetono_meta_conversions_api.pixel_provider.default. Without this the alias dangles,PixelProviderInterfacestays pointed at the emptyConfigurationBasedPixelProvider, andStopPropagationIfNoPixelsHasBeenAddedSubscribersilently drops every event — admin-configured pixels stop tracking.tests/Unit/DependencyInjection/Compiler/OverrideDefaultPixelProviderPassTest.php:28,31,44: assert the new alias id.composer require symfony/http-client nyholm/psr7orkriswallsmith/buzz nyholm/psr7; removeClient::setResponseFactory()(removed in SDK 1.0).setono_meta_conversions_api.consent.categoryoption.v0.1.6ships (service ids unchanged), only the composer.json + README items apply.Verification
composer updateresolvesfacebook/php-business-sdk25.x;vendor/bin/phpunit,vendor/bin/phpstan analyse,vendor/bin/ecs check,vendor/bin/behatgreen.tests/Application/bin/console debug:container 'Setono\MetaConversionsApiBundle\Provider\PixelProviderInterface'resolves tosetono_sylius_facebook.provider.doctrine_based_pixel_provider.?_testEventCode=TESTxxxxand confirm it appears in Events Manager → Test events; Meta's API Upgrade Tool should then show calls on v25.0.For shops running the plugin
After the plugin release:
composer update setono/sylius-facebook-plugin setono/meta-conversions-api-bundle setono/meta-conversions-api-php-sdk facebook/php-business-sdk --with-all-dependencies, add theallow-pluginsentry, make sure a PSR-18 client is installed, deploy, verify a test event.