chore: widen dependencies to support latest packages (2026-03-24)#17
Open
zakhar-huzenko wants to merge 8 commits intodevelopfrom
Open
chore: widen dependencies to support latest packages (2026-03-24)#17zakhar-huzenko wants to merge 8 commits intodevelopfrom
zakhar-huzenko wants to merge 8 commits intodevelopfrom
Conversation
…k file - Allow behat/behat ^3 || 4.x-dev for Symfony 8 prep (lock pins stable 3.x) - Widen symfony/* to ^8.0 and doctrine/orm to ^2 || ^3 - Bump dev tools (phpstan 2, phpunit 11, slevomat 8, rector, roave/bcc) - Track composer.lock for reproducible installs Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
…d queries - Read field type from array or FieldMapping object - Detect PostgreSQL/MySQL via instanceof when available, else platform name - Update PHPUnit tests for ORM 3 types, PHPUnit 11, DBAL platform class names Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
- Makefile targets for phpunit, cs-fix, rector, bc-check - Composer scripts for rector and roave BC check - CI: test symfony 8.0.* on PHP 8.2+; cache key includes composer.lock - Document lock file and new commands in AGENTS.md Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
- Widen require-dev (phpunit/phpstan/rector/slevomat) for PHP 7.4 solver; drop roave/bcc (needs PHP 8+) - Pin config.platform.php 7.4.33 and regenerate composer.lock (PHPUnit 9, Behat 3.15, Symfony 5.4) - PHPUnit 9: docblock data providers, phpunit.xml for 9.3 schema, remove mixed in closures - scripts/run-phpunit.sh: optional PHPUnit 11 warning/deprecation flags - ORMContext: DBAL platform detection via instanceof only (PHPStan + DBAL 3/4) - Workflows: checkout@v4; static-analysis/security use PHP 8.3 for dev tools Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
…fony 8 on PHP 8.4 - Replace require --no-update + install (exit 4: lock/json mismatch) with composer require -W - Pin console, event-dispatcher, translation, yaml to same matrix version as config/di/http-kernel - Symfony 8.0.*: require behat 4.x-dev, run only on PHP 8.4 (Symfony 8 needs PHP >=8.4; Behat 3 caps Symfony 7) Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
Committed platform.php 7.4.33 is for the default lock; CI must solve against the job's real PHP version or Symfony 6+/7+/8 and Behat 4 falsely fail. Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
Symfony 8 removed XmlFileLoader; load YAML when XmlFileLoader is absent. Declare symfony/yaml in require. Mock AbstractQuery instead of final Query for Doctrine ORM 2.7+ with PHPUnit. Fix extension test class name assertion. Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Widen Composer constraints for Symfony 8, Doctrine ORM 3, and Behat 4.x (dev branch), keep the public API unchanged, and add internal compatibility for Doctrine ORM 2/3 and DBAL 2/4 in JSON field handling.
CI fixes
Lock /
composer installexit 4Matrix used
composer require … --no-updatethencomposer install→ lock/json mismatch (exit 4). Fix:composer require … -W.Behat + Symfony major
Pin
console,event-dispatcher,translation,yamlwithconfig,dependency-injection,http-kernel.config.platform.phpvs matrix PHPcomposer.jsonpinsplatform.php7.4.33 for the default lock.composer requirein CI still honored that platform, so Symfony 6+/7+/8 and Behat 4 saw PHP 7.4 and failed.Fix: run
composer config --unset platform.phpat the start of the install step so the solver uses the job’s real PHP version.Symfony 8:
XmlFileLoaderremovedSymfony 8 no longer ships
XmlFileLoaderinsymfony/dependency-injection. Fix: whenXmlFileLoaderis missing, loadorm_context.yamlviaYamlFileLoader; keeporm_context.xmlfor older Symfony. Added explicitsymfony/yamlinrequire(aligned with other Symfony components).PHP 8.4 Symfony 8 job (PHPUnit)
BehatOrmContextExtensionTest: assertORMContext::class(typo fix).ORMContextTest: Doctrine ORM 2.7+ marksQueryasfinal— PHPUnit cannot mock it on lowest installs. Fix: mockAbstractQueryinstead.Validation
composer dev-checkson default lock — passcomposer update --prefer-lowest+composer phpunit— passunset platform+composer requireSymfony 8.0.* + Behat 4.x-dev on PHP 8.4 — passCI
actions/checkout@v4