add some documentation on new/changed settings
[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.9 ==
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 development happen
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 ==
22
23 Several configuration options have changed since 1.8:
24
25 === $wgEnableAPI ===
26
27 The experimental machine API interface is now enabled by default, read-only.
28 You can disable it by setting $wgEnableAPI = false; in LocalSettings.php.
29
30 === $wgPathInfo ===
31
32 The use of PATH_INFO (the text after the script name in 'index.php/Blah')
33 is controlled by the $wgUsePathInfo setting. This is now explicitly disabled
34 for CGI, apache2filter, and ISAPI configurations of PHP, for more consistency
35 with the autodetection from the installer.
36
37 In some rarer configurations you may have to switch $wgUsePathInfo from false
38 to true or, perhaps, from true to false to make things work properly if bad
39 PATH_INFO data comes through the server.
40
41 The wiki now tries to detect this condition and should show you an error
42 message describing what to change instead of sending the browser into an
43 infinite redirect loop.
44
45 === $wgScript and other path settings ===
46
47 The following configuration variables are now automatically set in Setup.php
48 if they are not overridden in LocalSettings.php:
49
50 from $wgScriptPath:
51 + $wgScript
52 | \- $wgArticlePath
53 + $wgRedirectScript
54 + $wgStylePath
55 + $wgUploadPath
56 \- $wgLogo
57 + $wgMathPath
58
59 from $IP:
60 - $wgStyleDirectory
61 + $wgUploadDirectory
62 \- $wgMathDirectory
63 + $wgTmpDirectory
64
65 Newly generated configuration files will by default include only $wgScriptPath
66 (hardcoded from the installer) and $IP (detected at runtime).
67
68 Old configuration files which specify all these values explicitly should
69 continue to work just fine, but if you use the defaults you can remove them
70 to reduce clutter.
71
72 === $wgGroupPermissions ===
73
74 The sysop group now holds the "autopatrol" and "ipblock-exempt" rights by
75 default.
76
77 "autopatrol" replaces the preference for marking ones own edits patrolled
78 by default; users holding this permission will automatically have their
79 edits patrolled, while others cannot mark their own edits as patrolled
80 even if they have patrolling rights.
81
82 "ipblock-exempt" excludes the user from IP blocks; accounts which are blocked
83 explicitly by name will still be blocked, however. This is given to sysops
84 to minimize annoyance from accidental "collateral damage"; remember that a
85 sysop will be able to lift the block if they desire.
86
87 The bot group now holds the "nominornewtalk" right. A user with this right
88 will not trigger new message notifications when making minor edits to user
89 talk pages. This is meant to minimize annoyance from maintenance bot
90 processes.
91
92 === $wgUseWatchlistCache ===
93
94 Watchlist caching has been removed. The feature was not maintained, and has
95 been unnecessary since switching to the 'recentchanges' database table
96 reduced server pressure for Wikipedia's watchlists.
97
98 === $wgBreakFrames ===
99
100 MediaWiki in the past attempted to detect when it was embedded in a frameset
101 and "break out" of it, assuming it to be hostile.
102
103 This behavior is now disabled by default, but can be reenabled by setting
104 $wgBreakFrames to true in LocalSettings.php.
105
106
107 == New settings ==
108
109 === $wgVariantArticlePath ===
110
111 For languages with script variant support (Chinese, Serbian, and others),
112 it's possible to use alternate URL paths to select the variant for article
113 display, setting $wgVariantArticlePath.
114
115 Documentation for this setting would be useful.
116
117 === $wgMaxMsgCacheEntrySize ===
118
119 The message cache can now skip items larger than a given size; this allows
120 it to better handle the primary caching case when large CSS and JS blobs are
121 present.
122
123 === $wgStyleVersion ===
124
125 When making significant changes to skin stylesheets and JavaScript files,
126 you can append a string to this variable to tweak the generated URLs,
127 forcing newly rendered pages to bring in a fresh version despite server-
128 or browser-side caching.
129
130 Normally this will be set in the course of MediaWiki development, but
131 if doing development on a custom skin you may wish to poke it as well.
132
133 === $wgRCShowChangedSize ===
134
135 Special:Recentchanges and Special:Watchlist now show the number of bytes
136 added or removed to an article to give an idea of the size of the edit.
137 This information was previously available only in the IRC update feeds.
138
139 To disable this site-wide, set $wgRCShowChangedSize to false.
140 (Individual users can suppress the data in custom CSS.)
141
142 Adjust $wgRCChangedSizeThreshold to trigger highlighting of particularly
143 large changes.
144
145 The formatting of the size figure can be adjusted through the
146 [[MediaWiki:Rc-change-size]] message.
147
148 === $wgQueryCacheLimit ===
149
150 The number of rows stored for "expensive" special pages in miser mode
151 can now be adjusted up or down from the default 1000.
152
153 === $wgDisableQueryPageUpdate ===
154
155 Individual "expensive" special pages can be skipped in processing by
156 updateSpecialPages if added to this list.
157
158 === $wgSorbsUrl ===
159
160 The base hostname for the DNS-based proxy blacklist can now be overridden
161 when $wgEnableSorbs is set, to use a different blacklist instead of SORBS.
162 The blacklist would need to respond the same was as SORBS; any positive
163 response will be taken as a proxy.
164
165 === $wgAjaxWatch ===
166
167 Experimental AJAX mode for the watch/unwatch tabs to execute inline.
168 Does not include the UI messages describing how to reach the watchlist,
169 so you may not want it on a general-audience site just yet.
170
171 === $wgParserTestFiles ===
172
173 MediaWiki's parser test suite can now be expanded with additional test
174 files. Custom extensions can add their test files to this array, and
175 they will be run along with the main tests by maintenance/parserTests.php
176
177
178 == Major new features ==
179
180
181 == Changes since 1.8 ==
182
183 * (bug 8200) Make category lists sorted by name when using Postgres.
184 * (bug 7841) Support 'IGNORE' inserts for Postgres, fixes watchlist
185 adding problem.
186 * (bug 6835) Removing the includes/Parser.php::getTemplateArgs() function,
187 because it seems to be unused.
188 * (bug 7139) Increasing the visual width of the edit summary field on larger
189 screen sizes, for the default monobook skin.
190 * Fix PHP notice and estimates for dumpBackup.php and friends
191 * Improved register_globals paranoia checks
192 * (bug 7545) Fix PHP version check on install
193 * Disable PHP exception backtrace printing unless $wgShowExceptionDetails
194 is set. Backtraces may contain sensitive information in function call
195 parameters.
196 * (bug 6164) Avoid smashing Cite state if message transformation triggers
197 during bad image list check, by skipping message transformation.
198 This isn't a good permanent fix.
199 * (bug 6918) Stopped borders and backgrounds from showing through floated
200 tables in Monobook
201 * (bug 6868) Un-hardcode section edit link style
202 * (bug 3205) Stop right floats from stacking horizontally in non-Monobook skins
203 * Added global $wgStyleVersion to centralize bumping CSS and JS file versions
204 for cache-friendly style and script updating
205 * (bug 7562) Fix non-ASCII namespaces on Windows/XAMPP servers
206 * Friendlier check for PHP 5 in command-line scripts; it's common for parallel
207 PHP 4 and 5 installations to interfere on the command-line.
208 * Fix regression in autoconfirm permission check
209 * (bug 3015) Add CSS ids to subcategory and page sections on category pages
210 * (bug 7587) Fix erroneous id for specialpage tab, enabling informative popup
211 * (bug 7599) Fix thumbnail purging, PHP notices on HTCP image page purge
212 * (bug 7581) Update language name for cbk-zam
213 * (bug 7444) Update namespace translations for Telugu (te), kept old values as
214 alias for compatibility
215 * (bug 4525) Move section links down visually to same level as headings
216 (editsection links are now inside the heading elements)
217 * Workaround for http://bugs.php.net/bug.php?id=31892 , PATH_INFO and hence
218 URLs of the style /index.php/Main_Page were broken on some CGI installations.
219 * (bug 7623) Validate custom HTML id's correctly in Monobook interface
220 * (bug 2241) Fix collision of 'w' and 'd' accesskeys
221 * (bug 5795) CSS class added to body based on page name for page-specific
222 styling
223 * (bug 6276) Stopped search field from getting too large in Cologne Blue
224 * (bug 7644) User creations that are aborted by hooks shouldn't be counted
225 against account creations per day limit
226 * (bug 7636) Show Firefox 2 users correct accesskey prefix
227 * (bug 6427) Block blocked IPs from using the mail password function
228 to allow blocking of flooders
229 * Include common.css from classic-style skins in main HTML with the bump URL
230 * (bug 7607) Add Karakalpak (kaa) to Names.php and stub message file for linktrail
231 * (bug 7582) Add 'tog-nolangconversion' to MessagesEn.php.
232 This key is need for languages with variants (zh, sr, kk)
233 * (bug 7606) MediaWiki messages for "rss" and "atom" missing
234 * (bug 7609) Add some more '*-summary' messages to MessagesEn.php with empty
235 strings to allow better localisation via Special:Allmessages. Mark this new
236 messages as optional for localisation.
237 * Fix user_newpass upgrade for prefixed tables (reported by Fyren)
238 * (bug 7663) Include language variant switcher links on Nostalgia skin
239 * (bug 6531) Fix PHP fatal error on installation page with bad username input.
240 * (bug 6977) Remove 404 link for autogenerated database documentation.
241 * (bug 7369) Allow "Show Changes" without requiring edit token.
242 * (bug 7687) Fix movetalk box checks itself when confirming a delete and move.
243 * (bug 7684) Obey watchcreated preference for Special:Upload watch checkbox
244 * (bug 7686) Include id attribute on delete form confirmation button
245 * Allow compound interwiki prefixes in $wgImportSources
246 * (bug 7304) Added redirect table to store redirect targets.
247 * Added querycachetwo table (similar to querycache but has two titles)
248 * PageArchive can now return a Revision object for more convenient processing
249 of deleted revision data
250 * Added 'UndeleteShowRevision' hook in Special:Undelete
251 * Error message on attempt to view invalid or missing deleted revisions
252 * Remove unsightly "_" from namespace in Special:Allpages, Special:Prefixindex
253 * (bug 3224) Allow minor edits by bots to skip new message notification on
254 user talk pages. This can be disabled by adjusting the 'nominornewtalk'
255 permission. Patch by Werdna.
256 * (bug 7741) MATH: fixed broken syntax of underbrace etc. Fixed arrays
257 * Fix purging for updated SVG files
258 * (bug 7745) Add id attribute to search button in Monobook
259 * (bug 7749) MATH: added some more LaTeX symbols, e.g. parallel, diamond, ast, ...
260 * (bug 7304) Added code in Article.php to keep redirect table up to date.
261 * Made special page names case-insensitive and localisable. Care has been taken
262 to maintain backwards compatibility.
263 * Used special page subpages in a few more places, instead of query parameters.
264 * (bug 7758) Added wrapper span to "templates used" explanation to allow CSS
265 styling (class="mw-templatesUsedExplanation").
266 * Added {{#special:}} parser function, to give the local default title for
267 special pages
268 * (bug 7766) Remove redundant / from AJAX requests, can break some servers
269 * Add tab links from extensions to classic-based skins (SkinTemplateTab hook)
270 Provides better cross-skin compatibility for extensions using the modern
271 skin hooks, such as Oversight
272 * Moved variant language links on Cologne Blue and Nostalgia to before the
273 login/logout link
274 * Fix for parser tests with MySQL 5 in strict mode
275 * Added block option "enable autoblocks"
276 * Amend Special:Ipblocklist to note when a block has autoblock DISABLED.
277 * (bug 7780) Fix regression in editing redirects
278 * Add whitespace above "templates included on this page" using CSS, not
279 hardcoded line break.
280 * Remove entries from redirect table on article deletion
281 * (bug 7788) Force section headers in new section links for users who have
282 'prompt for blank edit summaries' on.
283 * (bug 1133) Special:Emailuser: add an option to send yourself a copy of your mail.
284 * (bug 461) Allow "Categories:" link at bottom of pages to be customized via
285 pagecategorieslink message.
286 * Sort the list of skins in "My Preferences" -> Skins by alphabetical order.
287 * (bug 7785) Postgres compatibility for timestamps in RC feeds
288 * (bug 7550) Normalize user parameter normally on Special:Log
289 * (bug 7294) Fix PATH search for diff3 on install
290 * Various fixes related to the blocking change re: autoblocks. On inserting
291 an IP block, the ipb_enable_autoblock field is now automagically blanked,
292 because it doesn't make any sense for an IP. Additionally, IP blocks
293 without the ipb_enable_autoblock option no longer show up as "autoblock
294 disabled" on Special:Ipblocklist.
295 * (bug 7774) MATH: aded more amstex functions
296 * (bug 1182) MATH: fixed inconsistent rendering of upper case Greek letters in TeX
297 * Fix regression in streaming page dump generation
298 * (bug 7801) Add support for parser function hooks in parser tests
299 * checkUsernames.php now uses wfDebugLog instead of hardcoded path to log
300 * (bug 7810) Update talk namespaces for Occitan
301 * Allow case-sensitive URLs to be used for uploading from URLs.
302 * (bug 1109) Correct fix for compressed 304 responses when additional output
303 buffers have been installed within the compression handler
304 * (bug 7819) Move automatic redirect edit summary after pre-save transform
305 to work properly with subst: fun
306 * (bug 7826) Fix typos in two English messages.
307 * (bug 5365) Stop users being prompted to enter an edit summary for null edits,
308 if they have selected that option in preferences.
309 * (bug 5936) Show an 'm' to the left of the edit summary on diff pages for minor edits.
310 * (bug 7820) Improve error reporting for uploads via URL.
311 * (bug 5149) When autoblocks are enabled, retroactively apply an autoblock to the most
312 recently used IP of a user when they are blocked.
313 * Add an index on (rc_user_text,rc_timestamp) on the recentchanges table. This will
314 make CheckUser.php and the new retroactive autoblock functionality faster.
315 * Fix regression in Special:Undelete for revisions deleted under MediaWiki 1.4
316 with compression or legacy encoding
317 * (bug 6737) Fixes for MySQL 5 schema in strict mode
318 * Approximate height for client-side scaling fallback instead of passing -1
319 into the HTML output.
320 * Make the DNSBL to check for proxy blocking configurable via $wgSorbsUrl
321 * Add experimental recording/reporting mode to parser tests runner, to
322 compare changes against the previous run.
323 Additional tables 'testrun' and 'testitem' are in maintenance/testRunner.sql,
324 source this and pass --record option to parserTests.php
325 * Make the set of default parser test input files extensible via
326 $wgParserTestFiles. This can now be appended to by extensions or local
327 configuration files so that extension or custom tests can be automatically
328 run along with the main batch.
329 * Run PHP install version checks on update.php so command-line updaters see
330 new version requirements
331 * Do a check for the PHP 5.0.x 64-bit bug, since this is much more disruptive
332 as of MW 1.8 than it used to be. Install or upgrade now aborts with a
333 warning and a request to upgrade.
334 * (bug 6440) Updated indexes to improve backlinking queries (links, templates, images)
335 * Switched 'anon-only' block mode to default for IP blocks
336 * (bug 3687, 7892) Add distinct heading for media files in category display,
337 with count.
338 * (bug 1578) Add different icons for external links to audio, video, or PDF in
339 Monobook.
340 * Made autoblocks block account creation if the user block has that option enabled.
341 * Add auto-summaries to blankings and large removals without summaries.
342 * (bug 7811) Allow preview of edit summaries.
343 * (bug 6839) Wikibits.js minor changes to make JS-lint happier.
344 * (bug 7932) Make sure that edit toolbar clears floats so it appears correctly.
345 * (bug 6873) When viewing old revisions, add link to diff to current version.
346 * (bug 3315) Provide rollback link directly on history page.
347 * Replace 'old-revision-navigation' message with 'revision-info' and
348 'revision-nav' messages, wrapped in divs with appropriate id's.
349 * (bug 4178) MediaWiki:Common.js will now be included for all users if
350 $wgUseSiteJs is enabled, in addition to (if applicable) MediaWiki:Monobook.js
351 and user JS subpages.
352 * (bug 7918) "Templates used on this page" changes during preview to reflect
353 any added or removed templates, and works as expected for section edits.
354 * (bug 7919) "Templates used on this page" is now shown for read-only pages.
355 * (bug 7688) When viewing diff, section anchors in autosummary jump to section
356 on current page instead of loading the latest version.
357 * (bug 7970) Use current connection explicitly on Database::getServerVersion
358 * (bug 2001) Tables with class="sortable" can now be dynamically sorted via
359 JavaScript.
360 * Added autosummary for new pages with 500 or less characters, and refactor
361 the autosummary code so it's all done in one function. doEdit is getting too
362 big!
363 * (bug 7554) The correct MIME type for SVG images is now displayed on the
364 image page (image/svg+xml, not image/svg).
365 * (bug 7883) Added autoblock whitelisting feature, using which specific ranges
366 can be protected from autoblocking. These ranges are specified, in list format,
367 in the autoblock_whitelist system message.
368 * Added placeholders for text injection by hooks to EditPage.php
369 * (bug 8009) Automatic edit summary for redirects is not filled for edits in existing pages
370 * Installer support for experimental MySQL 4.1/5.0 binary-safe schema
371 * Use INSERT IGNORE for db-based BagOStuff add/insert, for more memcache-like
372 behavior when keys already exist on add (instead of dying with an error...)
373 * Add a hook 'UploadForm:initial' before the upload form is generated, and two
374 member variable for text injection into the form, which can be filled by the hooks.
375 * (bug 6295) Add a "revision patching" functionality, where an edit can be undone
376 (with a functionality similar to diff rev1 rev2 | patch -R rev3 -o rev3).
377 This is triggered by including &undo=revid in an edit URL. A link to a URL
378 that will undo a given edit is shown on NEW revision headers on diff pages.
379 The link leads to a "Show Changes" page showing what will be done to undo the
380 edit.
381 * Fix display of link in "already rolled back" message for image/category pages
382 * (bug 6016) Left-aligned images should stack vertically, like right-aligned
383 images, not horizontally.
384 * Patch from LeonWP: added UploadForm:BeforeProcessing hook in SpecialUpload.php
385 * Add AuthPluginSetup hook to override $wgAuth after configuration
386 * Fix regression in authentication hook auto-creation on login
387 * (bug 8110) Allow spaces in ISBNs
388 * (bug 8024) Introduce "send me copies of emails I send to others" preference
389 * Added 'EditPage::attemptSave' hook before an article is saved.
390 * (bug 8083) Applied patch for sk localisation
391 * Add a backslash character to the edit token, to prevent edits via certain
392 broken proxies that mangle such characters in form submissions
393 * (bug 7461) Allow overwriting pages using importTextFile.php
394 * (bug 7946) importTextFile.php doesn't perform pre-save transform
395 * (bug 8117) {{REVISIONTIMESTAMP}} showed weird default if $wgLocalTZoffset set;
396 now uses current time for previews and if timestamp can't be loaded from DB
397 * {{REVISIONTIMESTAMP}} now uses site local timezone instead of user timezone
398 to ensure consistent behavior
399 * {{REVISIONTIMESTAMP}} and friends should now work on non-MySQL backends
400 * (bug 7671) Observe canonical media namespace prefix in Linker::formatComment
401 * Added js variable wgCurRevisionId to the output
402 * (bug 8141) Cleanup of Parser::doTableStuff, patch by AzaTht
403 * (bug 8042) Make miser mode caching limits settable via $wgQueryCacheLimit
404 instead of hardcoding to 1000
405 * Enable QueryPage classes to override list formatting
406 * (bug 5485) Show number of intervening revisions in diff view
407 * (bug 8100) Fix XHTML validity in Taiwanese localization
408 * Added redirect to section feature. Use it wisely.
409 * Added a configuration variable allowing the "break out of framesets" feature
410 to be switched on and off ($wgBreakFrames). Off by default.
411 * Allow Xml::check() $attribs parameter to override 'value' attribute
412 * DB schema change: added two columns (rc_old_len and rc_new_len) to the recentchanges table to store
413 the text lengths before and after the edit
414 * (bug 1085) Made Special:Recentchanges show the character difference between the changed revisions
415 * Removed a redundant <strong> tag from diff pages that was causing display issues for some users
416 * (bug 8203) The keyboard shortcut for "log out" was removed, because users were pressing it
417 when they intended to press the shortcut for "preview".
418 * (bug 8148) Handle non-removable output buffers gracefully when cleaning
419 buffers for HTTP 304 responses, StreamFile, and Special:Export.
420 Duplicated code merged into wfResetOutputBuffers() and wfClearOutputBuffers()
421 * Special:AllPages : 'next page' link now point to the first title of the next
422 chunk instead of pointing to the last title of current chunk.
423 * (bug 4673) Special:AllPages : add a 'previous' link (new message 'prevpage')
424 * (bug 8121) wfRandom() was not between 0 and 1
425 * Add static method Parser::createAssocArgs($args), so parser functions can
426 use the same code to parse arguments as the templates do.
427 * Change behavior of logins using the temporary e-mailed password (as stored
428 in user_newpassword hash field). Instead of just logging in silently and
429 leaving the previous user_password field in place indefinitely, the user
430 is now prompted to set a new password.
431
432 The password-changing form is at Special:Resetpass; currently it's only
433 usable for changing from the temporary password during login, but it
434 could perhaps be generalized, replacing the subform in preferences.
435
436 Once the new password is set successfully, the temporary password is wiped
437 so it cannot be used to login a second time, and the login process
438 is completed.
439 * Suppress 'mail new password' button on login form if $wgAuth forbids
440 changing user passwords; it wouldn't work very well...
441 * Consolidate password length checks and $wgAuth manipulation into
442 User::setPassword() to avoid duplicate code in different places
443 that set passwords.
444 * User::setPassword() now throws PasswordError exceptions if the password
445 is illegal or cannot be set via $wgAuth. These can be caught and a human-
446 readable error message displayed by UI code.
447 * Added Title::isSubpage()
448 * (bug 8241) Don't consider user pages of User:Foo.css to be CSS subpages
449 * Set an explicit class on framed thumbnail inner divs and images, changed some
450 CSS to use these instead of using descendent selectors.
451 * Accept null parameter to User::setPassword() as indicating the password
452 field should be cleared to an unusable state. Login will only be possible
453 after the password is reset, for instance by e-mail.
454 * (bug 6394) Invalidate the password set for "by e-mail" account creations
455 to avoid accidental empty password creations.
456 * Made the show change size function work on page moves, page creations, and
457 log entries. Also fixed it in the javascript recentchanges.
458 * (bug 8239) correctly get 50 new contributions when clicking '(50 next)'
459 * (bug 2259) Fix old regression where e-mail addresses were no longer
460 confirmed on login with mailed password.
461 * Add a notification about the confirmation mail sent during account
462 creation, so people don't immediately go off to request a second one.
463 * Add a warning on Special:Confirmemail if a code was already sent and has
464 not yet expired.
465 * Add user_editcount field to provide data for heuristics on account use.
466 Incremented on edit, with lazy initialization from past revision data.
467 Can batch-initialize with maintenance/initEditCount.php (not yet friendly
468 to replication environments, this will do all accounts in one query).
469 * Allow raw SQL subsections in Database::update() SET portion as well as
470 for WHERE portion. Handy for increments and such.
471 * User::getOption now accept a default value to override default user values
472 this makes it consistent with WebRequest::get* methods. Corrected code in
473 various places accordingly.
474 * (bug 8264) Fix JavaScript global vars for XHTML mode
475 * Make $wgSiteNotice value wikitext again, for consistency with editable
476 MediaWiki:Sitenotice and MediaWiki:Anonnotice.
477 * (bug 8044) When redirecting from the canonical name of the special page
478 to the localised one, parameters/subpages are omitted
479 * (bug 8164) Special:Booksources should use GET for form submission
480 * Rewrite Special:Booksources to clean up interface and remove redundant code
481 * (bug 7925) Change Special:Allmessages message name filter javascript to be
482 a bit more responsive and easier on the CPU
483 * (bug 4488) Support watching pages on deletion; introduces new user preference
484 * Minor restructuring of Special:Preferences; "watch pages I edit" and "watch
485 pages I create" options now accessible under "Watchlist" options
486 * (bug 8153) <nowiki> doesn't work in site notice
487 * (bug 6690) wfMsgNoTrans() transforms messages
488 * (bug 8274) Wrap edit tools in a <div> with a specified class
489 * Detect PHP 5.0.x 64-bit bug and abort in WebStart.php; too many things break
490 mysteriously otherwise (detection code copied from install-utils.inc)
491 * (bug 8295) Change handling of <center> tags in doBlockLevels() to match that
492 of <div>
493 * (bug 8110) Make magic ISBN linking stricter: only match ten-digit sequences
494 (plus optional ISBN-13 prefix) with no immediately following alphanumeric
495 character, disallow multiple consecutive internal redirects
496 * (bug 2785) Accept optional colon prefix in links when formatting comments
497 * Don't show "you can view and copy the source of this page" message for
498 pages which don't exist
499 * (bug 8310) Blank line added to top of 'post' when page is blank
500 * (bug 8109) Template parameters ignored in "recentchangestext"
501 * Gracefully skip redirect-to-fragment on WebKit versions less than 420;
502 it messes up on current versions of Safari but is ok in the latest
503 nightlies. Checking the version number will allow it to automatically
504 work when new releases of Safari appear.
505 * Fix regression in thumb styles; size and padding didn't match with
506 new arrangement.
507 * (bug 8333) Fix quick user data update on login password change on
508 replication database setups. User data is now pulled from master
509 instead of slave in User::loadFromDatabase, ensuring that it is
510 fresh and accurate when read and then saved back into cache.
511 This was breaking with the Special:Rename operation which
512 automatically logs the user in with the new password after changing
513 it; pulling from slave meant the record was often not the updated
514 one.
515 * (bug 8335) Set image width to the first valid parameter found.
516 * (bug 8350) Fix watchlist viewing bug when using Postgres.
517 * (bug 6603) When warning about invalid file extensions, output the bit
518 of the extension we actually checked
519 * (bug 7669) Drop defaults on BLOB/TEXT columns for better compatibility
520 with MySQL's strict mode, often enabled by the Windows installer.
521 The defaults are ignored anyway when strict mode is off...
522 * (bug 7685) Use explicit values for ar_text and ar_flags when deleting,
523 for better compatibility with MySQL's strict mode
524 * Update default interwiki values to reflect changed location of ursine:
525 * (bug 5411) Remove autopatrol preference
526 * Users who have the "autopatrol" permission will have their edits marked as
527 patrolled automatically
528 * Users who do not have the "autopatrol" permission will no longer be able
529 to mark their own edits as patrolled
530 * Introduce 'PingLimiter' hook; see docs/hooks.txt for more information
531 * (bug 532) Tweaked alt text for some interface messages
532 * (bug 8231) Gave useful alt text to the main <img> on image pages
533 * (bug 371) Remove alt text for "Enlarge" icon on thumbnails
534 * Initialize user_editcount to 0 instead of NULL for newly created accounts
535 * (bug 3696) Strip LRM and RLM characters from titles to work around the
536 problem some people have where titles cut-and-pasted from lists include
537 the bidi override characters appended to the lists.
538 A more thorough blacklist for forbidden and translatable characters would
539 be wise, though, as might a cleaner method for the lists in the first place.
540 * Fix regression in email password resets on read-restricted sites
541 * Set tabindex on fields in deletion form so you don't have to tab through
542 the links in the sitenotice
543 * (bug 8271) Show full time and date on viewer for individual deleted
544 revisions
545 * (bug 8214) Output file size limit and actual file size in appropriate units
546 on Special:Upload
547 * (bug 8016) Purge objectcache table during upgrade processes - use the --nopurge
548 option to prevent this when running maintenance/update.php
549 * (bug 7612) Remove superfluous link to Special:Categories from result items
550 on Special:Mostcategories
551 * {{PLURAL:}} now handles formatted numbers correctly
552 * (bug 8331) Added the change size value to watchlists; therefore made
553 watchlists use RecentChange::newFromRow() instead of newFromCurRow()
554 * (bug 8351) Fix undo for simple reverts
555 * (bug 6856) User::clearNotification() does not respect read-only mode
556 * (bug 6853) Use a checkbox on the installer form to indicate that a superuser
557 account should be used; this is clearer than the old check which relied on
558 the password never being an obscure value
559 * Remove old unused watchlist cache, which was a leftover from the old schema
560 where watchlists were more expensive to generate
561 * Minor cosmetic changes to Special:Userrights
562 * Added wgCanonicalSpecialPageName to JavaScript variables
563 * Fix image deleting when using Postgres.
564 * Output both source and destination titles in maintenance/moveBatch.php
565 * Added basic parser tests for language variants
566 * Enable selflinks and categories to be written in some of the language variants
567 * Prevent conversion of JavaScript code in language variants
568 * Output software version number in maintenance/parserTests.php
569 * (bug 7169) Use Ajax to watch/unwatch articles if enabled
570 * Make variant table caching a little more robust, using main language code
571 in cache key. Probably this is still a bit wonky, though. Was breaking
572 parser tests when Chinese tables were getting loaded into Serbian code.
573 * (bug 8380) Be nicer about blank lines in deleteBatch.php
574 * (bug 8401) Fix regression in SORBS lookup for some DNS setups
575 * Use raw file descriptor in posix_isatty() check to avoid warning on
576 Linux systems with at least some versions of PHP
577 * (bug 5908) Allow overriding the default category sort key for all items on
578 a page using {{DEFAULTSORT}}
579 * (bug 6449) Throw a more definitive error message when installation fails
580 due to an invalid database name
581 * (bug 5827) Use full text for option link labels on Special:Watchlist
582 * (bug 8018) Allow hiding minor edits from the watchlist
583 * (bug 8427) MonoBook RTL IE 7.0 tweaks failed when sidebar's navigation
584 section is renamed; no longer relies on first section name
585 * Stabilize client-side table sorting even if the underlying Javascript sort()
586 implementation is unstable
587 * Add hook for extensions to add user information to the panel in preferences,
588 next to the user name and ID.
589 * (bug 8392) Display protection status of transcluded pages in the edit page
590 template list. Patch by Fyren, with i18n naming tweak.
591 * Fix for interwiki transclusion where target wiki uses query string for title
592 * Resolve namespaces on interwiki Title objects using canonical namespace names
593 if possible (should not happen, though, outside interwiki transclusion... and
594 maybe not even then, but it does)
595 * (bug 8447) Fix SQL typo breaking non-default $wgHitcounterUpdateFreq
596 * Do not allow previews of deleted images to be cached
597 * Add global variable $wgDefaultLanguageVariant used to set the default language
598 variant of a wiki to something different than the main language code
599 * Add 'variant' option to parserTests - runs test with the given variant as
600 preferred, utilize it for more parser tests of language variants code
601 * (bug 6503) Fix bug that stopped certain irrelevant links from being hidden
602 for printing
603 * Avoid PHP warning in Creative Commons metadata when a creative commons
604 license is not actually set up
605 * (bug 8463) Don't print external link icons for Monobook
606 * (bug 8461) Support watching pages on move
607 * (bug 8041) Work around bug with debug_backtrace when Zend Optimizer is
608 loaded by skipping the function. Use wfDebugBacktrace() wrapper function.
609 * Reduce config file clutter by setting various script and upload paths
610 based on $IP or $wgScriptPath in Setup.php. They can still be explicitly
611 overridden in LocalSettings.php if desired...
612 * Attempt to detect redirect loops for the canonical title redirect, and
613 give some hints to the poor confused administrator.
614 * Introduce new flag 'R' - raw output for language variant escape tags
615 * Advise users when updates for a query page have been disabled using
616 $wgDisableQueryPageUpdate
617 * (bug 8413) Improve comments for $wgNamespaceRobotPolicies
618 * (bug 8330) Show "bytes" suffix on recent changes diff counter
619 optionally... if set in rc-changes-size message (default empty for now)
620 * (bug 8489) Support basic links in <gallery> caption attribute
621 * (bug 8485) Correct Lingala number formatting
622 * The MediaWiki namespace is no longer pre-filled with default messages on
623 install. All default messages will be removed from the MediaWiki namespace
624 on upgrade.
625 * Recentchanges RSS/Atom feeds now use a separate message for the description
626 to avoid cluttering it with useless wiki formatting
627 * (bug 8417) Handle EXIF unknown dates
628 * (bug 8372) Return nothing on empty <math> tags.
629 * New maintenance script to show the cached statistics : showStats.php.
630 * Count deleted edits when regenerating total edits in maintenance/initStats.php
631 * (bug 3706) Allow users to be exempted from IP blocks. The ipblock-exempt permission
632 key has been added to enable this behaviour, by default assigned to sysops.
633 * (bug 7948) importDump.php now warn that Recentchanges need to be rebuild.
634 * (bug 7667) allow XHTML namespaces customization
635
636
637 == Languages updated ==
638
639 * Basque (eu)
640 * Bishnupriya Manipuri (bpy)
641 * Cantonese (zh-yue)
642 * Finnish (fi)
643 * Frisian (fy)
644 * German (de)
645 * Hebrew (he)
646 * Indonesian (id)
647 * Italian (it)
648 * Japanese (ja)
649 * Kazakh (kk)
650 * Kongo (kg)
651 * Latin (la)
652 * Limburgish (li)
653 * Lingala (ln)
654 * Lithuanian (lt)
655 * Maltese (mt)
656 * Maori (mi)
657 * Norwegian (no)
658 * Occitan (oc)
659 * Old Church Slavonic (cu)
660 * Polish (pl)
661 * Portuguese (pt)
662 * Ripurian (ksh)
663 * Russian (ru)
664 * Slovak (sk)
665 * Swedish (sv)
666 * Taiwanese/Holo: (bug 8217) changed language code to nan (from zh-min-nan)
667 due to http://www.sil.org/iso639-3/codes.asp?order=639_3&letter=n
668 * Upper Sorbian (hsb)
669 * Vietnamese (vi)
670
671 == Compatibility ==
672
673 MediaWiki 1.9 requires PHP 5 (5.1 recommended). PHP 4 is no longer supported.
674
675 PHP 5.0.x fails on 64-bit systems due to serious bugs with array processing:
676 http://bugs.php.net/bug.php?id=34879
677 Upgrade affected systems to PHP 5.1 or higher.
678
679 MySQL 3.23.x is no longer supported; some older hosts may need to upgrade.
680 At this time we still recommend 4.0, but 4.1/5.0 will work fine in most cases.
681
682
683 == Upgrading ==
684
685 Some minor database changes have been made since 1.7:
686 * new fields and indexes on ipblocks
687 * index change on recentchanges
688
689 Several changes from 1.5 and 1.6 do require updates to be run on upgrade.
690 To ensure that these tables are filled with data, run refreshLinks.php after
691 the upgrade.
692
693 If you are upgrading from MediaWiki 1.4.x or earlier, some major database
694 changes are made, and there is a slightly higher chance that things could
695 break. Don't forget to always back up your database before upgrading!
696
697 See the file UPGRADE for more detailed upgrade instructions.
698
699
700
701 === Caveats ===
702
703 Some output, particularly involving user-supplied inline HTML, may not
704 produce 100% valid or well-formed XHTML output. Testers are welcome to
705 set $wgMimeType = "application/xhtml+xml"; to test for remaining problem
706 cases, but this is not recommended on live sites. (This must be set for
707 MathML to display properly in Mozilla.)
708
709
710 For notes on 1.5.x and older releases, see HISTORY.
711
712
713 === Online documentation ===
714
715 Documentation for both end-users and site administrators is currently being
716 built up on Meta-Wikipedia, and is covered under the GNU Free Documentation
717 License:
718
719 http://www.mediawiki.org/wiki/Documentation
720
721
722 === Mailing list ===
723
724 A MediaWiki-l mailing list has been set up distinct from the Wikipedia
725 wikitech-l list:
726
727 http://mail.wikimedia.org/mailman/listinfo/mediawiki-l
728
729 A low-traffic announcements-only list is also available:
730
731 http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce
732
733 It's highly recommended that you sign up for one of these lists if you're
734 going to run a public MediaWiki, so you can be notified of security fixes.
735
736
737 === IRC help ===
738
739 There's usually someone online in #mediawiki on irc.freenode.net