The params property of the MenuItem class is used all over the core and also extensions. Currently the front end of J4 is broken.
Probably we should even think about removing the deprecated message as it is a hard BC break.
The get/set methods can go. IIRC what was being returned before using a proper data object was a JObject, those were added out of an abundance of caution.
Likewise, the handling in the magic getter/setter can be tightened up to only process the params property.
I agree with this. I would leave the getParams proxy in place and see what breaks. If it's just getParams
that is breaking then let's convert core to the function and mark that singular deprecation for J5
The get/set methods can go. IIRC what was being returned before using a proper data object was a JObject, those were added out of an abundance of caution.
Likewise, the handling in the magic getter/setter can be tightened up to only process the params property.
Lastly, the deprecation should not be reverted in full unless you also want to revert the lazy instantiation of the Registry object the params JSON string is converted into; sooner or later everything should be in the properly typed API and rely less on magic behaviors.