-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I'm happy to announce the availability of the first stable release of the new MediaWiki 1.20 release series.
MediaWiki 1.20 is a large release that contains many new features and bug fixes. This is a summary of the major changes of interest to users. You can consult the RELEASE-NOTES-1.20 file for the full list of changes in this version.
Our thanks go to everyone who helped to improve MediaWiki by testing the beta release and submitting bug reports.
== What's new? ==
MediaWiki 1.20 brings the usual host of various bugfixes and new features.
* Minimum PHP version is now 5.3.2.
* New diff view, greatly improved in clarity especially for whitespace and other small changes and color-blind users.
* New special page Special:MostInterwikis.
* New magic word {{PAGEID}} which gives the current page ID.
* The info action has been reimplemented.
Internationalization:
* New languages supported: Emilian (egl), Tornedalen Finnish (fit), Mizo (lus), Santali (sat), Turoyo (tru)
* New Cyrillic-Latin language converter for Uzbek (uz)
== What's next? ==
=== Next Release ===
Since the Wikimedia Foundation has successfully switched to a biweekly release cycle for their sites, making releases of MediaWiki available on a more regular basis makes sense. As of this release, we plan to release a new version of MediaWiki every six months. This means that version 1.21 of MediaWiki will be released in April or May 2013.
=== Long Term Support ===
We're working closely with Linux distributors to make sure that the MediaWiki bundled in Linux is something that we feel more comfortable supporting. In this vein, MediaWiki 1.19 is being targeted for "long term support". Since Debian (the Linux distribution with the longest release cycle) has a two year cycle between each freeze and we've gotten MediaWiki 1.19 into Wheezy, we'll support MW 1.19 for the next two years. (Thank you especially to MediaWiki developer Platonides for his help in working with the Debian developers.)
Full release notes: https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/core.git;a=blob;f=RELEASE-... https://www.mediawiki.org/wiki/Release_notes/1.20
Frequently asked questions about upgrading: http://www.mediawiki.org/wiki/Manual:FAQ#Upgrading
********************************************************************** Download: http://download.wikimedia.org/mediawiki/1.20/mediawiki-1.20.0.tar.gz
GPG signatures: http://download.wikimedia.org/mediawiki/1.20/mediawiki-1.20.0.tar.gz.sig
Public keys: https://secure.wikimedia.org/keys.html
- -- http://hexmode.com/
Any time you have "one overriding idea", and push your idea as a superior ideology, you're going to be wrong. ... The fact is, reality is complicated -- Linus Torvalds http://hexm.de/mc
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I just tried upgrading from 1.19.2 to 1.20.0. I followed the standard procedure of backing up my DB, extracting the tarball to a new directory, copying over my images, LocalSettings.php, and one custom extension, and running maintenance/upgrade.php. I run a pretty much "vanilla" wiki with one very basic custom extension (which blocks and logs spammers based on block lists) and a custom skin derived from MonoBook.
Everything seemed to be going fine until I attempted to access the main page. I then got a "Fatal exception of type MWException" on an otherwise blank page (500 HTTP error). I went to the "how to debug" page in the Manual (https://www.mediawiki.org/wiki/Debug) and tried turning PHP error reporting with no luck. I turned on the debug log file, with the output inlined below.
I'm no MediaWiki hacker by any means, but from what it looks like the "MagicWord" parser is blowing up on an "invalid magic word" on my main page ("speciale"). That token doesn't look familiar to me, and I have no idea if it actually exists in my main page since I can't exactly look at it at the moment. I'm not familiar enough with the back-end tables to know what to query from where.
For now I'm backing out all my changes and falling back to 1.19.2. I'm the only one with write access to my wiki, but I can't afford the downtime for my readers. I can't seem to get anywhere with this, no matter what I tweak. Any ideas?
Start request GET /wiki/Main_Page HTTP HEADERS: HOST: [REDACTED] USER-AGENT: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0 ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 ACCEPT-LANGUAGE: en-US,en;q=0.5 ACCEPT-ENCODING: gzip, deflate DNT: 1 CONNECTION: keep-alive COOKIE: [REDACTED] PRAGMA: no-cache CACHE-CONTROL: no-cache CACHES: XCacheBagOStuff[main] XCacheBagOStuff[message] XCacheBagOStuff[parser] LocalisationCache: using store LCStore_CDB Fully initialised Warning: no dba extension found, using emulation. IP: [REDACTED] FileCacheBase::isCacheGood: cachetime 20120905165959, touched '' epoch 20121107151229, good Connecting to localhost wikidb... Profiler::instance called without $wgProfiler['class'] set, falling back to ProfilerStub for safety Connected to localhost wikidb. Title::getRestrictionTypes: applicable restrictions to [[Main Page]] are {edit,move} MessageCache::load: Loading en... cache is empty, loading from database, loading FAILED - cache is disabled Unstubbing $wgParser on call of $wgParser::firstCallInit from MessageCache::getParser Parser: using preprocessor: Preprocessor_DOM [5f37a124] /wiki/Main_Page Exception from line 311 of [PATH_TO_WIKI]/includes/MagicWord.php: Error: invalid magic word 'speciale' #0 [PATH_TO_WIKI]/includes/MagicWord.php(236): MagicWord->load('speciale') #1 [PATH_TO_WIKI]/includes/parser/Parser.php(4765): MagicWord::get('speciale') #2 [PATH_TO_WIKI]/includes/parser/CoreParserFunctions.php(74): Parser->setFunctionHook('speciale', Array) #3 [PATH_TO_WIKI]/includes/parser/Parser.php(253): CoreParserFunctions::register(Object(Parser)) #4 [internal function]: Parser->firstCallInit() #5 [PATH_TO_WIKI]/includes/StubObject.php(79): call_user_func_array(Array, Array) #6 [PATH_TO_WIKI]/includes/StubObject.php(99): StubObject->_call('firstCallInit', Array) #7 [PATH_TO_WIKI]/includes/cache/MessageCache.php(829): StubObject->__call('firstCallInit', Array) #8 [PATH_TO_WIKI]/includes/cache/MessageCache.php(829): StubObject->firstCallInit() #9 [PATH_TO_WIKI]/includes/cache/MessageCache.php(807): MessageCache->getParser() #10 [PATH_TO_WIKI]/includes/Message.php(615): MessageCache->transform('$1 - {{SITENAME...', true, Object(Language), Object(Title)) #11 [PATH_TO_WIKI]/includes/Message.php(436): Message->transformText('$1 - - {{SITENAME...') #12 [PATH_TO_WIKI]/includes/Message.php(476): Message->toString() #13 [PATH_TO_WIKI]/includes/OutputPage.php(790): Message->text() #14 [PATH_TO_WIKI]/includes/OutputPage.php(833): OutputPage->setHTMLTitle(Object(Message)) #15 [PATH_TO_WIKI]/includes/Article.php(485): OutputPage->setPageTitle('Main Page') #16 [PATH_TO_WIKI]/includes/actions/ViewAction.php(37): Article->view() #17 [PATH_TO_WIKI]/includes/Wiki.php(427): ViewAction->show() #18 [PATH_TO_WIKI]/includes/Wiki.php(304): MediaWiki->performAction(Object(Article)) #19 [PATH_TO_WIKI]/includes/Wiki.php(536): MediaWiki->performRequest() #20 [PATH_TO_WIKI]/includes/Wiki.php(446): MediaWiki->main() #21 [PATH_TO_WIKI]/index.php(59): MediaWiki->run() #22 {main}
- --
Jeff Darlington General Protection Fault http://www.gpf-comics.com/
What's your custom extension? Does MediaWiki 1.20 work if you disable it? In what language is your wiki? Speciale is the namespace of special pages in Italian, but in this case, it looks like your custom extension is registering 'speciale' as a parser function but it isn't registered as a magic word.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 11/7/2012 5:22 PM, Platonides wrote:
What's your custom extension? Does MediaWiki 1.20 work if you disable it? In what language is your wiki?
It's a modified version of the CheckSpambots extension that hooks into my custom spam block list system. Basically, if someone tries to edit a page, their IP is checked against a few well-known blacklists (StopForumSpam.com, BotScout.com, ProjectHoneyPot.com). If any of these checks come back positive, the user is blocked. There's a bit of caching on my end to prevent overloading the blacklists and it records suspect IPs into a separate database that I use to feed my iptables blocks.
The text "speciale" does not appear anywhere in this code. Disabling the extension has no affect; the MWException is still thrown. The extension works fine under 1.19.x.
I also have a custom skin derived from MonoBook, but disabling this skin and using whatever the default is also has no affect. The exception is still thrown. Nothing I do seems to get this thing to run.
My wiki is in American English.
Speciale is the namespace of special pages in Italian, but in this case, it looks like your custom extension is registering 'speciale' as a parser function but it isn't registered as a magic word.
The text "speciale" appears nowhere in any of my custom code, including the custom extension and the skin. I know nothing about "magic words", so I'm not knowingly registering, defining, or using any. I did a find/grep on the entire code base:
find . -type f -print | xargs grep "speciale"
This returns almost 200 lines, all vanilla MediaWiki code, not my modifications.
includes/parser/CoreParserFunctions.php has a function called "speciale", but I haven't done any digging into the code to see what it does. It's just showing up in the grep results and happened to look suspicious.
- --
Jeff Darlington General Protection Fault http://www.gpf-comics.com/
mediawiki-l@lists.wikimedia.org