Skip to content

Allow league/fractal ^0.21 (currently blocks studioespresso/craft-scout 6.0.0) #202

Description

@webrgp

Element API 4.2.0 requires league/fractal: ^0.20.1. Craft Scout 6.0.0, released July 28, 2026, requires league/fractal: ^0.21. Any project running both plugins cannot install Scout 6:

Problem 1
  - Root composer.json requires studioespresso/craft-scout 6.0.0 -> satisfiable by studioespresso/craft-scout[6.0.0].
  - studioespresso/craft-scout 6.0.0 requires league/fractal ^0.21 -> found league/fractal[0.21] but these were not loaded, likely because it conflicts with another require.

Scout 6 exists to move from the Algolia PHP client v3 to v4, which matters on a deadline. Its release notes state that "Algolia is retiring the API endpoints used by the older clients on August 14, 2026, so this upgrade is required to keep search working." Sites running both plugins are stuck on Scout 5 and its v3 client until this constraint moves.

Fractal 0.21.0 (December 16, 2024) carries one backward-incompatible change. The current scope is cleared after transformation completes, so calling ->getCurrentScope() after a transformation finishes no longer works. Element API does not call getCurrentScope() anywhere in src/, so a constraint bump looks like the whole fix, with no code changes needed.

Proposed change in composer.json:

"league/fractal": "^0.20.1 || ^0.21"

Keeping both ranges avoids forcing an upgrade on anyone currently pinned to 0.20.x.

This is the same situation as #109 and Scout's #146 and #293, most recently resolved by #183 when the constraint moved to 0.20.1.

Happy to open a PR if that helps.

Environment

  • craftcms/element-api 4.2.0
  • craftcms/cms 5.10.12
  • studioespresso/craft-scout 6.0.0
  • PHP 8.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions