Skip to content

chore: widen dependencies to support latest packages (2026-03-24)#17

Open
zakhar-huzenko wants to merge 13 commits intodevelopfrom
cursor/latest-dependency-support-f0fa
Open

chore: widen dependencies to support latest packages (2026-03-24)#17
zakhar-huzenko wants to merge 13 commits intodevelopfrom
cursor/latest-dependency-support-f0fa

Conversation

@zakhar-huzenko
Copy link
Copy Markdown
Contributor

@zakhar-huzenko zakhar-huzenko commented Mar 24, 2026

Summary

Widen Composer constraints (Symfony 6.4–8, Doctrine ORM 2–3, Behat 3), keep the public API unchanged, and add internal compatibility for Doctrine ORM 2/3 and DBAL 2/4 in JSON field handling.

Breaking: Symfony <6.4 is not supported. Minimum PHP ^8.1 (Symfony 6.4 LTS floor).

Dev tooling (require-dev)

  • PHPUnit ^10.5 || ^11.0 (PHPUnit 9 dropped)
  • PHP_CodeSniffer ^4.0 with phpcs.xml updated for PHPCS 4 forbiddenFunctions syntax
  • Rector ^1.0 || ^2.0 (0.15 dropped)
  • Slevomat ^8.0 only
  • PHPStan ^2.0 + phpstan-doctrine ^2.0
  • phpunit.xml.dist targets PHPUnit 10.5 schema; scripts/run-phpunit.sh always passes PHPUnit 10+ runner-warning flags

CI

  • Matrix: Symfony 6.4.*, 7.0.*, 8.0.* (PHP 8.1–8.3 main grid; 8.4 for coverage + Symfony 8).
  • composer config --unset platform.php before matrix composer require.
  • Coverage job uses ./scripts/run-phpunit.sh; Codecov does not fail CI on token absence.

Validation

  • composer dev-checks — pass (latest and --prefer-lowest)
Open in Web Open in Cursor 

cursoragent and others added 13 commits March 24, 2026 17:44
…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>
- Narrow symfony/* constraints to ^6.0 || ^7.0 || ^8.0
- Raise php to ^8.0; platform config to 8.0.2
- CI: remove 4.4/5.4 matrix and PHP 7.4/8.0 legacy jobs; cache key uses composer.json only
- Update AGENTS.md

Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
- Narrow symfony/* to ^6.4 || ^7.0 || ^8.0; raise php to ^8.1; platform 8.1.0
- CI: matrix 6.4.* / 7.0.* / 8.0.* (drop 6.0/6.2)
- Add phpstan/phpstan-doctrine; fix ORM 2/3 field mapping typing for PHPStan
- Tests: mock Query vs AbstractQuery via reflection (ORM2 final vs ORM3)
- PHPUnit 10: run-phpunit.sh passes no-fail flags for runner warnings
- Pin phpstan to ^2.0 for consistent Doctrine generics

Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
…token

Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
- phpunit: ^10.5 || ^11; phpunit.xml for 10.5 (source + coverage)
- rector: ^1 || ^2 (drop 0.15); slevomat: ^8; phpcs: ^4
- phpcs.xml: forbiddenFunctions as elements (PHPCS 4)
- run-phpunit.sh: always pass PHPUnit 10+ warning flags
- AGENTS: drop obsolete phpcs note

Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
Co-authored-by: Zakhar <zahar.guzenko@gmail.com>
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.

3 participants