1.9 bump
[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 * $wgUseETag, to enable/disable sending of HTTP ETag headers
24 (default: disabled)
25 * $wgLegalTitleChars now includes '+' by default for better compatibility
26 with importing data dumps from Wikipedia
27 * $wgDefaultUserOptions now includes all default option settings instead
28 of only overrides.
29
30
31 == Major new features ==
32
33 * (bug 7098) Add an option to disable/enable sending of HTTP ETag headers,
34 as it seems to result in broken behaviour in combination with Squid 2.6
35 (disabled by default).
36 * (bug 550) Allow blocks on anonymous users only.
37 * (bug 6420) Render thumbnails for DJVU images, support multipage DJVU display
38 on image pages. Added new 'page=' thumbnail option to select a page from a
39 multipage djvu for thumbnail generation.
40 * Full Postgres support is now enabled. It requires version 8.1 or better, and
41 needs to have both plpgsql and tsearch2 already installed.
42 * (bug 6386) fix grammatical errors in danish naming of talk namespaces.
43
44 == Changes since 1.7 ==
45
46 * Introduced AjaxResponse object, superceding AjaxCachePolicy
47 * Changes to sajax_do_call: optionally accept an element to fill instead of a
48 callback function; take the target function or element as a third parameter;
49 pass the full XMLHttpRequest object to the handler function, instead of just
50 the resultText value; use HTTP response codes to report errors.
51 * (bug 6562) Removed unmaintained ParserXml.php for now
52 * History paging overlap bug fixed
53 * (bug 6586) Regression in "unblocked" subtitle
54 * Don't put empty-page message into view-source when page text is blank
55 * (bug 6587) Remove redundant "allnonarticles" message
56 * Block improvements: Allow blocks on anonymous users only. Optionally allow
57 or disallow account creation from blocked IP addresses. Prevent duplicate
58 blocks. Fixed the problem of expiry and unblocking erroneously affecting
59 multiple blocks. Fixed confusing lack of error message when a blocked user
60 attempts to create an account. Fixed inefficiency of Special:Ipblocklist in
61 the presence of large numbers of blocks; added indexes and implemented an
62 indexed pager.
63 * (bug 6448) Allow filtering of Special:Newpages according to username
64 * (bug 6618) Improve permissions/error detection in Special:Lockdb
65 * Quick hack for extension testing: parser test doesn't create new message
66 cache object.
67 * (bug 6299) Maintain parser's revision ID across recursive calls to fix
68 {{REVISIONID}} when Cite extension is used
69 * (bug 6622) Removed deprecated function Image::newFromTitle
70 * (bug 6627) Fix regression in Special:Ipblocklist with table prefix
71 * Removed forced dereferencements (new() returns a reference in PHP5)
72 * Note about $wgUploadSizeWarning using byte
73 * (bug 6592) Add most viewed pages summary to Special:Statistics
74 * Pre-strip characters ignored in IDNs from URLs so they can't be used
75 to break the blacklists for regular URLs
76 * Fix regression in blocking of user accounts
77 * (bug 6635) Fix regression searching for range blocks on Ipblocklist
78 * Fix regression searching Ipblocklist with ugly URLs
79 * (bug 6639) Use a consistent default for upload directories
80 * Preserve entered reason when reporting unconfirmed lock on Special:Lockdb
81 * (bug 6642) Don't offer to unlock the database when it isn't locked
82 * cleanupTitles.php changed from --dry-run option to --fix, so default
83 behavior is now a non-invasive check as with namespaceDupes.php
84 * (bug 6660) Fix behaviour of EditPage::blockedPage() when the article does
85 not exist; now doesn't show the source box if the user hasn't provided it
86 (blocked mid-edit) and the page doesn't exist
87 * Improve default value of "blockedtext"
88 * (bug 6680) Added localisation for Dutch bookstore list (nl)
89 * Renamed maintainace script redundanttrans.php to unusedMessages.php - clearer usage
90 * Fix regression which allowed some blocked users to create additional accounts
91 * (bug 6657) Fix Hungarian linktrail
92 * (bug 6751) Fix preview of blanked section with edit on first preview option
93 * (bug 5456) Separate MediaWiki:Search into messages for both noun and verb,
94 introduced 'MediaWiki:Searchbutton'
95 * Made lines from initialiseMessages() appear as list items during installation
96 * Moved the bulk of the localisation data from the Language*.php files to the
97 Messages*.php files. Deleted most of the Languages*.php files.
98 * Introduced "stub global" framework to provide deferred initialisation of core
99 modules.
100 * Removed placeholder values for $wgTitle and $wgArticle, these variables will
101 now be null during the initialisation process, until they are set by index.php
102 or another entry point.
103 * Added DBA cache type, for BDB-style caches.
104 * Removed custom date format functions, replacing them with a format string in
105 the style of PHP's date(). Used string identifiers instead of integer
106 identifiers, in both the language files and user preferences. Migration should
107 be transparent in most cases.
108 * Simplified the initialisation API for LoadBalancer objects.
109 * Removed the broken altencoding feature.
110 * Moved default user options and toggles from Language to User. Language objects
111 are still able to define default preference overrides and extra user toggles,
112 via a slightly different interface.
113 * Don't include the date option in the parser cache rendering hash unless
114 $wgUseDynamicDates is enabled.
115 * Merged LanguageUtf8 with Language. Removed LanguageUtf8.php.
116 * Removed inclusion of language files from the bottom of Language.php. This is
117 now consistently done from Language::factory().
118 * Add the name of the executing maintenance script to the debug log. Start the
119 profiler during maintenance scripts.
120 * Added "serialized" directory, for storing precompiled data in serialized form.
121 * Fix regression in auto-set NS_PROJECT_TALK namespace
122 * Fix regression in ordering of namespaces
123 * (bug 6806, 6030) Added several global JS variables for article path, user name,
124 page title, etc.
125 * hooks registered with addOnloadHook are now called at the one of the html body
126 by all skins.
127 * Split ajax aided search from core ajax framework. Use wgUseAjax to enable the
128 framework and wgAjaxSearch to enable the suggest feature for the search box.
129 * Added experimental installer for extensions.
130 See maintenance/installExtension.php
131 * Added Tajic (tg) language file.
132 * (bug 6903) Added Cantonese localisation (zh-yue)
133 * Fix regression in Korean and Japanese date formatting (day of week)
134 * (bug 6919) Add English alias magic words for Tatar (tt) language file.
135 * (bug 6753) Fixed broken Kazakh linktrail (kk)
136 * (bug 6700) Added Kazakh language variants to Names.php
137 * (bug 6827) some i18n specific maintenance scripts fails after merge of localisation-work branch
138 * Throwed an exception for the deprecated functions OutputPage::sysopRequired and
139 OutputPage::developerRequired - use OutputPage::permissionRequired instead.
140 * Removed the deprecated functions User::isSysop, User::isBureaucrat and User::isDeveloper -
141 use User::isAllowed instead.
142 * (bug 769) OutputPage::permissionRequired() should suggest groups with the needed permission
143 * (bug 6971) Fix regression in Special:Export history view
144 * Revamped Special:Imagelist
145 * (bug 7000) updated MessagesPl.php
146 * (bug 6946) Fix unexpected behavior change with GET hits to Special:Export
147 * (bug 1866) Improve navigation on Special:Listusers; user now a starting
148 point as with Special:Allpages, rather than a pure limit.
149 * Clean up tab order on Special:Blockip
150 * (bug 5969) Clean up tab order on Special:Userlogin forms
151 * (bug 3512) namespaceDupes now handles spaces and initial caps properly
152 * (bug 7037) Fix regression in login tab order
153 * (bug 7031) Report missing email on 'email password' instead of false success
154 * (bug 7010) Don't send email notifications for watched talk pages when user
155 has selected to receive only updates for their own talk page
156 * Added {{CURRENTHOUR}}
157 * Added [[:Image:Foo.png]] style links to the pagelinks table
158 * Avoid duplicate revision imports with Special:Import
159 * (bug 7054) Validate email address before sending email confirmation message
160 * (bug 7061) Format title on "from (page)" links on Special:Allpages
161 * (bug 7044) Introduce "padleft" and "padright" colon functions
162 * Pass page title as parameters to "linkshere" and "nolinkshere" and update
163 default message text
164 * Allows to upload from publicy accessible URL. Set $wgAllowCopyUploads = true ; in LocalSettings.php
165 Limited to $wgMaxUploadSize (default:100MB); URL upload is limited to sysops by default, and displayed as a second line if appropriate
166 * (bug 832) Return to user page after emailing a user
167 * (bug 366) Add local-system-timezone equivalents for date/time variables
168 * (bug 7109) Fix Atom feed version number in header links
169 * (bug 7075) List registered parser function hooks on Special:Version
170 * (bug 7059) Introduce "anchorencode" colon function
171 * Include SVN revision number in {{CURRENTVERSION}} output, where applicable
172 * Fix bug in wfRunHooks which caused corruption of objects in the hook list
173 * (bug 4979) Use simplified email addresses when running on Windows
174 * (bug 4434) Show block log fragment on Special:Blockip
175 * [[MediaWiki:Disambiguationspage]] may optionally contain wiki links to any number
176 of disambiguation templates.
177 * [[Special:Disambiguations]] now shows pages in NS:0 that link to any pages that embed
178 any of the templates listed at [[MediaWiki:Disambiguationspage]].
179 * Fix formatting of titles on Special:Undelete
180 * (bug 7026) Fix action=raw&templates=expand
181 * (bug 6976) Add namespace and direction classes to classic skins
182 * (bug 7144) Don't "return to main" from OutputPage::loginToUse() if the the user can't
183 read the main page in the first place
184 * (bug 7188) Fix minor borkage in HTMLForm
185 * (bug 6675) Replaced message 'watchthis' with new message 'watchthisupload in Special:Upload
186 * Add a quickie script dumpSisterSites.php for generating a page list in the
187 format for WSR-1 SisterSites support
188 * (bug 7223) Monobook.js is used for site content, should not be localized
189 * Set default disabled values for DjVu render options
190 * Added Xml::option() for generating <option>s easily
191 * Localized page numbers in drop-down for DjVu page selection
192 * Fixed linktrail for vi
193 * (bug 6893) "Call to a member function exists() on a non-object" on trackback.php with bad input
194 * (bug 6886) PHP undefined offset on bad input to Special:Revisiondelete
195 * (bug 6887) PHP error for call to getId() on bad input to Special:Revisiondelete
196 * (bug 6888) PHP error for call to getTimestamp() on bad input to Special:Revisiondelete
197 * (bug 7252) Use dvipng support in texvc math rastrization. dvipng is required if texvc is rebuilt.
198 * (bug 7279) Use wfBaseName in place of basename() in more places
199 * Clear newtalk marker on diff links with explicit current revision number
200 * (bug 7064) Replace hard-coded empty message checks with wfEmptyMsg calls
201 * (bug 6777) Remove some PHP 4 compat cruft
202 * Add --user, --comment, and --license options to importImages.php
203 * (bug 6216) The immobile namespace message does not mention the source page
204 * (bug 7299) Normalize username filter on Special:Newpages
205 * (bug 7306) RTL text in an LTR wiki breaks appearance of Special:Recentchanges
206 * (bug 7312) Don't emit SET NAMES utf8 if connection failed
207 * (bug 7305) Proper compare for bot check on RC notify, should fix overrides
208 that force edits by non-bot users to bot mode
209 * Set Vary: Cookie on action=raw generated CSS and JS, to ensure that user
210 preferences don't get stuck in proxy caches for other people
211 * (bug 7324) Fix error message for failure of Database::sourceFile()
212 * (bug 7309) Plurals: use singular form for zero in French and Brazilian Portuguese
213 * Add page_no_title_convert field to support language variant conversion
214 for page titles which shouldn't be converted on display/linking
215 * Lazy extraction of text chunks in Revision objects, may reduce hits to
216 external storage when actual text content is not used
217 * Added experimental $wgRevisionCacheExpiry to cache extracted revision text
218 in $wgMemc, to further reduce hits to external storage.
219 Set to 0 (disabled) by default.
220 * Minor changes to the installer.
221 * Remove ":" for 'youremail' and 'yourrealname' in includes/templates/Userlogin.php
222 so that ":" could be used in i18n for Special:Preferences (like 'username' and 'uid').
223 * Fix layout for Special:Preferences->Date and Time (position for 'timezonetext').
224 * Updates to language variant code for Serbian et al
225 * (bug 6756) Enabling RTL direction for kk-cn
226 * (bug 6701) Kazakh language variants in MessagesEn.php
227 * (bug 7335) SVN revision check in Special:Version fails on SVN 1.4 working copy
228 * (bug 6518) Replaced 'lastmodified' with 'lastmodifiedat' and 'lastmodifiedby' with 'lastmodifiedatby'
229 with seperated parameters for date and time to allow better localisation. Updated all message files
230 to display the old format for compatibility.
231 * (bug 7357) Make supposedly static methods of Skin actually static
232 * Added info text to Special:Deadendpages and Special:Lonelypages
233 * Fix regression in cachability of generated CSS and JS for MonoBook skin,
234 while avoiding clobbering of different users' cached data
235 * (bug 6849) Block @ from usernames; interferes with multi-database tools and
236 was meant to be banned years ago... For now existing accounts will not be
237 prevented fromm login.
238 * (bug 6092) Introduce magic words {{REVISIONDAY}}, {{REVISIONDAY2}, {{REVISIONMONTH}},
239 {{REVISIONYEAR}} and {{REVISIONTIMESTAMP}}
240 * (bug 7425) Preceeding whitespace in [[...]] breaks subpages
241 * Try to reconnect after transitory database errors in dumpTextPass.php
242 * (bug 6023) Fixed mismatch of 0/NULL for wl_notificationtimestamp; now notification
243 mails are working after 'Mark all pages visited' button on Special:Watchlist is clicked
244 * Made {{INT:}} a core parser function instead of a special case. The syntax
245 and behaviour is largely unchanged.
246 * (bug 7448) Fixing the native name for Ewe (ee)
247 * (bug 6864) Replace message 'editing' with new message 'editinguser' in Special:Userrights
248 to allow better localisation
249 * Add '*-summary' for special pages to MessagesEn.php to allow customizing/translation
250 directly through Special:Allmessages
251 * (bug 6130, bug 5818) Replaced message 'go' with the new message 'searcharticle' in skins
252 to allow better localisation
253 * Add + to $wgLegalTitleChars by default. Some sites may have occasional
254 problems with hard-to-reach pages, but it should be less trouble than
255 "I can't import dumps from Wikipedia" complaints
256 * (bug 7460) Revert broken patch for bug 7226 which slows down
257 Special:Allmessages by a factor of 16
258 * Committed a bunch of live hacks from Wikimedia servers
259 * (bug 6889) PHP notices in thumb.php with missing params
260 * Cleaner error behavior on thumb.php with invalid page selection
261 * (bug 6617) Validate timestamps on Special:Undelete
262 * Do fewer unnecessary full writes of user rows; only update user_touched
263 for watch/unwatch, group membership change, and login operations
264 * Restructured the languages directory, to avoid problems when people
265 untar MW 1.8 over the top of a 1.7 installation.
266 * (bug 6890) SQL query error on bad input to Pager lists
267 due to negative LIMIT clause, caused by integer wraparound.
268 * Fixed various bugs related to table prefixes, especially the interaction
269 between table prefixes and memcached, which was formerly completely broken.
270 * (bug 7004) PHP iconv() notice on bad password input to Special:Userlogin.
271 * (bug 6826) Extend pre-save transform context link ("pipe trick")
272 syntax to pages with commas in title
273 * Use ImageMagick -thumbnail option instead of -resize to avoid including
274 excessive metadata in thumbs (requires ImageMagick 6.0.0 or newer).
275 * (bug 7499) Corrections to Swedish talk namespace names
276 * (bug 7508) Added option to compress HTML pages by dumpHTML.php
277 * (bug 7519) Add plural in SpecialWatchlist
278 * (bug 7459) Magic word variables are always case sensitive
279 * Replaced {{SERVER}}{{localurl:xxx}} with {{fullurl:xxx}} in localisation files
280 * Fix regression in Special:Watchlist text header
281 * (bug 7510) Update article counts etc on undelete
282 * (bug 7520) Update article counts on XML import
283 * (bug 7526) Make $wgDefaultUserOptions work again
284 * (bug 7472) Localize Help namespace for Basque
285 * (bug 7529) Including a non-existent category in an article places that article in the category
286 * (bug 4528) Lack of important LaTeX functions stackrel, rightleftharpoon
287 * (bug 6721) missing symbols ulcorner, urcorner, llcorner, lrcorner, twoheadrightarrow, twoheadleftarrow
288 * (bug 7367) Hyphens sometimes erroneously appended to equations when not converted to PNG
289 * Add "title" to the opensearch link to allow automatic adding of the search engine in Firefox 2
290 * (bug 7537) Add php5 to $wgFileBlacklist
291 * (bug 6929) Restore AutoAuthenticate hook
292
293
294 == Languages updated ==
295
296 * Albanian (sq)
297 * Bashkir (ba)
298 * Bavarian (bar) stub file
299 * Belarusian (be)
300 * Bishnupriya (bpy) stub file
301 * Brazilian Portuguese (pt-br)
302 * Cantonese (zh-yue)
303 * Catalan (ca)
304 * Czech (cs)
305 * Dutch (nl)
306 * English (en)
307 * Finnish (fi)
308 * French (fr)
309 * Georgian (ka)
310 * German (de)
311 * Hebrew (he)
312 * Hungarian (hu)
313 * Indonesian (id)
314 * Japanese (ja)
315 * Korean (ko)
316 * Latin (la)
317 * Lojban (jbo)
318 * Macedonian (mk)
319 * Mazandarani (mzn)
320 * Polish (pl)
321 * Portuguese (pt)
322 * Ripuarian (ksh)
323 * Romani (rmy)
324 * Russian (ru)
325 * Slovak (sk)
326 * Spanish (es)
327 * Tajic (tg)
328 * Tatar (tt)
329 * Telugu (te)
330 * Uzbek (uz)
331 * Yiddish (yi)
332
333 == Compatibility ==
334
335 MediaWiki 1.9 requires PHP 5 (5.1 recommended). PHP 4 is no longer supported.
336
337 MySQL 3.23.x is no longer supported; some older hosts may need to upgrade.
338 At this time we still recommend 4.0, but 4.1/5.0 will work fine in most cases.
339
340
341 == Upgrading ==
342
343 Some minor database changes have been made since 1.7:
344 * new fields and indexes on ipblocks
345 * index change on recentchanges
346
347 Several changes from 1.5 and 1.6 do require updates to be run on upgrade.
348 To ensure that these tables are filled with data, run refreshLinks.php after
349 the upgrade.
350
351 If you are upgrading from MediaWiki 1.4.x or earlier, some major database
352 changes are made, and there is a slightly higher chance that things could
353 break. Don't forget to always back up your database before upgrading!
354
355 See the file UPGRADE for more detailed upgrade instructions.
356
357
358
359 === Caveats ===
360
361 Some output, particularly involving user-supplied inline HTML, may not
362 produce 100% valid or well-formed XHTML output. Testers are welcome to
363 set $wgMimeType = "application/xhtml+xml"; to test for remaining problem
364 cases, but this is not recommended on live sites. (This must be set for
365 MathML to display properly in Mozilla.)
366
367
368 For notes on 1.5.x and older releases, see HISTORY.
369
370
371 === Online documentation ===
372
373 Documentation for both end-users and site administrators is currently being
374 built up on Meta-Wikipedia, and is covered under the GNU Free Documentation
375 License:
376
377 http://www.mediawiki.org/wiki/Documentation
378
379
380 === Mailing list ===
381
382 A MediaWiki-l mailing list has been set up distinct from the Wikipedia
383 wikitech-l list:
384
385 http://mail.wikimedia.org/mailman/listinfo/mediawiki-l
386
387 A low-traffic announcements-only list is also available:
388
389 http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce
390
391 It's highly recommended that you sign up for one of these lists if you're
392 going to run a public MediaWiki, so you can be notified of security fixes.
393
394
395 === IRC help ===
396
397 There's usually someone online in #mediawiki on irc.freenode.net