doctrine-extensions / DoctrineExtensions

Doctrine2 behavioral extensions, Translatable, Sluggable, Tree-NestedSet, Timestampable, Loggable, Sortable
MIT License
4.03k stars 1.27k forks source link

Any plans to release a new version compatible with doctrine 3.x? #2808

Closed elfantome closed 3 months ago

elfantome commented 4 months ago

Feature Request

The current version is not compatible with doctrine 3.x, mainly due to the use of annotations and other small things.  Even though doctrine 3  was released only last February, I think it's worth it to release a compatible version early for those like me who like to use the newest version when starting a new project. The work to be done is not really huge, and I am volunteering to be part of it.

mbabker commented 4 months ago

It's a work in progress, see #2708

tacman commented 3 months ago

This would really be great to work with Doctrine 3, there's other packages that are now dependent on it (like the latest version of https://github.com/stof/StofDoctrineExtensionsBundle).

The version of the bundle that works with this library (1.10) has a __call() method that no longer matches the signature here, so I'm uncertain how to update. @stof ?

mbabker commented 3 months ago

That code doesn't exist in the bundle, it's in this library. And if you're referring to the repository class I think you are, then https://github.com/doctrine-extensions/DoctrineExtensions/pull/2758 already fixed it.

There are plenty of pull requests opened by me dealing with an overwhelming majority of the compatibility issues, and anything not covered yet by a PR will be once the current queue is cleared and I can re-sync with my working branch with all the changes needed without any B/C layer.

I don't have merge rights on this repo, and as I've said repeatedly, I do not work on open-source contributions with any form of sponsored time (be it through GitHub sponsorships or corporate backing), so I'm doing what I can when I can. I'm sorry that's not enough for everyone.

tacman commented 3 months ago

Thanks, @mbabker, for your PRs and work on this.

Indeed, I see that #2758 has been merged, but I can't figure out how to get it working in my Symfony 7.1 project. If you a fork or branch that might work, I'd be happy to use/test it. I am confused about stof's bundle v. this library, to the point of trying to switch to Knp's Doctrine Behaviors, but it, too, doesn't work in 7.1 except via a fork.

mbabker commented 3 months ago

This library provides the Doctrine extension behaviors and is framework agnostic. https://github.com/stof/StofDoctrineExtensionsBundle adds the glue code to get it running in the context of a Symfony application. It's not much different than the relationship between doctrine/dbal or doctrine/orm with doctrine/doctrine-bundle.

There aren't any issues with this library or StofDoctrineExtensionsBundle that keep it from working in a Symfony 7.1 application. Strictly speaking of the relationship of this library and that bundle with the Symfony framework, there aren't any compatibility issues. But, because this library is not compatible with ORM 3.0 and DBAL 4.0 (remember, the Doctrine projects are not Symfony), if you want to use it, you need to make sure your application is running ORM 2.19 and DBAL 3.8 (both of which are supported in Symfony 7).

tacman commented 3 months ago

Thanks. I guess I have a dependency somewhere on orm 3 or dbal 4.

Something changed between .10 and .11, gut feeling is that is has to do with annotations, but I'm stabbing a bit here.

https://github.com/stof/StofDoctrineExtensionsBundle/compare/v1.10.1...v1.11.0

I'll see what happens when I force my app to be the version of orm and dbal that match this library.

Thanks again.

franmomu commented 3 months ago

The main branch is compatible with ORM 3, please help us testing it, my idea is to try it in some packages, give some time to test it and then making a release

Seb33300 commented 3 months ago

For those who are interested to test it, you can update your composer.json like this:

    "doctrine/orm": "^3.0",
    "gedmo/doctrine-extensions": "dev-main",

And then, run composer update

andreybolonin commented 3 months ago

@Seb33300 stof/doctrine-extensions-bundle blocked to install 'dev-master'

vencakrecl commented 3 months ago

@andreybolonin you can use it without bundle https://github.com/doctrine-extensions/DoctrineExtensions/blob/main/doc/symfony.md

stof commented 3 months ago

@andreybolonin the actual issue is that the development version is dev-main, not dev-master

stof commented 3 months ago

And another issue is that the branch alias for dev-main is currently set to 3.13.-dev while the latest release is 3.15.0. I opened https://github.com/doctrine-extensions/DoctrineExtensions/pull/2815 to fix that.

franmomu commented 3 months ago

There has been a new release: https://github.com/doctrine-extensions/DoctrineExtensions/releases/tag/v3.16.0