Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
Remove Serializable implementations#41299
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
derrabus commentedMay 19, 2021
| Q | A |
|---|---|
| Branch? | 6.0 |
| Bug fix? | no |
| New feature? | no |
| Deprecations? | no |
| Tickets | Fix#41094 |
| License | MIT |
| Doc PR | N/A |
carsonbot commentedMay 20, 2021
Hey! I think@fancyweb has recently worked with this code. Maybe they can help review this? Cheers! Carsonbot |
nicolas-grekas commentedMay 23, 2021
test failure look related |
derrabus commentedMay 23, 2021
It is indeed. The failing test checks if a I think, the gap is too large here. I would not expect that I can jump from Symfony 4.4 and PHP 7.2 to Symfony 6.0 and PHP 8.0 directly and resume old sessions. I would regenerate the fixture with |
derrabus commentedMay 23, 2021
🤔 Let's get that deprecated user out of that fixture first.#41385 |
derrabus commentedMay 23, 2021
Now that the deprecated fixture is out of the way, I could regenerate the fixture on PHP 8. This way, an app could still jump from Symfony 4.4 to 6.0 directly, if PHP is not upgraded at the same time. I'm going to document this is the upgrade notes. |
nicolas-grekas commentedMay 24, 2021
one more :) |
derrabus commentedMay 24, 2021
Fixed. I regenerated the fixture with Symfony 4.4 and PHP 8: $newFixture =serialize(unserialize($oldFixture)); What is the use-case for serializing routes? I'd like to write an upgrade note here as well. |
nicolas-grekas commentedMay 24, 2021
I think Drupal stores the routes in the DB. |
derrabus commentedMay 24, 2021
Oh, I see. In that case, Drupal needs to provide a way to migrate database tables storing serialized routes after a PHP upgrade (if that does not happen already), ideally before they release a version with Symfony 6 support. Is there someone we can contact about that? |
nicolas-grekas commentedMay 24, 2021
/cc@alexpott |
nicolas-grekas commentedMay 26, 2021
As discussed in#41094 (comment), we should keep the interface on implementations (not on interfaces), but they should be final and internal, and only unserialize() should have an implementation: serialize() should throw a BadMethodCall instead |
d6b8605 to3396915Comparenicolas-grekas commentedMay 27, 2021
Thank you@derrabus. |
derrabus commentedMay 27, 2021
Thank you for resuming my work. 🙂 |