Skip to content

Let Dependabot watch facebook/php-business-sdk - #22

Merged
loevgaard merged 1 commit into
2.xfrom
dependabot-facebook-sdk-2.x
Sep 21, 2026
Merged

loevgaard merged 1 commit into
2.xfrom
dependabot-facebook-sdk-2.x

Conversation

@loevgaard

Copy link
Copy Markdown
Member

Summary

Replaces #21. The Dependabot config lives on 2.x only, and 2.x is now the repository's default branch, which is where Dependabot reads its config from.

The Graph API version the client talks to is ApiConfig::APIVersion from whatever facebook/php-business-sdk is installed, so the constraint ^25.0 || ^26.0 caps users at Graph API v26. Meta ships a new major of that package every four to five months:

Major Released
26.0.0 2026-08-06
25.0.0 2026-03-10
24.0.0 2025-10-23
23.0.0 2025-06-16

Until now somebody had to notice the release by hand (#10) and open a PR like #12. This adds .github/dependabot.yml so that PR is opened automatically.

How it is set up

  • Only this one package, through an allow rule. The ranges of the other dependencies already float, and the dev tools are deliberately held on the majors that still support PHP 8.1, so watching them would only produce proposals that go against that policy.
  • versioning-strategy: widen, so ^25.0 || ^26.0 becomes ^25.0 || ^26.0 || ^27.0, the same edit as Allow facebook/php-business-sdk ^26.0 (Graph API v26.0) #12.
  • About three PRs a year. No composer.lock is committed, so a release inside the allowed range produces nothing; only a new major does.
  • 2.x only. One entry, no target-branch. 1.x is not watched; if that is wanted later, it is one more entry with target-branch: "1.x".
  • Weekly schedule, labelled dependencies.

What a Dependabot PR still needs from a human

  • CI makes it close to merge-ready: the tests read the version from ApiConfig::APIVersion, and the characterization tests pin the normalized and hashed output, so a behaviour change in the SDK's Normalizer or Util::hash() fails the highest jobs.
  • LiveClientTest does not run in CI, so one live run against the new major before tagging stays manual. CLAUDE.md now says so.
  • Dependabot never drops an old major. Removing ^25.0 once Graph API v25 is retired remains a manual decision.

Also in this PR

CLAUDE.md's Branches section said 1.x was the default branch. It now describes 2.x as the default, notes that Closes #… therefore only auto-closes issues for merges into 2.x, and says that default-branch-only config lives on 2.x.

Test plan

  • The YAML parses and the entry carries the expected ecosystem, allow rule, strategy, schedule and label
  • The dependencies label exists
  • After merge: the Dependabot tab under Insights → Dependency graph shows the composer entry without a config error

The Graph API version the client talks to is ApiConfig::APIVersion from
facebook/php-business-sdk, and Meta ships a new major of that package
for every Graph API version, roughly three times a year. Until the
constraint is widened, users of this library stay capped at the previous
Graph API version, and so far somebody had to notice the release by hand.

Dependabot now opens a PR that widens the constraint when a new major is
released. It watches 2.x, which is now the default branch and therefore
where Dependabot reads its config from. No composer.lock is committed,
so releases inside the allowed range produce no PR. Other dependencies
are left out on purpose: their ranges already float, and the dev tools
are held on the majors that still support PHP 8.1.

CLAUDE.md is updated for 2.x being the default branch.
@loevgaard
loevgaard merged commit 11f8c61 into 2.x Sep 21, 2026
28 checks passed
@loevgaard
loevgaard deleted the dependabot-facebook-sdk-2.x branch September 21, 2026 09:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant