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