Skip to content

Require the betas of the Meta Conversions API bundle and SDK - #90

Merged
loevgaard merged 1 commit into
3.xfrom
upgrade-meta-conversions-api-bundle-1.0-beta
Sep 21, 2026
Merged

loevgaard merged 1 commit into
3.xfrom
upgrade-meta-conversions-api-bundle-1.0-beta

Conversation

@loevgaard

Copy link
Copy Markdown
Member

Moves the plugin to the betas of the Meta Conversions API bundle (v1.0.0-beta.1) and SDK (v2.0.0-beta.3).

Why the constraints change, not just the lock

v2.0.0-beta.2 of the SDK replaced Parameters::PAYLOAD_CONTEXT_* with the PayloadContext enum. v1.0.0-alpha.1 of the bundle still uses the constants, and its own constraint allows the SDK betas. v3.0.0-beta.2 of the plugin allows all of them (^1.0@alpha, ^2.0@alpha), so:

  • a fresh install resolves to the pair that works, bundle beta.1 with SDK beta.3, but
  • composer update setono/meta-conversions-api-php-sdk on its own leaves bundle alpha.1 with SDK beta.3. Reproduced here: ServerSideTrackingTest fails with Undefined constant Setono\MetaConversionsApi\Event\Parameters::PAYLOAD_CONTEXT_BROWSER.

The constraints are now ^1.0.0-beta.1 and ^2.0.0-beta.2, the first releases that work together. It is a lower bound rather than an @beta flag on purpose: a stability flag on a dependency's requirement is ignored when the plugin is installed into a shop, a lower bound is not. Checked with composer/semver: bundle alpha.1 and SDK alpha.3 / beta.1 no longer satisfy them.

The plugin's own code

Unchanged. Nothing in src/ uses what the SDK betas changed: the Event subclasses only override the constructor, not getMapping(), and nothing touches the payload context, User::$fbc / $fbp or Fbp::$randomNumber.

Docs

The install commands in the README and UPGRADE.md ask for @beta instead of @alpha, and UPGRADE.md tells those who installed v3.0.0-beta.2 to change the flags and update the plugin, the bundle and the SDK together.

Verified locally (PHP 8.3)

  • Highest (bundle beta.1, SDK beta.3): composer validate --strict, composer normalize --dry-run, ECS, PHPStan, Rector, lint:container, 76 unit and 15 functional tests.
  • Lowest allowed pair (bundle beta.1, SDK beta.2): PHPStan and both test suites.
  • Smoke test on the dev server: the pages return 200 and render the pixel init, PageView and ViewContent, which is the client side path that alpha.1 broke.
  • Infection was not run again: src/ and the tests are unchanged.

v2.0.0-beta.2 of the SDK replaced the payload context constants with an
enum, and v1.0.0-alpha.1 of the bundle, which still uses the constants,
allows that release. The plugin allowed both, so updating only the SDK
left a shop with a pair that fails with an undefined constant error on
every page that raises an event.

The constraints are now ^1.0.0-beta.1 and ^2.0.0-beta.2, the first
releases that work together. A lower bound is used rather than a
stability flag, because a flag on a dependency's requirement is ignored
when the plugin is installed into a shop.

The docs ask for @beta instead of @Alpha, and the upgrade guide tells
those who installed v3.0.0-beta.2 to update the packages together.
@loevgaard loevgaard added the dependencies Pull requests that update a dependency file label Sep 21, 2026
@codecov

codecov Bot commented Sep 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (f7ea374) to head (b23b1c5).

Additional details and impacted files
@@             Coverage Diff             @@
##                 3.x       #90   +/-   ##
===========================================
  Coverage     100.00%   100.00%           
  Complexity       113       113           
===========================================
  Files             25        25           
  Lines            410       410           
===========================================
  Hits             410       410           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@loevgaard
loevgaard merged commit 5d76fc2 into 3.x Sep 21, 2026
30 checks passed
@loevgaard
loevgaard deleted the upgrade-meta-conversions-api-bundle-1.0-beta branch September 21, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant