Localisation updates.
[lhc/web/wiklou.git] / RELEASE-NOTES
1 = MediaWiki release notes =
2
3 Security reminder: MediaWiki does not require PHP's register_globals
4 setting since version 1.2.0. If you have it on, turn it *off* if you can.
5
6 == MediaWiki 1.12 ==
7
8 THIS IS NOT A RELEASE YET
9
10 MediaWiki is now using a "continuous integration" development model with
11 quarterly snapshot releases. The latest development code is always kept
12 "ready to run", and in fact runs our own sites on Wikipedia.
13
14 Release branches will continue to receive security updates for about a year
15 from first release, but nonessential bugfixes and feature developments
16 will be made on the development trunk and appear in the next quarterly release.
17
18 Those wishing to use the latest code instead of a branch release can obtain
19 it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
20
21 === Configuration changes in 1.12 ===
22 * Marking edits as bot edits with Special:Contributions?bot=1 now requires the
23 markbotedit permission, rather than the rollback permission previously used.
24 This permission is assigned by default to the sysop group.
25 * MediaWiki now checks if serialized files are out of date. New configuration
26 variable $wgCheckSerialized can be set to false to enable old behavior (i.e.
27 to not check and assume they are always up to date)
28 * The rollback permission can now be rate-limited using the normal mechanism.
29 * New configuration variable $wgExtraLanguageNames
30 * Behaviour of $wgAddGroups and $wgRemoveGroups changed. New behaviour:
31 * * Granting the userrights privilege allows arbitrary changing of rights.
32 * * Without the userrights privilege, a user will be able to add and/or
33 remove the groups specified in $wgAddGroups and $wgRemoveGroups for
34 any groups they are in.
35 * New permission userrights-interwiki for changing user rights on foreign wikis.
36 * $wgImplictGroups for groups that are hidden from Special:Listusers, etc.
37 * $wgAutopromote: automatically promote users who match specified criteria
38 * The 'rollback' permission now only affects whether rollback is made available
39 through the interface. Users without the rollback permission can still use
40 it by generating the proper token through, e.g., a script. This does nothing
41 but allow automated rollback scripts to operate more efficiently, without al-
42 lowing them to do anything extra.
43
44 === New features in 1.12 ===
45 * (bug 10735) Add a warning for non-descriptive filenames at Special:Upload
46 * Add {{filepath:}} parser function to get full path to an uploaded file,
47 complementing {{fullurl:}} for pages.
48 * (bug 11136) If using Postgres, search path is explicitly set if wgDBmwschema
49 is not set to 'mediawiki', allowing multiple mediawiki instances per user.
50 * (bug 11151) Add descriptive <title> to revision history page
51 * (bug 5412) Add feed links for the site to all pages
52 * (bug 11353) Add ability to retrieve raw section content via action=raw
53 * (bug 6909) Show relevant deletion log lines when uploading a previously
54 deleted file
55 * On SkinTemplate based skins (like MonoBook), omit confusing "edit"/"view
56 source" tab entirely if the page doesn't exist and the user isn't allowed to
57 create it
58 * Clarify instructions given when an exception is thrown
59 * AuthPlugin added strictUserAuth() method to allow per-user override
60 of the strict() authentication behavior.
61 * (bug 7872) Deleted revisions can now be viewed as diffs showing changes
62 against the previous revision, whether currently deleted or live.
63 * Added tooltips for the "Go" and "Search" buttons
64 * (bug 11649) Show input form when Special:Whatlinkshere has no parameters
65 * isValidEmailAddr hook added to User method of that name, to allow, e.g., re-
66 stricting e-mail addresses to a specific domain
67 * Removed "Clear" link in watchlist editor tools, as people were afraid to
68 click it. Existing clear links will fall back to the raw editor, which is
69 very easy to clear your watchlist with.
70 * (bug 1405) Add wgUseNPPatrol option to control patroling for new articles
71 on Special:Newpages
72 * LogLine hook added to allow formatting custom entries in Special:Log.
73 * Support for Iranian calendar
74 * (bug 1401) Allow hiding logged-in users, bots and patrolled pages on
75 Special:Newpages
76 * ChangesListInsertArticleLink hook added for adding extra article info to RC.
77 * MediaWikiPerformAction hook added for diverting control after the main
78 globals have been set up but before any actions have been taken.
79 * BeforeWatchlist hook added for filtering or replacing watchlist.
80 * SkinTemplateTabAction hook added for altering the properties of tab links.
81 * OutputPage::getRedirect public method added.
82 * (bug 11848) Allow URL parameters 'editintro' and 'preload' in Special:Mypage
83 and Special:Mytalk
84 * Add ot=raw to Special:Allmessages
85 * Support for Hebrew calendar
86 * Support for Hebrew numerals in dates and times
87 * (bug 11315) Signatures can be configured in [[MediaWiki:Signature]] and
88 [[MediaWiki:Signature-anon]]
89 * Signatures for anonymous users link to Special:Contributions page rather than
90 user page
91 * Added --override switch for disabled pages in updateSpecialPages.php
92 * Provide a unique message (ipb_blocked_as_range) if unblock of a single IP
93 fails
94 because it is part of a blocked range.
95 * (bug 3973) Use a separate message for the email content when an account is
96 created by another user
97 * dumpTextPass.php can spawn fetchText.php as a subprocess, which should restart
98 cleanly if database connections fail unpleasantly.
99 * (bug 12028) Add Special:Listbots as shortcut for Special:Listusers/bot
100 * (bug 9633) Add a predefined list of delete reasons to the deletion form
101 * Show a warning message when creating/editing a user (talk) page but the user
102 does not exists
103 * (bug 8396) Ignore out-of-date serialised message caches
104 * (bug 12195) Undeleting pages now requires 'undelete' permission
105 * (bug 11810) Localize displayed semicolons
106 * (bug 11657) Support for Thai solar calendar
107 * (bug 943) RSS feed for Recentchangeslinked
108 * Introduced AbortMove hook
109 * (bug 2919) Protection of nonexistent pages with regular protection interface.
110 * Special:Upload now lists permitted/prohibited file extensions.
111 * Split ambiguous filetype-badtype message into two new messages,
112 filetype-unwanted-type and filetype-banned-type.
113 * Added link to the old title in Special:Movepage
114 * On Special:Movepage, errors are now more noticeable.
115 * It is now possible to change rights on other local wikis without the MakeSysop
116 extension
117 * Add HTML ID's mw-read-only-warning and mw-anon-edit-warning to warnings when
118 editing to allow CSS styling.
119 * Parser now returns list of sections
120 * When a user is prohibited from creating a page, a title of "View source"
121 makes no sense, and there should be no "Return to [[Page]]" link.
122 * (bug 12486) Protected titles now give a warning for privileged editors.
123 * (bug 9939) Special:Search now sets focus to search input box when no existing
124 search is active
125 * For Special:Userrights, use GET instead of POST to search for users.
126 * Allow subpage syntax for Special:Userrights, i.e., Special:Userrights/Name.
127 * When submitting changes on Special:Userrights, show the full form again, not
128 just the search box.
129 * Added exception hooks
130 * (bug 12574) Allow bots to specify whether an edit should be marked as a bot
131 edit, via the parameter 'bot'. (Default: '1')
132 * (bug 12611) Bot flag ignored in recent changes
133
134
135 === Bug fixes in 1.12 ===
136
137 * Subpages are now indexed for searching properly when using PostgreSQL
138 * (bug 3846) Suppress warnings from, e.g. open_basedir when scanning for
139 ImageMagick, diff3 et al. during installation [patch by Jan Reininghaus]
140 * (bug 7027) Shift handling of deletion permissions-checking to
141 getUserPermissionsErrors.
142 * Login and signup forms are now more correct for right-to-left languages.
143 * (bug 5387) Block log items on RecentChanges don't make use of possible
144 translations
145 * (bug 11211) Pass, as a parameter to the protectedpagetext interface
146 message, the level of protection.
147 * (bug 9611) Supply the blocker and reason for the cantcreateaccounttext
148 message.
149 * (bug 8759) Fixed bug where rollback was allowed on protected pages for wikis
150 where rollback is given to non-sysops.
151 * (bug 8834) Split off permission for editing user JavaScript and CSS from
152 editinterface to a new permission key editusercssjs.
153 * (bug 11266) Set fallback language for Fulfulde (ff) to French
154 * (bug 11179) Include image version deletion comment in public log
155 * Fixed notice when accessing special page without read permission and whitelist
156 is not defined
157 * (bug 9252) Fix for tidy funkiness when using editintro mode
158 * (bug 4021) Fix for MySQL wildcard search
159 * (bug 10699) Fix for MySQL phrase search
160 * (bug 11321) Fix width of gallerybox when option "width=xxx" is used
161 * (bug 7890) Special:BrokenRedirects links deleted redirects to a non-existent
162 page
163 * Fix initial statistics when installing: add correct values
164 * (bug 11342) Fix several 'returnto' links in permissions/error pages which
165 linked to the main page instead of targetted page
166 * Strike the link to the redirect rather than using an asterisk in
167 Special:Listredirects
168 * (bug 11355) Fix false positives in Safe Mode and other config detection
169 when boolean settings are disabled with 'Off' via php_admin_value/php_value
170 * (bug 11292) Fixed unserialize errors with Postgres by creating special Blob
171 object.
172 * (bug 11363) Make all metadata fields bytea when using Postgres.
173 * (bug 11331) Add buildConcat() and use CASE not IF for DB compatibility. Make
174 oldimage cascade delete via image table for Postgres, change fa_storage_key
175 TEXT.
176 * (bug 11438) Live Preview chops returned text
177 * Show the right message on account creation when the user is blocked
178 * (bug 11450) Fix creation of objectcache table on upgrade
179 * Fix namespace selection after submit of Special:Newpages
180 * Make input form of Special:Newpages nicer for RTL wikis
181 * (bug 11462) Fix typo in LanguageGetSpecialPageAliases hook name
182 * (bug 11474) Fix unintentional fall-through in math error handling
183 * (bug 11478) Fix undefined method call in file deletion interface
184 * (bug 278) Search results no longer highlight incorrect partial word matches
185 * Compatibility with incorrectly detected old-style DJVU mime types
186 * (bug 11560) Fix broken HTML output from weird link nesting in edit comments.
187 Nested links (as in image caption text) still don't work _right_ but they're
188 less wrong
189 * (bug 9718) Remove unnecessary css from main.css causing spacing issues on
190 some browsers.
191 * (bug 11574) Add an interface message loginstart, which, similarly to loginend,
192 appears just before the login form. Patch by MinuteElectron.
193 * Do not cache category pages if using 'from' or 'until'
194 * Created new hook getUserPermissionsErrors, to go with userCan changes.
195 * Diff pages did not properly display css/js pages.
196 * (bug 11620) Add call to User::isValidEmailAddr during accout creation.
197 * (bug 11629) If $wgEmailConfirmToEdit is true, require people to supply an
198 email address when registering.
199 * (bug 11612) Days to show in recent changes cannot be larger than 7
200 * (bug 11131) Change filearchive width/height columns to int for Postgres
201 * Support plural in undeleted{revisions,revisions-files,files}
202 * (bug 11343) If the database is read-only, ensure that undelete fails.
203 * (bug 11690) Show revert link for page moves in Special:Log to allowed users
204 only
205 * Initial-lowercase prefix checks in namespaceDupes.php now actually work.
206 * Fix regression in LinkBatch.php breaking PHP 5.0
207 * (bug 11452) wfMsgExt uses sometimes wrong language object for parsing magic
208 words when called with options ''parsemag'' or ''content''.
209 * (bug 11727) Support plural in 'historysize' message
210 * (bug 11744) Incorrect return value from Title::getParentCategories()
211 * (bug 11762) Fix native language name of Akan (ak)
212 * (bug 11722) Fix inconsistent case in unprotect tabs
213 * (bug 11795) Be more paranoid about confirming accept-encoding header is
214 present
215 * (bug 11809) Use formatNum() for more numbers
216 * (bug 11818) Fix native language name of Inuktitut (iu)
217 * Remove all commas when parsing float numbers in sorted tables
218 * Limit text field of deletion, protection and user rights changes reasons to
219 255 characters (already restricted in the database)
220 * In the deletion default reasons, calculate how much text to get from the
221 article text, rather than getting 150 characters (which may be too much)
222 * Add two messages for Special:Blockme which were used but undefined
223 * (bug 11921) Support plural in message number_of_watching_users_pageview
224 * If an IP address is blocked as part of a rangeblock, attempting to unblock
225 the single IP should not unblock the entire range.
226 * (bug 6695) Fix native language name of Southern Sotho (Sesotho) (st)
227 * Make action=render follow redirects by default
228 * If restricted read access was enabled, whitelist didn't work with special
229 pages which had spaces in theirs names
230 * If restricted read access was enabled, requests for non-existing special pages
231 threw an exception
232 * Feeds for recent changes now provide correct URLs for the change, not just
233 the page
234 * Check for if IP is blocked as part of a range when unblocking (see above bug-
235 fix) was faulty. Now fixed.
236 * Fixed wpReason URL parameter to action=delete.
237 * Do not force a password for account creation by email
238 * Ensure that rate-limiting is applied to rollbacks.
239 * Make a better rate-limiting error message (i.e. a normal MW error,
240 rather than an "Internal Server Error").
241 * Do not present an image bigger than the source when 'frameless' option is used
242 (to be consistent with the 'thumb' option now)
243 * Support {{PLURAL}} for import log
244 * Make sure that the correct log entries are shown on Special:Userrights even
245 for users with special characters in their names
246 * The number of watching users in watchlists was always reported as 1
247 * namespaceDupes.php no longer dies when coming across an illegal title
248 * (bug 12143) Do not show a link to patrol new pages for non existent pages
249 * (bug 12166) Fix XHTML validity for Special:Emailuser
250 * (bug 11346) Users who cannot edit a page can now no longer unprotect it.
251 * (bug 451) Add a generic Traditional / Simplified Chinese conversion table,
252 instead of a Traditional conversion with Taiwan variant, and a Simplified
253 conversion with China variant.
254 * (bug 12178) Fix wpReason parameter to action=delete, again.
255 * Graceful behavior for updateRestrictions.php if a page already has records
256 in the page_restrictions matching its old page_restrictions field.
257 May help with odd upgrade issues or race condition.
258 * (bug 11993) Remove contentsub "revision history"
259 * (bug 11952) Ensure we quote_ident() all schema names as needed
260 inside of the DatabasePostgres.php file.
261 * (bug 12184) Exceptions now sent to stderr instead of stdout for command-line
262 scripts, making for cleaner reporting during batch jobs. PHP errors will also
263 be redirected in most cases on PHP 5.2.4 and later, switching 'display_errors'
264 to 'stderr' at runtime.
265 * (bug 12148) Text highlight wasn't applied to cleanly deleted and added
266 lines in diff output
267 * (bug 10166) Fix a PHP warning in Language::getMagic
268 * Only mark rollback edits as minor if the user can normally mark edits minor
269 * Escape page names in the move successful page (e.g. for pages with two
270 apostrophes).
271 * (bug 12145) Add localized names of kk-variants
272 * (bug 12259) Localize the numbers in deleted pages on the sysop view
273 * Set proper page title for successful file deletion
274 * (bug 11221) Do not show 'Compare selected versions' button for a history page
275 with one revision only
276 * (bug 12267) Set the default date format to Thai solar calender for the Thai
277 language
278 * (bug 10184) Extensions' stylesheets and scripts should be loaded before
279 user-customized ones (like Common.css, Common.js)
280 * (bug 12283) Special:Newpages forgets parameters
281 * (bug 12031) All namespaces doesn't work in Special:Newpages
282 * (bug 585) Only create searchindex replica table for parser tests if db is MySQL
283 * Allow --record option if parserTests.php to work when using Postgres
284 * (bug 12296) Simplify cache epoch in default LocalSettings.php
285 * (bug 12346) XML fix when body double-click and click handlers are present
286 * Fix regression -- missing feed links in sidebar on Special:Recentchanges
287 * (bug 12371) Handle more namespace case variants in namespaceDupes.php
288 * (bug 12380) Bot-friendly EditPage::spamPage
289 * (bug 8066) Spaces can't be entered in special page aliases
290 * Hide undo link if user can't edit article
291 * (bug 12416) Fix password setting for createAndPromote.php
292 * (bug 3097) Inconsistently usable titles containing HTML character entities
293 are now forbidden. A run of cleanupTitles.php will fix up existing pages.
294 * (bug 12446) Permissions check fix for undelete link
295 * (bug 12451) AJAX title normalization tweaks
296 * When a user creating a page is not allowed to either create the page nor edit
297 it, all applicable reasons are now shown.
298 * (bug 11428) Allow $wgScript inside $wgArticlePath when emulating PATH_INFO
299 Fixes 'root'-style rewrite configurations
300 * (bug 12493) Removed hardcoded MAX_FILE_SIZE from Special:Import upload form
301 * (bug 12489) Special:Userrights listed in restricted section again
302 * (bug 12553) Fixed invalid XHTML in edit conflict screen
303 * (bug 12505) Fixed section=0 with action=raw
304 * Do not log user rights change that didn't change anything
305 * (bug 12584) Don't reset cl_timestamp when auto-updating sort key on move
306 * (bug 12588) Fix selection in namespace selector on Special:Newpages
307 * Use only default options when generating RSS and Atom syndication links.
308 This should help prevent infinite link loops that some software may follow,
309 and will generally keep feed behavior cleaner.
310 * (bug 12608) Unifying the spelling of getDBkey() in the code.
311
312
313 == Parser changes in 1.12 ==
314
315 The parser pass order has changed from
316
317 * Extension tag strip and render
318 * HTML normalisation and security
319 * Template expansion
320 * Main section...
321
322 to
323
324 * Template and extension tag parse to intermediate representation
325 * Template expansion and extension rendering
326 * HTML normalisation and security
327 * Main section...
328
329 The main effect of this for the user is that the rules for uncovered syntax
330 have changed.
331
332 Uncovered main-pass syntax, such as HTML tags, are now generally valid, whereas
333 previously in some cases they were escaped. For example, you could have "<ta" in
334 one template, and "ble>" in another template, and put them together to make a
335 valid <table> tag. Previously the result would have been "&lt;table&gt;".
336
337 Uncovered preprocessor syntax is generally not recognised. For example, if you
338 have "{{a" in Template:A and "b}}" in Template:B, then "{{a}}{{b}}" will be
339 converted to a literal "{{ab}}" rather than the contents of Template:Ab. This
340 was the case previously in HTML output mode, and is now uniformly the case in
341 the other modes as well. HTML-style comments uncovered by template expansion
342 will not be recognised by the preprocessor and hence will not prevent template
343 expansion within them, but they will be stripped by the following HTML security
344 pass.
345
346 The rules for template expansion during message transformation were
347 counterintuitive, mostly accidental and buggy. There are a few small changes in
348 this version: for example, templates with dynamic names, as in "{{ {{a}} }}",
349 are fully expanded as they are in HTML mode, whereas previously only the inner
350 template was expanded. I'd like to make some larger breaking changes to message
351 transformation, after a review of typical use cases.
352
353 The header identification routines for section edit and for numbering section
354 edit links have been merged. This removes a significant failure mode and fixes a
355 whole category of bugs (tracked by bug #4899). Wikitext headings uncovered by
356 template expansion or comment removal will still be rendered into a heading tag,
357 and will get an entry in the TOC, but will not have a section edit link.
358 HTML-style headings will also not have a section edit link. Valid wikitext
359 headings present in the template source text will get a template section edit
360 link. This is a major break from previous behaviour, but I believe the effects
361 are almost entirely beneficial.
362
363 The main motivation for making these changes was performance. The new two-pass
364 preprocessor can skip "dead branches" in template expansion, such as unfollowed
365 #switch cases and unused defaults for template arguments. This provides a
366 significant performance improvement in template-heavy test cases taken from
367 Wikipedia. Parser function hooks can participate in this performance improvement
368 by using the new SFH_OBJECT_ARGS flag during registration.
369
370 The pre-expand include size limit has been removed, since there's no efficient
371 way to calculate such a figure, and it would now be meaningless for performance
372 anyway. The "preprocessor node count" takes its place, with a generous default
373 limit.
374
375 The context in which XML-style extension tags are called has changed, so
376 extensions which make use of the parser state may need compatibility changes.
377
378 === API changes in 1.12 ===
379
380 Full API documentation is available at http://www.mediawiki.org/wiki/API
381
382 * (bug 11275) Enable descending sort in categorymembers
383 * (bug 11308) Allow the API to output the image metadata
384 * (bug 11296) Temporary fix for escaping of ampersands inside links in
385 pretty-printed
386 help document.
387 * (bug 11405) Expand templates implementation in the API
388 * (bug 11218) Add option to feedwatchlist to display multiple revisions for each
389 page.
390 * (bug 11404) Provide name of exception caught in error code field of internal
391 api error messages.
392 * (bug 11534) rvendid doesn't work
393 * Fixed rvlimit of the revisions query to only enforce the lower query limit if
394 revision content is requested.
395 * Include svn revision number (if install is checked-out from svn) in siteinfo
396 query.
397 * (bug 11173) Allow limited wikicode rendering via api.php
398 * (bug 11572) API should provide interface for expanding templates
399 * (bug 11569) Login should return the cookie prefix
400 * (bug 11632) Breaking change: Specify the type of a change in the recentchanges
401 list as 'edit', 'new', 'log' instead of 0, 1, 2, respectively.
402 * Compatibility fix for PHP 5.0.x.
403 * Add rctype parameter to list=recentchanges that filters by type
404 * Add apprtype and apprlevel parameters to filter list=allpages by protection
405 types and levels
406 * Add apdir parameter to enable listing all pages from Z to A
407 * (bug 11721) Use a different title for results than for the help page.
408 * (bug 11562) Added a user_registration parameter/field to the list=allusers
409 query.
410 * (bug 11588) Preserve document structure for empty dataset in backlinks query.
411 * Outputting list of all user preferences rather than having to request them by
412 name
413 * (bug 11206) api.php should honor maxlag
414 * Make prop=info check for restrictions in the old format too.
415 * Add apihighlimits permission, default for sysops and bots
416 * Add limit=max to use maximal limit
417 * Add action=parse to render parser output. Use it instead of action=render which is deprecated.
418 * Add rvtoken=rollback to prop=revisions
419 * Add meta=allmessages to get messages from site's messages cache.
420 * Use bold and italics highlighting only in API help
421 * Added action={block,delete,move,protect,rollback,unblock,undelete} and list={blocks,deletedrevs}
422 * Fixed sessionid attribute in action=login
423 * Standardized limits. Revisions and Deletedrevisions formerly using 200 / 10000,
424 now 500 / 5000, in line with other modules.
425 * Added list=allcategories module
426 * (bug 12321) API list=blocks reveals private data
427 * Fix output of wfSajaxSearch
428 * (bug 12413) meta=userinfo missing <query> tag
429 * Add list of sections to action=parse output
430 * Added action=logout
431
432 === Languages updated in 1.12 ===
433
434 * Afrikaans (af)
435 * Akan (ak) (new)
436 * Amharic (am) (new)
437 * Aragonese (an)
438 * Old English (ang) (new)
439 * Arabic (ar)
440 * Aramaic (arc)
441 * Mapudungun (arn) (new)
442 * Assamese (as)
443 * Asturian (ast)
444 * Aymara (ay)
445 * Samogitian (bat-smg)
446 * Boarisch (bar)
447 * Bikol Central (bcl)
448 * Belarusian (be)
449 * Belarusian Taraskievica orthography (be-tarask)
450 * Bulgarian (bg)
451 * Bislama (bi) (new)
452 * Bamanankan (bm)
453 * Bengali (bn)
454 * Bishnupriya Manipuri (bpy)
455 * Breton (br)
456 * Buginese (bug) (new)
457 * Catalan (ca)
458 * Zamboangueño (cbk-zam) (new)
459 * Min Dong (cdo) (new)
460 * Chechen (ce)
461 * Cebuano (ceb) (new)
462 * Cherokee (chr) (new)
463 * Corsican (co) (new)
464 * Crimean Tatar (Cyrillic) (crh-cyrl) (new)
465 * Crimean Tatar (Latin) (crh-latn) (new)
466 * Czech (cs)
467 * Cassubian (csb)
468 * Old Church Slavonic (cu)
469 * Welsh (cy)
470 * Danish (da)
471 * German (de)
472 * German (de-formal) (new)
473 * Zazaki (diq) (new)
474 * Lower Sorbian (dsb) (new)
475 * Middle Dutch (dum) (new)
476 * Divehi (dv)
477 * Ewe (ee) (new)
478 * Greek (el)
479 * English (en)
480 * Spanish (es)
481 * Estonian (et)
482 * Euskara (eu)
483 * Extremaduran (ext)
484 * Finnish (fi)
485 * Persian (fa)
486 * Fulah (ff)
487 * Võro (fiu-vro)
488 * Fijian (fj) (new)
489 * Faroese (fo)
490 * French (fr)
491 * Cajun French (frc)
492 * Franco-Provençal (frp)
493 * Frisian (fy)
494 * Irish (ga)
495 * Gön-gnŷ (gan) (new)
496 * Scottish Gaelic (gd) (new)
497 * Galician (gl)
498 * Gilaki (glk) (new)
499 * Gothic (got) (new)
500 * Ancient Greek (grc) (new)
501 * Swiss German (gsw)
502 * Hakka (hak)
503 * Hawaiian (haw) (new)
504 * Hebrew (he)
505 * Croatian (hr)
506 * Upper Sorbian (hsb)
507 * Haitian Creole French (ht)
508 * Hungarian (hu)
509 * Armenian (hy)
510 * Interlingua (ia)
511 * Indonesian (id)
512 * Interlingue (ie) (new)
513 * Igbo (ig) (new)
514 * Eastern Canadian (Unified Canadian Aboriginal Syllabics) (ike-cans) (new)
515 * Eastern Canadian (Latin) (ike-latn) (new)
516 * Ingush (inh) (new)
517 * Ido (io) (new)
518 * Icelandic (is)
519 * Italian (it)
520 * Japanese (ja)
521 * Georgian (ka)
522 * Kara-Kalpak (kaa)
523 * Kabyle (kab)
524 * Kazakh (kk)
525 * Kazakh Arabic (kk-arab) (new)
526 * Kazakh (China) (kk-cn)
527 * Kazakh Cyrillic (kk-cyrl) (new)
528 * Kazakh (Kazakhstan) (kk-kz)
529 * Kazakh Latin (kk-latn) (new)
530 * Kazakh (Turkey) (kk-tr)
531 * Kalaallisut (kl) (new)
532 * Kannada (kn)
533 * Korean (ko)
534 * Kölsch (ksh)
535 * Kurdish (Arabic) (ku-arab)
536 * Kurdish (Latin) (ku-latn)
537 * Cornish (kw) (new)
538 * Kirghiz (ky) (new)
539 * Latin (la)
540 * Ladino (lad) (new)
541 * Luxembourgish (lb) (new)
542 * Lak (lbe) (new)
543 * Limbugian (li)
544 * Líguru (lij) (new)
545 * Lozi (loz) (new)
546 * Lingala (ln)
547 * Lithuanian (lt)
548 * Moksha (mdf) (new)
549 * Malagasy (mg) (new)
550 * Malayalam (ml)
551 * Macedonian (mk)
552 * Marathi (mr)
553 * Malay (ms)
554 * Erzya (myv) (new)
555 * Nauru (na) (new)
556 * Nahuatl (nah)
557 * Min-nan (nan)
558 * Napolitan (nap)
559 * Low Saxon (nds)
560 * Dutch Low Saxon (nds-nl)
561 * Newari (new) (new)
562 * Dutch (nl)
563 * Norwegian (nynorsk) (nn)
564 * Norwegian (bokmål)‬ (no)
565 * Novial (nov) (new)
566 * Northern Sotho (nso) (new)
567 * Occitan (oc)
568 * Pangasinan (pag) (new)
569 * Papiamento (pap) (new)
570 * Deitsch (pdc) (new)
571 * Polish (pl)
572 * Piemontèis (pms)
573 * Pontic (pnt) (new)
574 * Pashto (ps)
575 * Portugese (pt)
576 * Quechua (qu)
577 * Rhaeto-Romance (rm) (new)
578 * Romanian (ro)
579 * Russian (ru)
580 * Sakha (sah)
581 * Sardinian (sc)
582 * Sicilian (scn)
583 * Scots (sco) (new)
584 * Sindhi (sd)
585 * Sassarese (sdc) (new)
586 * Seri (sei) (new)
587 * Tachelhit (shi)
588 * Slovak (sk)
589 * Southern Sami (sma) (new)
590 * Serbian (Cyrillic) (sr-ec)
591 * Swati (ss) (new)
592 * Saterland Frisian (stq) (new)
593 * Sundanese (su)
594 * Swedish (sv)
595 * Swahili (sw) (new)
596 * Tamil (ta)
597 * Teluga (te)
598 * Tetun (tet) (new)
599 * Tajik (tg)
600 * Thai (th)
601 * Tagalog (tl) (new)
602 * Tonga (to) (new)
603 * Turkish (tr)
604 * Tuvinian (tyv)
605 * Uyghur (ug)
606 * Uzbek (uz)
607 * Venitian (vec)
608 * Vietnamese (vi)
609 * West Flemish (vls)
610 * Volapük (vo)
611 * Walloon (wa)
612 * Wolof (wo)
613 * Wu (wuu) (new)
614 * Yiddish (yi)
615 * Cantonese (yue)
616 * Zhuang (za)
617 * Zealandic (zea)
618 * Chinese (zh)
619 * Old Chinese/Late Time Chinese (zh-classical)
620 * Chinese (Simplified) (zh-hans)
621 * Chinese (Traditional) (zh-hant)
622 * Chinese (Taiwan) (zh-tw)
623
624 == Compatibility ==
625
626 MediaWiki 1.12 requires PHP 5 (5.1 recommended). PHP 4 is no longer supported.
627
628 PHP 5.0.x fails on 64-bit systems due to serious bugs with array processing:
629 http://bugs.php.net/bug.php?id=34879
630 Upgrade affected systems to PHP 5.1 or higher.
631
632 MySQL 3.23.x is no longer supported; some older hosts may need to upgrade.
633 At this time we still recommend 4.0, but 4.1/5.0 will work fine in most cases.
634
635
636 == Upgrading ==
637
638 1.12 has several database changes since 1.11, and will not work without schema
639 updates.
640
641 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
642 new database fields are filled with data.
643
644 If upgrading from before 1.11, and you are using a wiki as a commons repository,
645 make sure that it is updated as well. Otherwise, errors may arise due to
646 database schema changes.
647
648 If you are upgrading from MediaWiki 1.4.x or earlier, some major database
649 changes are made, and there is a slightly higher chance that things could
650 break. Don't forget to always back up your database before upgrading!
651
652 See the file UPGRADE for more detailed upgrade instructions.
653
654
655 === Caveats ===
656
657 Some output, particularly involving user-supplied inline HTML, may not
658 produce 100% valid or well-formed XHTML output. Testers are welcome to
659 set $wgMimeType = "application/xhtml+xml"; to test for remaining problem
660 cases, but this is not recommended on live sites. (This must be set for
661 MathML to display properly in Mozilla.)
662
663 For notes on 1.11.x and older releases, see HISTORY.
664
665
666 === Online documentation ===
667
668 Documentation for both end-users and site administrators is currently being
669 built up on MediaWiki.org, and is covered under the GNU Free Documentation
670 License (except for pages that explicitly state that their contents are in
671 the public domain) :
672
673 http://www.mediawiki.org/wiki/Documentation
674
675
676 === Mailing list ===
677
678 A MediaWiki-l mailing list has been set up distinct from the Wikipedia
679 wikitech-l list:
680
681 http://lists.wikimedia.org/mailman/listinfo/mediawiki-l
682
683 A low-traffic announcements-only list is also available:
684
685 http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
686
687 It's highly recommended that you sign up for one of these lists if you're
688 going to run a public MediaWiki, so you can be notified of security fixes.
689
690
691 === IRC help ===
692
693 There's usually someone online in #mediawiki on irc.freenode.net