* (bug 9472) Invalid XHTML on cached query pages
[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.10 ==
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 ==
22 * A new switch $wgCommandLineDarkBg used by maintenance scripts (parserTests.php).
23 It lets you specify if your terminal use a dark background, the colorized
24 output will be made lighter making things easier to read.
25 * The minimum permissions needed to edit a page in each namespace can now be
26 customized via the $wgNamespaceProtection array. By default, editing pages in
27 the MediaWiki namespace requires "editinterface" permission, as before.
28 * Allow restriction of autoconfirmed permission by edit count. New global setting
29 $wgAutoConfirmCount (defaulting to zero, naturally).
30 * Added rate limiter for Special:Emailuser
31 * Private logs can now be created using $wgLogRestrictions
32
33 == New features since 1.9 ==
34 * (bug 6937) Introduce "statistics-footer" message, appended to
35 Special:Statistics
36 * (bug 6638) List block flags in block log entries
37 * (bugs 5051, 5376) Tooltips and accesskeys no longer require JavaScript
38 * Added SkinTemplateOutputPageBeforeExec hook before SkinTemplate::outputPage()
39 starts page output
40 (http://lists.wikimedia.org/pipermail/wikitech-l/2007-January/028554.html)
41 * Introduce "cascading protection" -- implicit protection on pages transcluded
42 into a page protected with this option enabled
43 * (bug 8567) Added hook RawPageViewBeforeOutput just before the text is blown
44 out in action=raw, so extensions might influence the output.
45 * (bug 3446) Add user preference to hide page content below diffs, can be
46 overridden by adding diffonly=1 or diffonly=0 to the URL of the diff page
47 * Add 'purge' privilege to replace the hardcoded check for login state in
48 determining whether action=purge can be done via GET. Switching the
49 permission on for anons can be helpful for benchmarking.
50 * (bug 7842) Link back to deleted revision list from deleted revision preview
51 * (bug 8619) Add user-aware "unblock" link to Special:Blockip
52 * (bug 8522) Provide a "delete" link on Special:Brokenredirects for users with
53 the appropriate permission
54 * (bug 8628) Add user-aware block list link to Special:Blockip
55 * (bug 8621) Log revisions marked as patrolled
56 * Introduce "BookInformation" hook; see docs/hooks.txt for more details
57 * Add title prefix search for Special:Undelete
58 * Remove full-archive list from Special:Undelete
59 * (bug 8136) Introduce 'ArticleUndelete' hook; see docs/hooks.txt for more info
60 * (bug 8712) Expose user groups as a JavaScript global
61 * Introduce 'CustomEditor' hook; see docs/hooks.txt for more information
62 * New special page, Special:Protectedpages, which shows all protected pages
63 and their protection status (full protection status is not pulled out due
64 to performance considerations, so it just shows "full protected" or
65 "semi protected".
66 * (bug 4133) Allow page protections to be made with an expiry date, in the same
67 format as block expiry dates. Existing protections are assumed to be infinite,
68 as are protections made with the new field left blank.
69 * (bug 8535) Allow certain vertical alignment attributes to be used as image
70 keywords
71 * (bug 6987) Allow perrow, widths, and heights attributes for <gallery>
72 * (bug 3678) Allow disabling MediaWiki:aboutsite in the same way as
73 MediaWiki:Disclaimers; Also means that if any of the footer links are
74 disabled in the wiki's default language (by setting to "-"), they'll also
75 be disabled in other languages too (e.g. if the user specifies uselang=fr).
76 * Sort log types in Special:Log
77 * Added a classname ("mw-toolbar-editbutton") and unique IDs to the edit
78 toolbar buttons
79 * Hide irrelevant block options in Special:Blockip based on whether an
80 IP address/range or username is listed. (Dynamic using JS.)
81 * (bug 9032) Make quickbarSettings localizable through Special:Allmessages
82 * Have a checkered background on images on the description pages and in
83 galeries to make transparency visible.
84 * (bug 7782) Standardisation of file info at image description pages.
85 * (bug 1035) View contributions / recentchanges for an IP range.
86 * (bug 8747) When unwatching pages from Special:Watchlist/edit, put the
87 confirmation messages in a proper list with a CSS class and id.
88 * (bug 9118) Show deletion log on confirmdelete
89 * (bug 9009) Add username entry field to Special:Contributions
90 * (bug 1723) Article size in history
91 * (bug 9223) Disallow magic tilde sequences in page titles and usernames
92 * (bug 6997) Link from Special:log/block to unblock form
93 * (bug 9117) Link from Special:log/delete to undelete form
94 * Link from Special:log/protect to change protection form
95 * (bug 1196) Add IPv6 support added to blocks, more consistancy for IPv6 contribs
96 * (bug 3984) Searching in logs by title%
97 * Show thumbnail of existing image if image exists already under this filename
98 * (bug 5546) Watchlist reflects logged actions like move, protection, undelete
99 * Support protocols other than HTTP in LinkFilter, use $wgUrlProtocols
100 * (bug 3069) Warning on upload of scaled down images
101 Warning on upload of images with uppercase extension if image with lowercase
102 extension exists
103 * (bug 4624) Namespace selection for Special:Whatlinkshere
104 * Introduce PageHistoryBeforeList and PageHistoryLineEnding hooks; see docs/hooks.txt
105 for more information
106 * (bug 9397) Introduce "sp-contributions-footer" and "sp-contributions-footer-anon"
107 messages, shown at the end of Special:Contributions as appropriate for the target
108 * (bug 8421) Expose current action in JavaScript globals (as 'wgAction')
109 * (bug 9069) Use galleries in query pages dedicated to images
110 * (bug 9177) Installer now warns of various conditions affecting session.save_path
111 which can lead to broken session storage
112 * (bug 9046) Special page to list pages without language links
113
114 == Bugfixes since 1.9 ==
115 * (bug 7292) Fix site statistics when moving pages in/out of content namespaces
116 * (bug 8531) Correct local name of Lingála
117 * Made the PLURAL: parser function return singular on -1 per default
118 * Fixed up the AjaxSearch
119 * Fix SpecialVersion->formatCredits input. Version and Url parameters should be
120 null to be treated properly with isset.
121 * Page restrictions moved into a new, dedicated table
122 * Correct tooltip accesskey hint for Opera on the Macintosh
123 (uses Shift-Esc-, not Ctrl-).
124 * (bug 8002) Math should render left-to-right even in right-to-left wikis
125 * Pass e-mail and real name fields to AuthPlugin::addUser, as additional
126 optional fields, which may be considered useful at registration time.
127 * PostgreSQL upgrade scripts fixed and updated
128 * (bug 8613) Fix error when viewing "Recent Changes" and using Postgres.
129 * Initialise site_stats table at upgrade time if data was missing
130 * (bug 7250) Updated Unicode normalization tables to Unicode 5.0
131 * Unmaintained Oracle support files have been removed.
132 * Use browser default for printing size, don't force to 11pt
133 * (bug 8632) Fix regression in page protection null edit update
134 * (bug 8407) Disallow indexing of "printable" versions
135 * (bug 8643) Correctly escape the page-specific CSS class for non-Monobook skins
136 * (bug 8629) Document $wgFilterCallback
137 * (bug 1000) Clarify warning about memory_limit in installer
138 * Suppress PHP warning about set_time_limit in installer when safe mode is on
139 * (bug 3000) Fall back to SCRIPT_NAME plus QUERY_STRING when REQUEST_URI is
140 not available, as on IIS with PHP-CGI
141 * Missing interwiki row for English Wikipedia restored (as "wikipedia:")
142 * use configured cache servers for mctest.php
143 * bucket details in mcc.php
144 * fix input validation and remove debugging code in compressOld
145 * full ID range for moveToExternal
146 * fix resolveStubs.php for compatibility with older serialized data
147 * maximum line length for bar graphs in getLagTimes.php
148 * recognize specieswiki in rebuildInterwiki.inc
149 * profile unicode cleanup in Xml
150 * log slow parses in Article.php
151 * profile wfMsgReal
152 * log mkdir failures
153 * profile AutoLoader
154 * rebuild empty DjVu metadata containing ''
155 * security fix for DjVu metadata retrieval
156 * Undelete page list can use plural marker
157 * (bug 8638) Fix update from 1.4 and earlier
158 * (bug 8641) Fix order of updates to ipblocks table
159 * (bug 8678) Fix detection of self-links for numeric titles in Parser
160 * (bug 6171) Magically close tags in tables when not using Tidy.
161 * Sanitizer now correctly escapes lonely '>' occurring before the first wikitag.
162 * Ignore self closing on closing tags ( '</div />' now gives '</div>')
163 * (bug 8673) Minor fix for web service API content-type header
164 * Fix API revision list on PHP 5.2.1; bad reference assignment
165 * (bug 8688) Handle underscores/spaces in Special:Blockip and Special:Ipblocklist
166 in a consistent manner
167 * (bug 8701) Check database lock status when blocking/unblocking users
168 * ParserOptions and ParserOutput classes are now in their own files
169 * (bug 8708) Namespace translations for Zealandic language
170 * Renamed constructor methods to PHP 5 __construct reserved name
171 * (bug 8715) Warn users when editing an interface message whether or not the
172 message page exists
173 * ar: fix the 'create a new page' on search page when no exact match found
174 * (bug 8703) Corrected Talk namespace name for Limburgish (li)
175 * (bug 8671) Expose "wpDestFile" as a parameter to "uploadtext"
176 * (bug 8403) Respect bad image list exceptions in galleries on wiki pages
177 * Allow sending per-user contribution requests to "contributions" query group
178 * (bug 3717) Update user count for AuthPlugin account autocreation
179 * (bug 8719) Firefox release notes lie! Fix tooltips for Firefox 2 on x11;
180 accesskeys default settings appear to be same as Windows.
181 * Added an option to make Linker::userToolLinks() show the contribs link
182 red when the user has no edits. Linker::userToolLinksRedContribs() is an
183 alias to that which should be used to make it more self documentating.
184 * (bug 8749) Bring MySQL 5 table defs back into sync
185 * (bug 8751) Set session cookies to HTTPS-only to match other cookies
186 * (bug 8652) Catch exceptions generated by malformed XML in multipage media
187 * (bug 8782) Help text in Makefile
188 * (bug 8777) Suppress 'previous' link on Special:Allpages when at first page
189 * (bug 8774) Fix path for GNU FDL rights icon on new installs
190 * Fix multipage selector drop-down for DjVu images to work when title
191 is passed as a query string parameter; we have to pass the title as
192 a form parameter or it gets dropped from the form submission URL
193 * (bug 8819) Fix full path disclosure in with skins dependencies
194 * Fixed bug affecting HTML formatting in sortable table column titles
195 * Merged table sorting code into wikibits.js
196 * (bug 8711) Stop floats in previews from spilling into edit area
197 * (bug 8858) Safer handling when $wgImageLimits is changed. Added a note
198 in DefaultSettings to make it clear.
199 * (bug 4268) Fixed data-loss bug in compressOld batch text compression
200 affecting pages which had null edits (move, protect, etc) as second
201 edit in a batch group. Isolated and patched by Travis Derouin.
202 * Fix for paths in 1.4->1.5 special-case updater script
203 * (bug 8789) AJAX search: IE users can now use the return key
204 * (bug 6844) Use <ins> and <del> tags to emphase the differences
205 * (bug 6684) Fix improper javascript array iteration
206 * (bug 4347) use MailAddress object for reply-to
207 * Add AlphabeticPager abstract class
208 * Use faster AlphabeticPager for Special:Categories
209 * (bug 8875) Show printable link in MonoBook sidebar for locally nonexistent
210 pages; perhaps useful for categories and shared images
211 * Clean up session checks to better handle the case where the session was
212 opened during the current request. May help with some caching corner
213 cases.
214 * (bug 8897) Fix whitespace removal for interlanguage links with link prefix
215 * Add 'ParserTestTables' hook to expand the list of temporary tables copied
216 by the parser test harness; use for extensions which require the presence
217 of other tables while they work.
218 * Message names changed for AlphabeticPager introduced with r19758
219 for better localisations.
220 * (bug 8944) The deprecated is_a() function is used in StubObjects.php
221 * (bug 8992) Fix a remaining raw use of REQUEST_URI in history
222 * (bug 8999) User.php gives "undefined user editcount" PHP notice.
223 * (bug 8984) Fix a database error in Special:Recentchangeslinked
224 when using the Postgres database.
225 * Moved the main ob_start() from the default LocalSettings.php to WebStart.php.
226 The ob_start() section should preferably be removed from older
227 LocalSettings.php files.
228 * Give Content-Length header for HTTP/1.0 clients.
229 * Partial support for Flash cross-domain-policy filtering.
230 * Lazy-initialize site_stats row on load when empty. Somewhat kinder to
231 dump-based installations, avoiding PHP warnings when NUMBEROFARTICLES
232 and such are used.
233 * Add 'charset' to Content-Type headers on various HTTP error responses
234 to forestall additional UTF-7-autodetect XSS issues. PHP sends only
235 'text/html' by default when the script didn't specify more details,
236 which some inconsiderate browsers consider a license to autodetect
237 the deadly, hard-to-escape UTF-7.
238 This fixes an issue with the Ajax interface error message on MSIE when
239 $wgUseAjax is enabled (not default configuration); this UTF-7 variant
240 on a previously fixed attack vector was discovered by Moshe BA from BugSec:
241 http://www.bugsec.com/articles.php?Security=24
242 * Trackback responses now specify XML content type
243 * (bug 9044) Send a comment with action=raw pages in CSS/JS output mode
244 to work around IE/Mac bug where empty pages time out verrrrryyyyy slowly,
245 particularly with new keepalive-friendly HTTP on Wikipedia
246 * (bug 8919) Suppress paging links and related messages where there are no
247 rows to list for query pages
248 * (bug 9057) Standardize MediaWiki: namespace for oc
249 * (bug 8132) Suppress "Pages in this category" heading in categories when
250 there are none
251 * (bug 8958) Handle search operators better when using tsearch2 (Postgres)
252 * (bug 8799) Use redirect table for Special:BrokenRedirects and
253 Special:DoubleRedirects
254 * (bug 8918) Enable PLURAL option for MediaWiki:showingresults and
255 MediaWiki:showingresultsnum
256 * (bug 9122) Fix minor display issue in RTL with section edit link margin
257 * (bug 5805) Enable PLURAL option for some messages of watchlist and statistic
258 * (bug 3953) Work around poor display of parenthesis in the in other
259 languages section of MonoBook skin
260 * (bug 8539) Enable PLURAL option for another message of recentchanges.
261 * (bug 8728) MediaWiki:Badfiletype splitted into 3 messages
262 * (bug 9131) Allow SpecialContributions to work with Postgres
263 * (bug 9155) Allow footer info to wrap in Monobook
264 * (bug 8847) Strip spurious #fragments from request URI to fix redirect
265 loops on some server configurations
266 * (bug 9097) column "pr_pagetype" does not exist
267 * (bug 9217) Balance wfProfile calls in Skin::outputPage
268 * (bug 9222) PostgreSQL updater should not be version-specific
269 * Fix fallback implementation of mb_strlen so it works and isn't insanely
270 slow for large strings, since it's used for page edit lengths
271 * (bug 8815) Setting password in initUser() breaks LdapAuthentication plugin
272 * (bug 9256) Add a quick note to index.php header comments
273 * Make Special:Listusers caseinsensitive for first letter
274 * Default tidy.conf has been moved from extensions module into includes.
275 * Ignore lonely '''''
276 * (bug 9244) When calling edit page for nonexistent section, generate error
277 inside of just discarding edits, since edit links sometimes go to the wrong
278 place.
279 * (bug 9019) No warning during upload if image description page exists, but no
280 image
281 * (bug 8582) Allow thumbnailing when imagesize has a space.
282 * (bug 8716) Change math_inputhash and math_outputhash to byte for Postgres
283 * (bug 9343) Correct internal name for Wolof language
284 * (bug 9363) Fix Postgres error on Recentchangeslinked
285 * (bug 5142) Fixed call of hook ArticleViewHeader
286 * (bug 4777) Separate prev/next messages for Special:Whatlinkshere
287 * Merge approx 15 missing Wikipedia language codes into wikipedia-interwiki.sql
288 based on Jeff Merkey's mediawiki-1.9.3.WG-20070316.tar.gz.bz2 archive.
289 * (bug 9411) Fix for shared image descriptions using query-string titles
290 * (bug 4756) Add user tool links for self created accounts at special:log
291 instead of sometimes broken block links from newuserlog extension
292 * (bug 5817) Special:Recentchangeslinked now shows red link for nonexistent
293 target page instead of silently redirecting
294 * (bug 8914) Don't transform colons in {{anchorencode:}}
295 * (bug 9241) Handle edit section links and include size links for cached
296 templates the same as the first transclusion.
297 * (bug 9466) "Rollback failed" page doesn't format edit comment
298 * (bug 9472) Invalid XHTML on cached special pages
299
300 == Maintenance ==
301 * New script maintenance/language/checkExtensioni18n.php used to check i18n
302 progress in the extension repository.
303 * Running maintenance/parserTests.php with '--record' option, will now
304 automatically attempt to create the required tables
305 * --purge option to do additional parser-cache purging for purgeList.php
306 * Fix hardcoded background color in parserTests.php
307 * parserTests.php : removed the 'light' option for --color argument, replacing
308 it with a new global switch : $wgCommandLineDarkBg
309 * (bug 8780) Clarify message for command-line scripts if LocalSettings.php
310 exists but is not readable
311 * dumpBackup / importDump now work with PostgreSQL
312 * (bug 8975) Use "Maintenance script" as the default username for importImages.php
313 and importTextFile.php scripts
314 * (bug 8933) Fix maintenance/reassignEdits.php script
315 * (bug 9440) Added "mediawikiwiki" interwiki prefix to MediaWiki.org
316 * (bug 2979) Import now gracefully skips invalid titles with a warning
317
318
319 == Languages updated ==
320
321 * Arabic (ar)
322 * Aramaic (arc)
323 * Aymara (ay)
324 * Belarusian (be)
325 * Bulgarian (bg)
326 * Breton (br)
327 * Catalan (ca)
328 * Czech (cs)
329 * Danish (da)
330 * German (de)
331 * Greek (el)
332 * Esperanto (eo)
333 * Spanish (es)
334 * Estonian (et)
335 * Basque (eu)
336 * Finnish (fi)
337 * French (fr)
338 * Hebrew (he)
339 * Upper Sorbian (hsb)
340 * Hungarian (hu)
341 * Indonesian (id)
342 * Italian (it)
343 * Japanese (ja)
344 * Georgian (ka)
345 * Kazakh (kk)
346 * Korean (ko)
347 * Ripuarian (ksh)
348 * Latin (la)
349 * Luganda (lg)
350 * Limburgish (li)
351 * Lithuanian (lt)
352 * Marathi (mr)
353 * Low Saxon (nds)
354 * Dutch (nl)
355 * Occitan (oc)
356 * Polish (pl)
357 * Romanian (ro)
358 * Russian (ru)
359 * Sicilian (scn)
360 * Slovak (sk)
361 * Swedish (sv)
362 * Tahitian (ty)
363 * Ukrainian (uk)
364 * Zealandic (zea)
365 * Cantonese (zh-yue)
366
367 == Compatibility ==
368
369 MediaWiki 1.10 requires PHP 5 (5.1 recommended). PHP 4 is no longer supported.
370
371 PHP 5.0.x fails on 64-bit systems due to serious bugs with array processing:
372 http://bugs.php.net/bug.php?id=34879
373 Upgrade affected systems to PHP 5.1 or higher.
374
375 MySQL 3.23.x is no longer supported; some older hosts may need to upgrade.
376 At this time we still recommend 4.0, but 4.1/5.0 will work fine in most cases.
377
378
379 == Upgrading ==
380
381 1.10 has several database changes since 1.9, and will not work without schema
382 updates.
383
384 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
385 new database fields are filled with data.
386
387 If you are upgrading from MediaWiki 1.4.x or earlier, some major database
388 changes are made, and there is a slightly higher chance that things could
389 break. Don't forget to always back up your database before upgrading!
390
391 See the file UPGRADE for more detailed upgrade instructions.
392
393 === Caveats ===
394
395 Some output, particularly involving user-supplied inline HTML, may not
396 produce 100% valid or well-formed XHTML output. Testers are welcome to
397 set $wgMimeType = "application/xhtml+xml"; to test for remaining problem
398 cases, but this is not recommended on live sites. (This must be set for
399 MathML to display properly in Mozilla.)
400
401
402 For notes on 1.9.x and older releases, see HISTORY.
403
404
405 === Online documentation ===
406
407 Documentation for both end-users and site administrators is currently being
408 built up on Meta-Wikipedia, and is covered under the GNU Free Documentation
409 License:
410
411 http://www.mediawiki.org/wiki/Documentation
412
413
414 === Mailing list ===
415
416 A MediaWiki-l mailing list has been set up distinct from the Wikipedia
417 wikitech-l list:
418
419 http://lists.wikimedia.org/mailman/listinfo/mediawiki-l
420
421 A low-traffic announcements-only list is also available:
422
423 http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
424
425 It's highly recommended that you sign up for one of these lists if you're
426 going to run a public MediaWiki, so you can be notified of security fixes.
427
428
429 === IRC help ===
430
431 There's usually someone online in #mediawiki on irc.freenode.net