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(a)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