cloudinary / cloudinary_magento2

Cloudinary's Magento 2 extension. Upload product images to the cloud, manipulate them to match your graphic design and optimize images for better user experience
MIT License
15 stars 8 forks source link

Upgrade cloudinary_php Dependency #130

Closed dsh-mabel closed 1 year ago

dsh-mabel commented 1 year ago

The currently pinned versions of cloudinary_php ("cloudinary/cloudinary_php": ">=2.7 <2.8.1") uses an outdated version of guzzle_promise that breaks when trying to access the Promise functions. It looks like the most current versions of the cloudinary_php library have updated to the static methods.

We cannot downgrade Guzzle for Magento either as we need the newer versions for other modules. Is there a reason this Magento module is not using the newest cloudinary_php library?

wissam-khalili commented 1 year ago

Hi there, Thank you for reaching out. We have limited the Magento plugin to use cloudinary_php to version 2.8. We do not upgrade it automatically. We are considering updating the composer to support the latest version, but we would need to do some testing before that.

I will keep you posted on our proceedings. Regards, Wissam

dsh-mabel commented 1 year ago

Thank you for your response, but I do find it a bit concerning. As users begin to upgrade their Magento instances (as we have) they will get caught in this dependency mismatch and have a broken Cloudinary module (as we have) with no recourse other than to wait for a fix.

milindsingh commented 1 year ago

The current version is breaking Magento 2.4.5 and above. Kindly prioritize this issue so that we are able to use cloudinary.

dannyv-cloudinary commented 1 year ago

Hi @milindsingh. Thanks for your comment. I will be sure to pass your feedback on to the development team

kevpd commented 1 year ago

Currently also working with Magento 2.4.5 and we are not able to use our admin configurations due to this version mismatch. When will the development team be able to implement this?

wissam-khalili commented 1 year ago

Hi there, this issue is planned to be fixed in our next version. I will let you know once it will be released. Thanks, Wissam

pauldonnelly commented 1 year ago

Wissam, Any update on this?

Error: Call to undefined function GuzzleHttp\Promise\promise_for() in /vendor/cloudinary/cloudinary_php/src/Api/BaseApiClient.php:333

Vdeub-cloudinary commented 1 year ago

Hi @pauldonnelly, the team is planning to work on this issue this week. We will update you accordingly.

wissam-khalili commented 1 year ago

Hi @pauldonnelly @milindsingh @kevpd @dsh-mabel ,

I would like to update you that we have released a new version 1.19.8 in our Git repo.

Please review and let me know your feedback.

Regards, Wissam

pauldonnelly commented 1 year ago

Unfortunately it seems to be the same issue. The magento2 module upgraded to 1.19.8 and cloudinary_php upgraded to 2.10.2. If I look at the file I mentioned above, the promise_for() is still there. It should be GuzzleHttp\Promise\Create::promiseFor() as per the latest version of cloudinary_php.

Im not sure why it hasnt updated to cloudinary_php version 2.11.0. I assume its the composer.json dependency stating <2.11.0 instead of <=2.11.0

wissam-khalili commented 1 year ago

Hi @pauldonnelly,

Thank you for your feedback. We will fix the issue early next week. I will keep you updated once released.

Regards, Wissam

wissam-khalili commented 1 year ago

Hi @pauldonnelly ,

I would like to update you that we have released a new version 1.19.90. Please upgrade and let me know your feedback.

Regards, Wissam

pauldonnelly commented 1 year ago

Thank you Wissam. I removed the module and pulled the new composer packages. Everything seems to work now.

wissam-khalili commented 1 year ago

Thank you for the update @pauldonnelly