So the alpha release would have to be tested in a separate environment, with development warnings enabled, and someone actually looking at the log. Typically, people only look at logs after things break.
Is that true? I thought deprecation warnings appeared directly when viewing a page that used the deprecated code - that was my recent experience of this with the WikiPage/Revision stuff that is deprecated in 1.35 - I was experimenting with an extension (in development mode) that hadn't fixed that issue, and the warnings appeared right there on every page.
Arthur
On Mon, Aug 31, 2020 at 6:51 AM Daniel Kinzler dkinzler@wikimedia.org wrote:
Am 28.08.20 um 17:51 schrieb Arthur Smith:
Would it be feasible to put the deprecation notices in an early release candidate, then encourage third party extension creators to try the
release
candidate with deprecation notices so they'll see where there are
problems
in their code, and what they have to do to be ready for the final release where deprecated features are removed?
What you are suggesting sounds like an interesting option to consider - please let me know if I understand your idea correctly:
When code has become obsolete, and we have removed all known usages, we should not remove the old code immediately, but we can tag it for removal *before* the next release (rather than after, per the current policy). The obsolete functionality would remain intact (but emitting warnings) in some kind of alpha-release (even before the "release candidates").
Is that what you have in mind?
What I am wondering is - when people try the alpha release, how would they even notice the deprecation warnings? These warnings are disabled per default, because they would flood the log files on a production site. So the alpha release would have to be tested in a separate environment, with development warnings enabled, and someone actually looking at the log. Typically, people only look at logs after things break.
But if the pre-release is tested in a development environment, what's the advantage of a deprecation warning over a hard error? The only difference I see is the reported log level and type of exception. I'm not sure that's worth the effort.
The same question also arises for the existing long deprecation period. My impression is that the people who should benefit from the long deprecation either notice right away and quickly fix their code (so they don't need the long deprecation), or they don't notice until things break (so they don't need the long deprecation either).
-- Daniel Kinzler Principal Software Engineer, Core Platform Wikimedia Foundation