Page MenuHomePhabricator

I984b80815633a8 introduces breaking change without deprecation
Closed, ResolvedPublic

Description

https://gerrit.wikimedia.org/r/#/c/311082/ et al. break extensions (SemanticMediawiki's Search.php in particular).

Please revert and properly apply https://www.mediawiki.org/wiki/Deprecation#How_to_deprecate_a_method.2C_function.2C_etc.

Event Timeline

Are we going to do something about this? Is the cited deprecation policy something we care or something we do not care and if we do not care, please communicate this to a wider audience so we know what to expect.

[ This task might be an example for T146965: [RfC] Deprecation policy for PHP code in MediaWiki ]

Well, this might be something for discussion or not but I'd like to see this addressed before [0] becomes a reality in terms of an actionable follow-up.

[0] https://lists.wikimedia.org/pipermail/wikitech-l/2016-October/086859.html

Change 320655 had a related patch set uploaded (by Legoktm):
Restore Database::getSearchEngine()

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

Are we going to do something about this? Is the cited deprecation policy something we care or something we do not care and if we do not care, please communicate this to a wider audience so we know what to expect.

Unfortunately, the Deprecation page on mediawiki.org isn't a policy, it's just a guide.

Change 320658 had a related patch set uploaded (by Legoktm):
Document removal of Database::getSearchEngine()

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

I hope this is an acceptable compromise.

Change 320655 merged by jenkins-bot:
Restore Database::getSearchEngine()

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

Change 320658 merged by jenkins-bot:
Document removal of Database::getSearchEngine()

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

I hope this is an acceptable compromise.

IMO yes. Thanks!
It will allow people to upgrade MW without breaking SMW in the process.

I hope this is an acceptable compromise.

The effort is duly noted but ...

Unfortunately, the Deprecation page on mediawiki.org isn't a policy, it's just a guide.

... again this isn't really helpful when you are an extension developer with a limited amount of free time to provide support in expectancy that something will work (speaking of a public API) for longer then one release cycle.

T149727 captures the mood quite well (whether the solution suggested makes sense or not a different question). MW and its interfaces are an unreliable partner with the change noted in the beginning only one of many that broken with MW 1.28 (e.g. T147550, T148628 that once worked == meaning before 1.28).

Spending hours on tracking down issues or running Travis for more than usual isn't what you want to do as extension developer just to realize "it is not your extension" that broke half way through.

@mwjames: I understand your frustration, and it's something that I'm trying to work on as a whole, but I'd like to keep this task on focus - does the current fix work or does it need something else?

And if there are other bugs that you consider to be regressions, from 1.27, please please tag them as release blockers like this one was.