schmittjoh / serializer

Library for (de-)serializing data of any complexity (supports JSON, and XML)
http://jmsyst.com/libs/serializer
MIT License
2.31k stars 591 forks source link

chore(dependencies): Allow doctrine/lexer:^3.0 #1500

Closed Anticom closed 1 year ago

Anticom commented 1 year ago

Looking at https://github.com/doctrine/lexer/releases/tag/3.0.0 it seems all that was changed with major release 3 was the dropped support for some older PHP versions. Hence we should be able to use this version as well without any additional changes. Since the doctrine/lexer team is properly limiting the php version the package works with here https://github.com/doctrine/lexer/blob/3.0.0/composer.json#L29 composer should automatically figure out to use v2.x with older PHP versions.

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

Good catch, thanks for bringing it to my attention!

$ composer why -rt doctrine/lexer
doctrine/lexer 2.1.0 PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.
├──jms/serializer 3.x-dev (requires doctrine/lexer ^2.0 || ^3.0)
├──jms/serializer dev-master (requires doctrine/lexer ^2.0 || ^3.0)
├──doctrine/annotations 2.0.1 (requires doctrine/lexer ^2 || ^3)
│  ├──jms/serializer 3.x-dev (requires doctrine/annotations ^1.13 || ^2.0)
│  ├──jms/serializer dev-master (requires doctrine/annotations ^1.13 || ^2.0)
│  ├──doctrine/orm 2.15.3 (conflicts doctrine/annotations <1.13 || >= 3.0) (circular dependency aborted here)
│  ├──doctrine/persistence 2.5.7 (conflicts doctrine/annotations <1.0 || >=3.0) (circular dependency aborted here)
│  ├──doctrine/phpcr-odm 1.7.1 (requires doctrine/annotations ^1.2 || ^2.0)
│  │  ├──jms/serializer 3.x-dev (requires (for development) doctrine/phpcr-odm ^1.3|^2.0)
│  │  ├──jms/serializer dev-master (requires (for development) doctrine/phpcr-odm ^1.3|^2.0)
│  │  └──doctrine/data-fixtures 1.6.6 (conflicts doctrine/phpcr-odm <1.3.0) (circular dependency aborted here)
│  ├──phpbench/phpbench 1.2.14 (requires doctrine/annotations ^1.13 || ^2.0)
│  │  ├──jms/serializer 3.x-dev (requires (for development) phpbench/phpbench ^1.0)
│  │  └──jms/serializer dev-master (requires (for development) phpbench/phpbench ^1.0)
│  └──symfony/validator v6.3.1 (conflicts doctrine/annotations <1.13) (circular dependency aborted here)
├──doctrine/orm 2.15.3 (requires doctrine/lexer ^2)
│  ├──jms/serializer 3.x-dev (requires (for development) doctrine/orm ~2.1)
│  ├──jms/serializer dev-master (requires (for development) doctrine/orm ~2.1)
│  └──doctrine/data-fixtures 1.6.6 (conflicts doctrine/orm <2.12) (circular dependency aborted here)
└──symfony/validator v6.3.1 (conflicts doctrine/lexer <1.1) (circular dependency aborted here)

Looks like doctrine/orm is the culprit here. Looks like they're working on a 3.x release including an upgrade for doctrine/lexer as well.

Since it's only a dev dependency, maybe we can upgrade it to an unstable dev version?\ I wasn't able to find any information on BCs since there is no Release on GitHub yet, but I'm willing to put some more work into this if you're okay with using the 3.0.x-dev branch.

Anticom commented 1 year ago

Interesting, even when installing the dependencies using --no-dev flag, doctrine/lexer is still being locked to v2.

I don't know enough about the internals of composer to give an explanation for that.

scyzoryck commented 1 year ago

Interesting, even when installing the dependencies using --no-dev flag, doctrine/lexer is still being locked to v2.

It still checks the dev dependencies - to be compatible between dev and prod environments :) I'm fine with merging it now - I see no potential issues with it. So let's merge it. :) Thanks again!

martincivan commented 11 months ago

@scyzoryck May I kindly ask you when do you expect this to be released? I see its already merged, but since merge there hasn't been any release. Do you have please any ETA for next release?

scyzoryck commented 11 months ago

I will release it on Sunday :)