core
core copied to clipboard
Update guzzle major version from 5 to 7
core dependabot PR #39368 has been merged. That bumps to 7.4.4 PR #40154 adds a bump to 7.4.5 on 2022-06-21
This is a major version update of the "guzzle" library. It provides a framework in PHP for doing outgoing client requests. It is used in things like federated sharing, where one oC10 server needs to send requests to another oC10 federated server. We have various acceptance tests for federated sharing, so automated CI will cover the common federated sharing scenarios.
Some oC10 apps mention guzzle in their composer files. We will need to coordinate update those in sync with core.
They are:
- [x] files_external_dropbox - https://github.com/owncloud/files_external_dropbox/pull/116 - release issue https://github.com/owncloud/files_external_dropbox/issues/133
- [x] files_onedrive - https://github.com/owncloud/files_onedrive/pull/125 - release issue https://github.com/owncloud/files_onedrive/issues/142
- [x] objectstore (https://github.com/owncloud/objectstore/pull/144) - release issue https://github.com/owncloud/objectstore/issues/155
- [x] updater https://github.com/owncloud/updater/issues/626 (this one is a "bonus" not a blocker - "updater" is not an ordinary app, so it may not need to be updated exactly in sync with oC10) -> https://github.com/owncloud/updater/pull/629
- [x] files_external_s3 (https://github.com/owncloud/files_external_s3/pull/762) - release issue https://github.com/owncloud/files_external_s3/issues/933
- [x] files_primary_s3 (https://github.com/owncloud/files_primary_s3/pull/498) - release issue https://github.com/owncloud/files_primary_s3/issues/577
- [x] Calendar (https://github.com/owncloud/calendar/pull/1212) - release issue https://github.com/owncloud/calendar/issues/1259
- [x] Market https://github.com/owncloud/market/pull/817 - release issue https://github.com/owncloud/market/issues/1037
- [ ] Web https://github.com/owncloud/web/pull/5933
- [x] graphapi https://github.com/owncloud/graphapi/pull/30 - release issue https://github.com/owncloud/graphapi/issues/32
- [x] gallery (needs investigation, mentions guzzle in composer.json require-dev only) - seems to be working OK after a manual test 2022-06-25 - see https://github.com/owncloud/gallery/issues/859
- [x] richdocuments https://github.com/owncloud/richdocuments/pull/470 - release issue https://github.com/owncloud/richdocuments/issues/472
Apps that use the client, but most likely still work:
- [ ] files_external_ftp - no direct use of guzzle. Needs manual testing.
- [ ] oco_selfservice
- [ ] Onlyoffice
- [ ] Collabora
- [ ] Encryption (HSM)
Other things considered:
- [x] files_external_gdrive https://github.com/owncloud/files_external_gdrive/pull/76 - this repo is not a released app, so we can ignore that
Apps to pre-release: The following apps have had their code updated so that it detects if Guzzle5 or Guzzle7 libraries are available in core, and makes the appropriate Guzzle calls. This has been done for apps that are "backend" plugins for core, that, for example, manage "core" storage of users. It is much easier to upgrade when these apps support both Guzzle5 and Guzzle7. The new version of the app can be installed while you are running core 10.9 or 10.10, and it works fine. Then you upgrade core to 10.11, and you don't have to think about how to upgrade the app "at the same time".
We can and should do QA and release new versions of these apps ASAP (well before releasing core 10.11).
- [ ] files_primary_s3 https://github.com/owncloud/files_primary_s3/issues/577
- [ ] objectstore https://github.com/owncloud/objectstore/issues/155
I updated the list above with the affected apps and PRs to make it work. Most of the pipelines won't succeed until the core PR is merged. updater
is optional and can be done later as it's not a standard OC app. Note that all these apps then need a new version which requires minimum OC 10.9 (this is not included in those PRs yet).
That should be pretty much it. But we can only know for sure if we take the step and merge this upgrade. So, do we want to proceed? @phil-davis @micbar @pmaier1 any objections?
That should be pretty much it. But we can only know for sure if we take the step and merge this upgrade. So, do we want to proceed? @phil-davis @micbar @pmaier1 any objections?
No objection from me. IMO it will be good to get this stuff up-to-date.
Merge after 10.9, decided in planning.
Edit: 10.10 was released, and we have merged after 10.10, for release in core 10.11
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 10 days if no further activity occurs. Thank you for your contributions.
waiting on merge of #39368 to core, and then merging the various app PRs.
Also see #40103 - a new patch release of v6 and v7 came out yesterday, giving this a kick along.
Assigned myself. The main core PR #39368 has been merged.
I will follow-up the oC10 app PRs and get all CI passing for apps. And make a release/test plan with what I think needs to be done in the coming "x" weeks to manually QA various combinations of core and apps to confirm that they work with Guzzle 7.
@jnweiger FYI
And make a release/test plan with what I think needs to be done
@phil-davis I've started the smoke test plan in https://github.com/owncloud/enterprise/issues/5247#issuecomment-1160077407 Please feel free to expand the Changelog testing section!
2022-06-28: PHP dependencies are up-to-date in all apps. Nightly CI passes in all apps.
IMO we are at the point where we could:
- find anything else in https://github.com/owncloud/core/pulls that can/needs to be merged and merge it.
- make a 10.11.0-alpha.1 tarball
- make x.x.x-alpha.1 tarballs of each app that will need releasing
- do some manual testing to see if we can find any edge-cases that have been missed
Thanks. That is a good state to start building packages.
- I'd first do the alpha.1 for the apps, based on the list in the initial comment here.
- Then a core alpha.1
- For all apps (to be identified) that need updates (besides of guzzle) we probably need to do a double release, so that we can have a version that is compatible with core 10.9 / 10.10 -- e.g. we plan to release richdocuments-2.8.0 (without guzzle and min version oc 10.7) and simultaneoulsy richdocuments-2.9.0 (with guzzle and min version oc 10.11) -- hope that makes sense.
@jnweiger I created release issues for each of the apps that we know have had code changes for Guzzle7, and put them in the Releases project. The process of making RC1 tarballs could start next week. I don't think that there is any other code waiting to merge, but maybe check the open PRs in each app to see if there is anything that should be followed-up.
@kiranadh1452 has done manual verification that the following apps still work without any obvious regressions when using the current core master (what will be 10.11.0 release) and the current code in the app repos (which will be released concurrently with core 10.11.0). So the formal QA of the release of each of these apps should be smooth.
https://github.com/owncloud/gallery/issues/859
https://github.com/owncloud/market/issues/1043
https://github.com/owncloud/calendar/issues/1263
https://github.com/owncloud/files_external_ftp/issues/99
https://github.com/owncloud/files_external_gdrive/issues/77
https://github.com/owncloud/files_onedrive/issues/145
https://github.com/owncloud/files_external_dropbox/issues/137
Reported Issue :
https://github.com/owncloud/files_external_dropbox/issues/138
updates are complete, All possible QA was done. The unticked items do not have a tet setup.