Skip to content

#309 - Composer: suggest ext-intl instead of requiring it - #313

Merged
njoubert-cleverage merged 1 commit into
mainfrom
309
Oct 20, 2026
Merged

njoubert-cleverage merged 1 commit into
mainfrom
309

Conversation

@njoubert-cleverage

Copy link
Copy Markdown
Member

Description

Fixes #309.

Tests

  • UnavailableServicesCompilerPassTest: the transformer is kept with intl, replaced without it (intl parameter of createContainer()).
  • Checked in a PHP 8.5 image without intl: composer update installs the bundle, the kernel boots (tests/Functional OK), the slugify transformer throws The "...SlugifyTransformer" service requires the PHP intl extension....

Checked in the container (978 tests): highest dependencies (PHP 8.5, Symfony 8.1), lowest dependencies (PHP 8.2, Symfony 6.4.0), Symfony 6.4.48 on PHP 8.2 and 8.5, Symfony 7.4: no deprecation, no risky test (with pcov coverage). PHPStan, PHP-CS-Fixer and Rector OK.

Requirements

  • Documentation updates
    • Reference
    • Cookbooks
    • Changelog
  • Unit tests

Breaking changes

None for the bundle API. An application relying on the bundle to require ext-intl keeps it installed; composer no longer refuses to install the bundle without it.

🤖 Generated with Claude Code

- ext-intl moves from require to suggest: only the slugify transformer uses
  it (\Transliterator, intl_get_error_message()).
- UnavailableServicesCompilerPass: without the extension, the slugify
  transformer is replaced by an UnavailableTransformer failing with an
  explicit message when it is used (same approach as #278 / #269).
- Tests: the transformer is replaced without intl, kept with it.
  Documentation (quick start, slugify reference) and CHANGELOG updated.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@njoubert-cleverage
njoubert-cleverage merged commit 8ee48ad into main Oct 20, 2026
18 checks passed
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.

Composer: ext-intl is only needed by the slugify transformer, move it to suggest

1 participant