Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP 8.4 compliance #123

Closed
cedric-anne opened this issue Jul 24, 2024 · 15 comments
Closed

PHP 8.4 compliance #123

cedric-anne opened this issue Jul 24, 2024 · 15 comments

Comments

@cedric-anne
Copy link
Contributor

We are currently using the sabre/dav in an open source project and we want to make it fully compliant with PHP 8.4, and we cannot upgrade to sabre/event:^6.0 because sabre/dav is not compatible with it.

If we provide a patch for it, would you accept to integrate it in a new 5.1.5 version ?

There is at least the following deprecation to fix:

Deprecated: Sabre\Event\Loop\instance(): Implicitly marking parameter $newLoop as nullable is deprecated, the explicit nullable type must be used instead in /var/www/glpi/vendor/sabre/event/lib/Loop/functions.php on line 133
@staabm
Copy link
Member

staabm commented Jul 24, 2024

I think these deprecations should be fixed with cs fixer over the whole codebase (maybe also other sabre/* repos).
since fixing this error is backwards compatible we could do it in the older versions 👍

@phil-davis
Copy link
Contributor

PR #124 - I tried running the analysis tools in master with PHP 8.4. There are lots of vendor dependencies that need these deprecations adjusted.

I will also try in the major version 5 branch - that at least might show me the adjustment needed to the Event code (and lots of other vendor dependency issues!)

@cedric-anne
Copy link
Contributor Author

maybe also other sabre/* repos

I confirm that it affects multiple sabre/* components we use.

@phil-davis phil-davis changed the title PHP 8.4 compliance for v5.x PHP 8.4 compliance Jul 25, 2024
@phil-davis
Copy link
Contributor

I will link all the various related PRs to this issue, and keep the issue open until all PHP 8.4 compliance has been done.

@staabm
Copy link
Member

staabm commented Jul 26, 2024

Just want to say thank you ❤️ for working thru all the repo @phil-davis

@phil-davis
Copy link
Contributor

Also to-do is to forward-port code changes from the old major-version branches in each repo to the later (current...) branches and release PHP 8.4 compatible code in those branches.

@phil-davis
Copy link
Contributor

phil-davis commented Sep 6, 2024

I have got all the various major release branches of the "small" repos up-to-date with all the tools (cs-fixer, phpstan) and with CI running PHP 8.4, and releases done.
So event, http, xml and uri are done.
And cache https://github.com/sabre-io/cache/releases/tag/2.0.2

Now that they all pass cleanly, I will move on to getting the CI sorted out for vobject, and make releases for each major branch of that. And then do the same for "dav" (which is at the top of the dependency tree).

@nickvergessen
Copy link

nickvergessen commented Oct 7, 2024

  • vobject
  • dav

@phil-davis
Copy link
Contributor

Released https://github.com/sabre-io/vobject/releases/tag/4.5.6 today.
Hoping to follow-up all the things in dav tomorrow and get that released.

@nickvergessen
Copy link

Anything we can assist with?

@phil-davis
Copy link
Contributor

I finally got around to it!
https://github.com/sabre-io/dav/releases/tag/4.7.0

@phil-davis
Copy link
Contributor

If there are any other PHP 8.4 issues found, then please reopen and we can sort them out.

@nickvergessen
Copy link

Will update our CI and check if there are any issues there and on the test servers that deploy master/main

@phil-davis
Copy link
Contributor

CI passed for owncloud owncloud/core#41329

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

No branches or pull requests

4 participants