So we have to make a trade-off between the burden on
extension
developers and on core developers. When it seems likely that
basically no non-public extension/skin uses the feature, I think it's
reasonable to say that we should do what's easiest for core
developers. If a few people out there who didn't put their extensions
where we can see them have to go to some trouble, that's life.
I agree that there is a trade-off to be done.
I disagree about expecting code to be put where it is visible to core
developers. I do appreciate that you go and look for where the
functionality that you are working on is used outside core. But
ultimately MW is publishing a public interface and it is unreasonable
to expect all consumers of that interface to "register" and publish
their code as well.
It is a
one-line change from your perspective. For the maintainer it will be picking up the
extension ...
You're right, but all that is just as true if we had deprecated the
feature per the policy.
The difference is that in that case the test would have run through,
throwing just a notice and the call to the deprecated function could
have been removed another day. Of course, if they did not want to deal
with breakages, that maintainer should not have pulled MW master in
the first place and should have just worked on whatever MW version
they left off of a few months ago when they last worked on their
extension.
You're talking about someone who didn't check
the release notes before upgrading to find out if his extension used
any removed features, so presumably he also doesn't check the release
notes for deprecated features. Either way, the release notes do say
that it was removed (easily searchable by method name) and what to do
instead. (Although in this case I think the "what to do instead" in
the release notes could be improved upon.)
True. I don't know how other people do it, but I usually only scan the
release notes for big changes and otherwise rely on deprecation notes
to pop up. Doing otherwise would require me to maintain a register of
all MW core functions called from my extensions and cross-checking it
by hand.
Stephan