User:Iritscen/WikiFuture: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(+1.31; the death of the 2006 toolbar has been delayed but is still imminent)
(updated notes for 1.39, 1.40 and added 1.41)
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
Below are any notable changes that we should look forward to, or watch out for, if upgrading MediaWiki (besides various security fixes). Source: https://www.mediawiki.org/wiki/Release_notes
Below are any notable changes that we should look forward to, or watch out for, if upgrading MediaWiki (as well as significant security fixes). [[mw:Release notes|(Source)]]


Oldest LTS version of MediaWiki: 1.27 (supported through June 2019). Source: https://www.mediawiki.org/wiki/Version_lifecycle
Oldest maintained LTS version of MediaWiki: 1.39 (supported through November 2025).<br>
Latest LTS version of MediaWiki: 1.39 (supported through November 2025). [[mw:Version lifecycle|(Source)]]


Current version on OniGalore: '''{{CURRENTVERSION}}'''
Current version on OniGalore: '''{{CURRENTVERSION}}'''


You can browse each version of the MW code here: https://phabricator.wikimedia.org/source/mediawiki/branches/master/
You can browse each version of the MW code [https://phabricator.wikimedia.org/source/mediawiki/branches/master/ HERE].


{{TOCnonum}}
{{TOCnonum}}


==1.29==
==1.39==
:''These are the changes for future versions of 1.29 after 1.29.0. I have checked the release notes through 1.29.2.''
:''I have checked the release notes through 1.39.6.''
*(1.29.1) Vector (the extension) was accidentally included in the 1.29.0 release, but is not bundled from 1.29.1 onward. Since the extension is supposed to have been folded into the skin, I don't think this will affect us, but I'm leaving a note here as a reminder just in case something breaks when we update past 1.29.0.
*We are currently on the latest version of 1.39.


==1.30==
==1.40==
:''I have checked the release notes through 1.30.0.''
:''I have checked the release notes through 1.40.2.''
*Browsers that don't support Unicode will have their edits rejected.
*'''Requires PHP 7.4.3+ and the PHP extensions ctype, dom, fileinfo, iconv, intl, json, mbstring, xml.'''
*Removed 'jquery.mwExtension' module.
*Special:Search can now show thumbnails for results for titles outside NS_FILE. This is controlled via the new onSearchResultProvideThumbnail hook.
*mw.user.bucket (deprecated in 1.23) was removed.
*A new preference ('search-thumbnail-extra-namespaces') to allow users to control whether to show more thumbnails (per $wgThumbnailNamespaces)
*Added ability for users to prohibit other users from sending them emails with Special:Emailuser. Can be enabled by setting $wgEnableUserEmailBlacklist to true.
*The preferences page now provides a search bar to find preferences, regardless of the tab on which they appear.
*Edit summaries, block reasons, and other "comments" are now stored in a separate database table.
*$wgPasswordPolicies – This setting, which controls what makes for a valid password for wiki accounts, has been adjusted to raise the minimal password length from 1 to 8 characters. The initial limit of 1 has been in place since MediaWiki 1.26. If you wish to allow shorter passwords, you can over-ride it in your LocalSettings following the guidance on MediaWiki.org.
*Added JS config values wgDiffOldId/wgDiffNewId to the output of diff pages.
*You should configure your webserver to return the http header 'X-Content-Type-Options: nosniff' for the /images directory. This will instruct browsers to not apply content sniffing when accessing the files. MediaWiki before 1.40 shipped with a content sniffer which disallowed potentially dangerous files at upload time, but this protection has now been removed in favor of this 'X-Content-Type-Options: nosniff' header and the installer will return a warning when it is not in place.
*Added ability to search for contributions within an IP range at Special:Contributions.
*Maintenance scripts should now be executed using maintenance/run.php, e.g. maintenance/run.php update not maintenance/update.php as before.
*$wgOOUIEditPage was removed, as it is now the default. This was an opt-out variable for the new, "pretty" buttons and checkboxes at the bottom of the edit form, not anything to do with the toolbar.
*Five extensions have now been bundled with MediaWiki:
**The [[mw:Extension:DiscussionTools|DiscussionTools]] extension, which provides a forum-like editing experience for wikitext-based discussion pages. This is the dreaded new "forum-like" experience for talk pages that I don't think any of us will want. It seems like it will be on by default so we'll have to change $wgDiscussionToolsEnable to false. Hopefully it doesn't do anything to mess with talk pages immediately upon install.
**The [[mw:Extension:Echo|Echo]] extension, which provides a system of user notifications.
**The [[mw:Extension:Linter|Linter]] extension, which warns about use of deprecated wikitext.
**The [[mw:Extension:LoginNotify|LoginNotify]] extension, which warns users about failed attempted logins.
**The [[mw:Extension:Thanks|Thanks]] extension, which lets users thank editors for edits.
*The Renameuser extension has been moved to MediaWiki core. It is now possible to rename users without installing an extension. The extension had already been bundled with MediaWiki since 1.18.


==1.31==
==1.41==
:''I have checked the release notes through 1.31.0.''
*'''Requires PHP 7.4.3+ and the PHP extensions ctype, dom, fileinfo, iconv, intl, json, mbstring, xml.'''
*Note: If you're using MySQL, SQLite, or MSSQL, are not using update.php to apply schema changes, and cannot have downtime to run migrateArchiveText.php and apply patch-drop-ar_text.sql manually, you'll have to apply a default value to the ar_text and ar_flags columns of the archive table or make those columns nullable before upgrading to MediaWiki 1.31. maintenance/archives/patch-nullable-ar_text.sql shows how to do this for MySQL.
*MediaWiki now requires browsers to support ES6 for them to receive JavaScript, up from ES5. In practice, this primarily means that users of Internet Explorer 11 (EOL in 2022) will no longer get JavaScript tools.
*Automatic trimming of unnecessary whitespace from wikitext.
*Some interesting new configuration variables:
*Methods that alter ParserOutput directly are deprecated. Callers should use the new stateless $options parameter to ParserOutput::getText() instead.
**$wgImplicitRights - A list of implicit rights, in addition to the ones defined by the core. Rights in this list are granted implicitly to all users, but rate limits may apply to them.
*The global function wfOutputHandler() was removed; use its replacement MediaWiki\OutputHandler::handle() instead.
**$wgInterwikiLogoOverride - List of interwiki logos overrides.
*The following variables and methods in EditPage, deprecated in MediaWiki 1.30, were removed: $isCssJsSubpage, $isCssSubpage, $isJsSubpage, $isWrongCaseCssJsPage.
**$wgSVGNativeRendering - Whether native SVG rendering by the browser agent is allowed
*The mw.page JavaScript singleton, deprecated in 1.30, was removed.
**$wgSVGNativeRenderingSizeLimit - If $wgSVGNativeRendering is set to 'partial', this sets the size limit for an SVG file to be rendered as a PNG instead of directly by the browser.
*Added support for .json user subpages in addition to .css and .js, intended for saving configuration options.
*The 'comma' value for $wgArticleCountMethod is no longer supported for performance reasons, and installations with this setting will now work as if it was configured with 'any'. Note that we are currently using the 'comma' option, but it appears that 'any' will return the same result, as it counts all pages that are not redirects.
*Added default edit rate limit of 90 edits/minute for all users.
*Make $wgEmailConfirmToEdit only affect edit actions.
 
==Upcoming==
*'''Warning: MW developers are [[mw:Editor|currently planning]] to remove support for the 2006 editing toolbar soon'''. This is the one we're currently using! This change will break [[XEB]], and the editing UX doesn't get any better with the 2010 toolbar (it gets even worse with the 2017 wikitext beta...), so we need to think carefully before upgrading. The classic 2006 toolbar may become available as a third-party gadget, but will it be customizable or would we have to rewrite our own toolbar from scratch?


[[Category:Userspace]]
[[Category:Userspace]]

Latest revision as of 02:43, 7 January 2024

Below are any notable changes that we should look forward to, or watch out for, if upgrading MediaWiki (as well as significant security fixes). (Source)

Oldest maintained LTS version of MediaWiki: 1.39 (supported through November 2025).
Latest LTS version of MediaWiki: 1.39 (supported through November 2025). (Source)

Current version on OniGalore: 1.39.6

You can browse each version of the MW code HERE.

1.39

I have checked the release notes through 1.39.6.
  • We are currently on the latest version of 1.39.

1.40

I have checked the release notes through 1.40.2.
  • Requires PHP 7.4.3+ and the PHP extensions ctype, dom, fileinfo, iconv, intl, json, mbstring, xml.
  • Special:Search can now show thumbnails for results for titles outside NS_FILE. This is controlled via the new onSearchResultProvideThumbnail hook.
  • A new preference ('search-thumbnail-extra-namespaces') to allow users to control whether to show more thumbnails (per $wgThumbnailNamespaces)
  • The preferences page now provides a search bar to find preferences, regardless of the tab on which they appear.
  • $wgPasswordPolicies – This setting, which controls what makes for a valid password for wiki accounts, has been adjusted to raise the minimal password length from 1 to 8 characters. The initial limit of 1 has been in place since MediaWiki 1.26. If you wish to allow shorter passwords, you can over-ride it in your LocalSettings following the guidance on MediaWiki.org.
  • You should configure your webserver to return the http header 'X-Content-Type-Options: nosniff' for the /images directory. This will instruct browsers to not apply content sniffing when accessing the files. MediaWiki before 1.40 shipped with a content sniffer which disallowed potentially dangerous files at upload time, but this protection has now been removed in favor of this 'X-Content-Type-Options: nosniff' header and the installer will return a warning when it is not in place.
  • Maintenance scripts should now be executed using maintenance/run.php, e.g. maintenance/run.php update not maintenance/update.php as before.
  • Five extensions have now been bundled with MediaWiki:
    • The DiscussionTools extension, which provides a forum-like editing experience for wikitext-based discussion pages. This is the dreaded new "forum-like" experience for talk pages that I don't think any of us will want. It seems like it will be on by default so we'll have to change $wgDiscussionToolsEnable to false. Hopefully it doesn't do anything to mess with talk pages immediately upon install.
    • The Echo extension, which provides a system of user notifications.
    • The Linter extension, which warns about use of deprecated wikitext.
    • The LoginNotify extension, which warns users about failed attempted logins.
    • The Thanks extension, which lets users thank editors for edits.
  • The Renameuser extension has been moved to MediaWiki core. It is now possible to rename users without installing an extension. The extension had already been bundled with MediaWiki since 1.18.

1.41

  • Requires PHP 7.4.3+ and the PHP extensions ctype, dom, fileinfo, iconv, intl, json, mbstring, xml.
  • MediaWiki now requires browsers to support ES6 for them to receive JavaScript, up from ES5. In practice, this primarily means that users of Internet Explorer 11 (EOL in 2022) will no longer get JavaScript tools.
  • Some interesting new configuration variables:
    • $wgImplicitRights - A list of implicit rights, in addition to the ones defined by the core. Rights in this list are granted implicitly to all users, but rate limits may apply to them.
    • $wgInterwikiLogoOverride - List of interwiki logos overrides.
    • $wgSVGNativeRendering - Whether native SVG rendering by the browser agent is allowed
    • $wgSVGNativeRenderingSizeLimit - If $wgSVGNativeRendering is set to 'partial', this sets the size limit for an SVG file to be rendered as a PNG instead of directly by the browser.