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