Update migrateUserGroup to deal with primary key issue
[mediawiki.git] / RELEASE-NOTES-1.20
blobaddf48425c4fbc5e75da0f2c54735133127fd744
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.
6 == MediaWiki 1.20 ==
8 THIS IS NOT A RELEASE YET
10 MediaWiki 1.20 is an alpha-quality branch and is not recommended for use in
11 production.
13 === PHP 5.3 now required ===
14 Since 1.20, the lowest supported version of PHP is now 5.3.2. Please
15 upgrade PHP if you have not done so prior to upgrading MediaWiki.
17 === Configuration changes in 1.20 ===
18 * $wgGitRepositoryViewers defines a mapping from Git remote repository to the
19   Gitweb instance URL used in Special:Version.
20 * `$wgUsePathInfo = true;` is no longer needed to make $wgArticlePath work on servers
21   using like nginx, lighttpd, and apache over fastcgi. MediaWiki now always extracts
22   path info from REQUEST_URI if it's available.
24 === New features in 1.20 ===
25 * Added TitleIsAlwaysKnown hook which gets called when determining if a page exists.
26 * Added NamespaceIsMovable hook which gets called when determining if pages in a
27   certain namespace can be moved.
28 * (bug 32341) Add upload by URL domain limitation.
29 * &useskin=default will now always display the default skin. Useful for users with a
30   preference for the non-default skin to look at something using the default skin.
31 * (bug 27619) Remove preference option to display broken links as link?
32 * (bug 34896) Update jQuery JSON plugin to v2.3 (2011-09-17).
33 * (bug 34302) Add CSS classes to email fields in user preferences.
34 * Introduced $wgDebugDBTransactions to trace transaction status (currently PostgreSQL only).
35 * (bug 23795) Add parser itself to ParserMakeImageParams hook.
36 * Introduce a cryptographic random number generator source api for use when
37   generating various tokens.
38 * (bug 30963) Option on Special:Prefixindex and Special:Allpages to not show redirects.
39 * (bug 18062) New message when edit or create the local page of a shared file.
40 * (bug 22870) Separate interface message when creating a page.
41 * (bug 17615) nosummary option should be reassigned on preview/captcha.
42 * (bug 34355) Add a variable and parser function for the namespace number.
43 * (bug 35649) Special:Version now shows hashes of extensions checked out from git.
44 * (bug 35728) Git revisions are now linked on Special:Version.
45 * "Show Changes" on default messages shows now diff against default message text
46 * (bug 23006) create #speciale parser function.
47 * generateSitemap can now optionally skip redirect pages.
48 * (bug 27757) New API command just for retrieving tokens (not page-based).
49 * Added GitViewers hook for extensions using external git repositories to have a web-based
50   repository viewer linked to from Special:Version.
51 * Memcached debug logs can now be sent to their own file logs by setting
52   $wgDebugLogFile['memcached'] to some filepath.
53 * (bug 35685) api.php URL and other entry point URLs are now listed on
54   Special:Version
55 * Edit notices can now be translated.
56 * (bug 35680) jQuery upgraded to 1.7.2.
57 * jQuery UI upgraded to 1.8.21.
58 * (bug 22887) Add warning and tracking category for preprocessor errors
59 * (bug 31704) Allow selection of associated namespace on the watchlist
60 * (bug 5445) Now remove autoblocks when a user is unblocked.
61 * Added $wgLogExceptionBacktrace, on by default, to allow logging of exception
62   backtraces.
63 * Added device detection for determining device capabilities.
64 * QUnit.newMwEnvironment now supports passing a custom setup and/or teardown function.
65   Arguments signature has changed. First arguments is now an options object of which
66   'config' can be a property. Previously 'config' itself was the first and only argument.
67 * New getCreator and getOldestRevision methods added to WikiPage class
68 * (bug 4220) the XML dump format schema now have unique identity constraints
69   for page and revision identifiers. Patch by Elvis Stansvik.
70 * (bug 35705) QUnit upgraded from v1.2.0 to v1.8.0.
71 * cleanupSpam.php now can delete spam pages if --delete was specified instead of blanking
72   them.
73 * Added new hook ChangePasswordForm to allow adding of additional fields in Special:ChangePassword
75 === Bug fixes in 1.20 ===
76 * (bug 30245) Use the correct way to construct a log page title.
77 * (bug 34237) Regenerate an empty user_token and save to the database
78   when we try to set the user's cookies for login.
79 * (bug 32210) New edit emails for watched pages always provide a link to the
80   edit which triggered the mail.
81 * (bug 12021) Added user talk link on Special:Listusers.
82 * (bug 34445) section edit and TOC hide/show links are excluded from selection and
83   copy/paste on supporting browsers.
84 * (bug 34428) Fixed incorrect hash mismatch errors in the DiffHistoryBlob
85   history compression method.
86 * (bug 34702) Localised parentheses are now used in more special pages.
87 * (bug 34723) When editing a script page on a RTL wiki the textbox should be LTR.
88 * (bug 34762) Calling close() on a DatabaseBase object now clears the connection.
89 * (bug 34863) Show deletion log extract on non-existent file pages if applicable.
90 * (bug 28019) Let ?preloadtitle=foo be passed on to target of
91   Special:MyPage and Special:MyTalk.
92 * (bug 34929) Show the correct diff when a section edit is rejected by the spam
93   filter.
94 * (bug 15816) Add a switch for SETting the search_path (Postgres).
95 * (bug 34521) Returning to the previous page after logging in loses any array-
96   valued parameters in the query string.
97 * (bug 34735) Updated compressOld.php documentation to mention the different
98   usages of -s and -n parameters depending on compression type.
99 * (bug 13896) Rendering of devanagari numbers in automatic '#' number lists.
100 * (bug 33689) Upgrade to 1.19 on Postgres fails due to incomplete query when.
101   trying to defer foreign key for externallinks.
102 * (bug 32748) Printer friendly version of article decode Unicode chars as a
103   pretty IRI in footer.
104 * Removed white border around thumbnails in galleries.
105 * (bug 31236) "Next" and "Previous" buttons are shown incorrectly in
106   an RTL environment.
107 * (bug 35749) Updated maintenance/checkSyntax.php to use Git instead of
108   Subversion when invoked with the --modified option.
109 * (bug 35069) On history pages, the " . . " separator after the number of
110   characters changed in a revision is now suppressed if no text would follow.
111 * (bug 18704) Add a unique CSS class or ID to the tagfilter table row at RecentChanges
112 * (bug 33564) transwiki import sometimes result in invalid title.
113 * (bug 35572) Blocks appear to succeed even if query fails due to wrong DB structure
114 * (bug 31757) Add a word-separator between help-messages in HTMLForm
115 * (bug 30410) Removed deprecated $wgFilterCallback and the 'filtered' API error.
116 * (bug 32604) Some messages needs escaping of wikitext inside username
117 * (bug 36537) Rename wfArrayToCGI to wfArrayToCgi for consistency with wfCgiToArray.
118 * (bug 25946) The message on the top of Special:RecentChanges is now displayed
119   in user language instead of content language
120 * (bug 35264) Wrong type used for <ns> in export.xsd
121 * (bug 24985) Use $wgTmpDirectory as the default temp directory so that people
122   who don't have access to /tmp can specify an alternative.
123 * (bug 27283) SqlBagOStuff breaks PostgreSQL transactions
124 * (bug 35727) mw.Api ajax() should put token parameter last.
126 === API changes in 1.20 ===
127 * (bug 34316) Add ability to retrieve maximum upload size from MediaWiki API.
128 * (bug 34313) MediaWiki API intro message about "HTML format" should mention
129   the format parameter.
130 * (bug 32384) Allow descending order for list=watchlistraw.
131 * (bug 31883) Limit of bkusers of list=blocks and titles of action=query is not documented in API help.
132 * (bug 32492) API now allows editing using pageid
133 * (bug 32497) API now allows changing of protection level using pageid
134 * (bug 32498) API now allows comparing pages using pageids
135 * (bug 30975) API import of pages with invalid characters in this wiki leads to Fatal Error
136 * (bug 30488) API now allows listing of backlinks/embeddedin/imageusage per pageid
137 * (bug 34927) Output media_type for list=filearchive
138 * (bug 28814) add properties to output of action=parse
139 * (bug 33224) add variants of content language to meta=siteinfo
140 * (bug 36761) "Mark pages as visited" now submits previously established filter options
141 * (bug 32643) action=purge with forcelinkupdate no longer crashes when ratelimit is reached
142 * The paraminfo module now also contains result properties for most modules
144 === Languages updated in 1.20 ===
146 MediaWiki supports over 350 languages. Many localisations are updated
147 regularly. Below only new and removed languages are listed, as well as
148 changes to languages because of Bugzilla reports.
150 * Tornedalen Finnish (fit) added.
151 * Mizo (lus) added.
152 * Santali (sat) added.
153 * (bug 34192) Namespace gender aliases for Albanian languages (sq & aln).
154 * (bug 35541) Namespace gender aliases for Croatian (hr).
155 * (bug 36012) Space in $separatorTransformTable should be non-breaking in
156   Portuguese, Esperanto and Udmurt.
158 === Other changes in 1.20 ===
159 * The user_token field is now left empty until a user attempts to login and
160   cookies need to be set. It is also now possible to reset every user's
161   user_token simply by clearing the values in the user_token column.
162 * Removed ./tests/qunit/index.html from core. It wasn't actively maintained and
163   has been made obsolete when [[Special:JavaScriptTest/qunit]] was introduced,
164   which actually uses ResourceLoader, LocalSettings and the Skin.
165 * Removed $wgDBtransactions global. This was only checked in one class
166   and only applies to MyISAM or similar DBs. Those should only be used
167   for archived sites anyway. We can't get edit conflicts on such sites,
168   so the WikiPage code wasn't useful there either.
170 == Compatibility ==
172 MediaWiki 1.20 requires PHP 5.3.2. PHP 4 is no longer supported.
174 MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but
175 support for them is somewhat less mature. There is experimental support for IBM
176 DB2 and Oracle.
178 The supported versions are:
180 * MySQL 5.0.2 or later
181 * PostgreSQL 8.3 or later
182 * SQLite 3.3.7 or later
183 * Oracle 9.0.1 or later
185 == Upgrading ==
187 1.20 has several database changes since 1.19, and will not work without schema
188 updates.
190 If upgrading from before 1.11, and you are using a wiki as a commons
191 repository, make sure that it is updated as well. Otherwise, errors may arise
192 due to database schema changes.
194 If upgrading from before 1.7, you may want to run refreshLinks.php to ensure
195 new database fields are filled with data.
197 If you are upgrading from MediaWiki 1.4.x or earlier, some major database
198 changes are made, and there is a slightly higher chance that things could
199 break. Don't forget to always back up your database before upgrading!
201 See the file UPGRADE for more detailed upgrade instructions.
203 For notes on 1.19.x and older releases, see HISTORY.
205 == Online documentation ==
207 Documentation for both end-users and site administrators is available on
208 MediaWiki.org, and is covered under the GNU Free Documentation License (except
209 for pages that explicitly state that their contents are in the public domain):
211         https://www.mediawiki.org/wiki/Documentation
213 == Mailing list ==
215 A mailing list is available for MediaWiki user support and discussion:
217         https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
219 A low-traffic announcements-only list is also available:
221         https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce
223 It's highly recommended that you sign up for one of these lists if you're
224 going to run a public MediaWiki, so you can be notified of security fixes.
226 == IRC help ==
228 There's usually someone online in #mediawiki on irc.freenode.net.