daun/statamic-graphql-alternate-locales
Adds alternate locale support to Statamic's GraphQL API, letting you query localized versions of entries and expose alternate locale data in your schema. Useful for multilingual sites that need locale-aware GraphQL responses.
Scope of the change. Release 1.1.0 contains a single line: "Add support for Statamic 6." This is an additive compatibility release, not a feature or architecture change. The substantive signal is not the changelog text but what it implies: a major upstream CMS version has shipped, and this package now claims to run against it. Everything below is framed around that, and should be read as provisional — the release note carries no version matrix, no deprecation notice, and no test evidence.
Architecture fit. The package is a Laravel/PHP extension that lives inside the Statamic addon or package lifecycle (service provider registration, config publishing, likely an addon manifest and possibly Control Panel assets). That is a standard and well-understood shape in the Laravel ecosystem. Fit is therefore high provided the package respects Statamic's public extension points rather than reaching into internals. The single-line changelog gives no indication either way, and "support for a new major" is exactly the release type where internal-API coupling surfaces. This is the primary architectural question to resolve before adoption.
Integration feasibility. Low-to-moderate effort in the greenfield case: composer require, register the provider (or drop into addons/), publish config, run Statamic's cache/update commands. The brownfield case — an existing Statamic 5 application — is harder and is where the real cost sits, because the package upgrade cannot be done independently of the CMS upgrade. Composer's constraint solver will effectively couple the two: you cannot take this package at 1.1.0 while remaining on Statamic 5 unless the package keeps dual-version support in its constraints. That is a fact to establish from composer.json, not to assume.
Technical risk. Rated moderate, driven by unknowns rather than by anything alarming in the release itself.
| Risk | Severity | Why it matters |
|---|---|---|
| Dual-version code paths | Moderate | "Add support" releases often introduce runtime version branching, which raises the regression surface for users on the older supported version — sometimes more than for the new one. |
| Silent PHP/Laravel floor bump | Moderate | Statamic majors typically move the PHP and Laravel minimums. If the package followed, a minor-version bump can break an application that satisfies the package's own apparent contract. |
| Internal API coupling | Moderate–High | Only materialises if the package touches non-public Statamic surfaces; unknown without source review. |
| Semver trust | Low–Moderate | A minor bump declares non-breaking, but "breaking" here is defined relative to Statamic 6, not relative to your application. |
| Bus factor / maintenance ownership | Unknown | A single-maintainer community addon inherits the upstream's release cadence risk. |
Key questions to put to the maintainer (or answer from source):
statamic/cms, laravel/framework, and php?@internal usage?Until questions 1 and 2 are answered, treat the release as "compatible in the maintainer's environment," not "compatible in ours."
Stack fit. Assumes a Laravel application using Statamic as its content layer, with the package supplying additional functionality (fieldtypes, tags, modifiers, or CP tooling). Fit is native — same framework, same service container, same Composer dependency graph. There is no adapter or translation layer to own, which is a genuine advantage over integrating a non-PHP CMS extension. The one structural consideration: Statamic addons have a slightly different install and registration convention than plain Laravel packages, so confirm which shape this package uses before writing runbooks.
Compatibility. The version matrix is the whole ballgame and is currently undocumented. Before committing, resolve explicitly:
If the package does not span both, the upgrade is atomic: Statamic 6 and package 1.1.0 land together or not at all. Plan accordingly — that turns a routine dependency bump into a coordinated platform upgrade.
Migration path. Recommend a branch-and-pin approach rather than in-place upgrading:
statamic/cms and this package) with exact constraints and commit the lockfile.Sequencing. Upgrade order matters and is not symmetric:
Doing Statamic and the package in one commit is tempting and will cost you a day of bisecting if something breaks. Keep them separate.
Rollback. Confirm that a Statamic major downgrade is actually reversible in your deployment — content-model and database changes made under 6 may not reverse cleanly. If it is not reversible, the staging environment must be a restored copy of production data, not a shared database.
Maintenance. Modest but non-zero, and now coupled to Statamic's major-release cadence rather than the package's own. Expect this package to ship compatibility releases within days-to-weeks of each Statamic major, and to lag occasionally. Budget for one planned upgrade window per Statamic major, plus a small contingency for the addon ecosystem to catch up. The maintenance burden is low in steady state and spiky at CMS majors — plan for the spike, don't staff for the average.
Support. Depends entirely on maintainership model, which is not established here. Two things to nail down before this becomes load-bearing: the maintainer's stated support window for the Statamic 5 line, and whether there is a second contributor or sponsoring organisation. If it is a single volunteer maintainer and the package is on a critical content path, that is a real continuity risk that should be recorded, not glossed. Mitigation is cheap at this stage — vendor the source, or keep the ability to fork — and expensive later.
Scaling. No scaling impact from this release. Statamic 6 may change caching, indexing, or asset-transform behaviour underneath, which can shift performance characteristics, but that is an upstream concern rather than a property of this package. Re-baseline after the upgrade rather than assuming prior performance figures carry over.
Failure modes to watch. Ranked by likelihood × detectability:
Ramp-up. Low for anyone already fluent in Laravel — service providers, config publishing, and Composer are familiar ground. The steeper curve is Statamic-specific: the addon lifecycle, the CP extension surface, and Antlers/data-layer conventions. A Laravel developer new to Statamic should expect a few days to be productive and roughly a week to be confident debugging content-layer issues. This is a package-level skill, not a platform-level one; no dedicated specialist is warranted unless it sits on the critical publishing path.
Recommendation. Suitable to adopt, with verification gated on two cheap checks: read composer.json for the actual version constraints (answering the dual-support question), and confirm CI tests both Statamic lines. If both come back clean, this is a low-risk upgrade on a normal cadence. If the package supports only Statamic 6 and you are on 5, do not upgrade opportunistically — schedule it as a platform upgrade with a staging rehearsal and a verified rollback. Given the changelog is one line long, the responsible posture is to treat 1.1.0 as plausibly compatible and let your own test suite, not the release note, be the arbiter.
How can I help you explore Laravel packages today?