Page MenuHomePhabricator

PageEditStash (and Content) should use JSON serialization
Closed, ResolvedPublic

Description

The PageEditStash uses PHP serialization of ParserOutput, despite that having been deprecated in 1.41 and support removed in 1.45 (T353570).

The alternative JSON serialization should probably be backported as far back as 1.43 as well to allow some measure of rollback compatibility.

It also uses PHP serialization of the Content object; that should have a supported (and tested) JSON serialization with a compatibility policy as well.

T264389: ProofreadPageContent must not contain User object, since it cannot be serialized safely. discusses some of the existing issues with Content objects and PHP serialization.

Event Timeline

Change #1165581 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/core@master] Use JSON serialization for PageEditStash

https://gerrit.wikimedia.org/r/1165581

cscott renamed this task from PageEditStash should use JSON serialization to PageEditStash (and Content) should use JSON serialization.Jul 3 2025, 6:48 PM

Change #1166243 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/core@master] Turn on JSON serialization for PageEditStash

https://gerrit.wikimedia.org/r/1166243

Change #1166244 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/core@master] Turn on JSON serialization of Content in PageEditStashContent

https://gerrit.wikimedia.org/r/1166244

Change #1165581 merged by jenkins-bot:

[mediawiki/core@master] Prepare to use JSON serialization for PageEditStash

https://gerrit.wikimedia.org/r/1165581

Change #1166243 merged by jenkins-bot:

[mediawiki/core@master] Turn on JSON serialization for PageEditStash

https://gerrit.wikimedia.org/r/1166243

Change #1166244 merged by jenkins-bot:

[mediawiki/core@master] Turn on JSON serialization of Content in PageEditStashContent

https://gerrit.wikimedia.org/r/1166244