MediaWiki 1.20 is an alpha-quality branch and is not recommended for use in
production.
+ === PHP 5.3 now required ==
+ Since 1.20, the lowest supported version of MediaWiki is now 5.3.2. Please
+ upgrade PHP if you have not done so prior to upgrading MediaWiki.
+
=== Configuration changes in 1.20 ===
* `$wgUsePathInfo = true;` is no longer needed to make $wgArticlePath work on servers
using like nginx, lighttpd, and apache over fastcgi. MediaWiki now always extracts
* (bug 23006) create #speciale parser function.
* generateSitemap can now optionally skip redirect pages.
* (bug 27757) new API command just for retrieving tokens (not page-based)
+* Added GitViewers hook for extensions using external git repositories to have a web-based
+ repository viewer linked to from Special:Version.
+* Memcached debug logs can now be sent to their own file logs by setting
+ $wgDebugLogFile['memcached'] to some filepath.
+* (bug 35685) api.php URL and other entry point URLs are now listed on
+ Special:Version
+* Edit notices can now be translated.
+* (bug 22887) Add warning and tracking category for preprocessor errors
+* (bug 31704) Allow selection of associated namespace on the watchlist
=== Bug fixes in 1.20 ===
* (bug 30245) Use the correct way to construct a log page title.
* (bug 12021) Added user talk link on Special:Listusers.
* (bug 34445) section edit and TOC hide/show links are excluded from selection and
copy/paste on supporting browsers.
-* (bug 34428) Fixed incorrect hash mismatch errors in the DiffHistoryBlob
+* (bug 34428) Fixed incorrect hash mismatch errors in the DiffHistoryBlob
history compression method.
* (bug 34702) Localised parentheses are now used in more special pages.
* (bug 34723) When editing a script page on a RTL wiki the textbox should be LTR.
* (bug 34863) Show deletion log extract on non-existent file pages if applicable.
* (bug 28019) Let ?preloadtitle=foo be passed on to target of
Special:MyPage and Special:MyTalk.
-* (bug 34929) Show the correct diff when a section edit is rejected by the spam
+* (bug 34929) Show the correct diff when a section edit is rejected by the spam
filter.
* (bug 15816) Add a switch for SETting the search_path (Postgres).
* (bug 34521) Returning to the previous page after logging in loses any array-
* (bug 31236) "Next" and "Previous" buttons are shown incorrectly in
an RTL environment.
* (bug 35680) jQuery upgraded to 1.7.2.
-* (bug 35681) jQuery UI upgraded to 1.8.18.
+* jQuery UI upgraded to 1.8.19.
* (bug 35705) QUnit upgraded from 1.2.0 to 1.5.0
* (bug 35749) Updated maintenance/checkSyntax.php to use Git instead of
Subversion when invoked with the --modified option.
* (bug 18704) Add a unique CSS class or ID to the tagfilter table row at RecentChanges
* (bug 33564) transwiki import sometimes result in invalid title.
* (bug 35572) Blocks appear to succeed even if query fails due to wrong DB structure
+* (bug 31757) Add a word-separator between help-messages in HTMLForm
+* (bug 30410) Removed deprecated $wgFilterCallback and the 'filtered' API error.
=== API changes in 1.20 ===
* (bug 34316) Add ability to retrieve maximum upload size from MediaWiki API.
* (bug 32492) API now allows editing using pageid
* (bug 32497) API now allows changing of protection level using pageid
* (bug 32498) API now allows comparing pages using pageids
+* (bug 30975) API import of pages with invalid characters in this wiki leads to Fatal Error
+* (bug 30488) API now allows listing of backlinks/embeddedin/imageusage per pageid
=== Languages updated in 1.20 ===
* (bug 34192) Namespace gender aliases for Albanian languages (sq & aln).
* (bug 35541) Namespace gender aliases for Croatian (hr).
* Mizo (lus) added.
+* (bug 36012) Space in $separatorTransformTable should be non-breaking in
+ Portuguese, Esperanto and Udmurt.
=== Other changes in 1.20 ===
* The user_token field is now left empty until a user attempts to login and
== Compatibility ==
- MediaWiki 1.20 requires PHP 5.2.3. PHP 4 is no longer supported.
+ MediaWiki 1.20 requires PHP 5.3.2. PHP 4 is no longer supported.
MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but
support for them is somewhat less mature. There is experimental support for IBM
$maintClass = false;
// Make sure we're on PHP5 or better
- if ( !function_exists( 'version_compare' ) || version_compare( PHP_VERSION, '5.2.3' ) < 0 ) {
+ if ( !function_exists( 'version_compare' ) || version_compare( PHP_VERSION, '5.3.2' ) < 0 ) {
require_once( dirname( __FILE__ ) . '/../includes/PHPVersionError.php' );
wfPHPVersionError( 'cli' );
}
}
if ( $channel === null ) {
$this->cleanupChanneled();
- if( php_sapi_name() == 'cli' ) {
- fwrite( STDOUT, $out );
- } else {
- print( $out );
- }
+ print( $out );
} else {
$out = preg_replace( '/\n\z/', '', $out );
$this->outputChanneled( $out, $channel );
*/
public function cleanupChanneled() {
if ( !$this->atLineStart ) {
- if( php_sapi_name() == 'cli' ) {
- fwrite( STDOUT, "\n" );
- } else {
- print "\n";
- }
+ print "\n";
$this->atLineStart = true;
}
}
return;
}
- $cli = php_sapi_name() == 'cli';
-
// End the current line if necessary
if ( !$this->atLineStart && $channel !== $this->lastChannel ) {
- if( $cli ) {
- fwrite( STDOUT, "\n" );
- } else {
- print "\n";
- }
+ print "\n";
}
- if( $cli ) {
- fwrite( STDOUT, $msg );
- } else {
- print $msg;
- }
+ print $msg;
$this->atLineStart = false;
if ( $channel === null ) {
// For unchanneled messages, output trailing newline immediately
- if( $cli ) {
- fwrite( STDOUT, "\n" );
- } else {
- print "\n";
- }
+ print "\n";
$this->atLineStart = true;
}
$this->lastChannel = $channel;