schmittjoh / JMSSerializerBundle

Easily serialize, and deserialize data of any complexity (supports XML, JSON, YAML)
http://jmsyst.com/bundles/JMSSerializerBundle
MIT License
1.8k stars 312 forks source link

Add support for Symfony 7, require Symfony 5.4+ and PHP 7.4+ #937

Closed mbabker closed 9 months ago

mbabker commented 1 year ago
Q A
Bug fix? no
New feature? yes
Doc updated no
BC breaks? technically yes
Deprecations? no
Tests pass? yes
Fixed tickets N/A
License MIT

Adds Symfony 7 support, WIP as this builds on top of #933 to ensure it works with the annotations support being removed.

Since the first push of this PR failed on the lowest deps build because of incompatible signatures, this will also drop support for Symfony versions before 5.4 (current LTS), and bumps the PHP minimum to 7.4 because according to the Packagist stats the number of folks running a 5.x release of the bundle on PHP 7.2 or 7.3 is so insignificant that at this point it's just more efficient to drop those EOL PHP branches.

mbabker commented 1 year ago

The lowest deps build is showing that it might be time to start dropping legacy Symfony support. https://github.com/schmittjoh/JMSSerializerBundle/actions/runs/6435785419/job/17477761506?pr=937 fatal'd out because the signature of the cache warmer isn't compatible with Symfony 3.4, and it's typehinted in Symfony 7.

OrestisZag commented 10 months ago

@goetas @mbabker Thank you for tackling this issue. I see that the checks are green. Are we gonna merge this soon or is there something more to be done?

l-you commented 10 months ago

@mbabker Is this PR ready to merge? Please request a contributor review if so.

mbabker commented 10 months ago

The current state is reflected in the PR description.

WIP as this builds on top of https://github.com/schmittjoh/JMSSerializerBundle/pull/933 to ensure it works with the annotations support being removed

The dependent PR should be reviewed/merged separately, and because of the changes it makes, it is a blocker to allowing this one to be reviewed/merged.

ruudk commented 10 months ago

The dependent PR has been merged 🎉 Could you rebase this one and prepare it for review? Thanks so much for your work on this 💙 💪

chalasr commented 10 months ago

Looks good to me. Could we have a merge here? SymfonyCon' hackday is happening now and we need this to fix other bundles' compatibility.