aboutsummaryrefslogtreecommitdiffstats
path: root/RELEASE-NOTES-1.20
Commit message (Collapse)AuthorAgeFilesLines
* (bug 39284) Improve the tablesorter for currency.Derk-Jan Hartman2012-08-241-4/+5
| | | | | | | | | | * Make the detector for currency not trigger on cells starting with "." or "?". * Make it trigger on values ending with a currency symbol. * Add the Yen sign. * Add a basic unit test. Change-Id: I3c1fdf41db04ea0726ba7613fa5e1365f8fb8493
* Merge "Make the width/height in the SVG metadata box be in the SVG's units"Catrope2012-08-231-0/+2
|\
| * Make the width/height in the SVG metadata box be in the SVG's unitsBrian Wolff2012-08-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was suggested by a user at commons. The width/height in px is really a MediaWiki thingy needed for rendering the image, from a metadata prespective its the original units (aka the image should be 10cm, etc) that is the information associated with the file. The dimensions in pixels is still specified in the long description of the image (the subtitle directly under the image). Note: After gerrit change Ic58efbf2 is merged, this will cause no width or height to be displayed for svg images with cached metadata, until they get purged. I think that's perfectly ok as the width is available elsewhere on the page. p.s. I added one semi-unrelated code comment in SVGMetadataExtractor. patchset 2,3: Fix test (hopefully, how come getting an up to date version of PHPUnit is so difficult) patchset 4: rebase patchset 5: fix my accidental remove of a comment Change-Id: I312fbd1c935a0095644c3b63c4929632c6f6e387
* | (sort of bug 32410) Fix EXIF GPSAltitude calculation when below sea level.Brian Wolff2012-08-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In EXIF, GPSAltitude is stored as a fraction string like "1/2". For values below sea level we were negating this value, in order to represent the sign and the magnitude in the same value. However, I forgot to convert that to an integer before negating it. PHP was nice enough to do a best effort conversion of the string to an integer. This resulted in altitudes below sea level being taken as just the numerator of the altitude, which gives results that can be significantly off. Also add unit tests for the GPS related image metadata stuff. Change the existing GPS test to use a fractional altitude (Since this issue isn't appearent if the denominator is 1). Add tests for XMP as well, since XMP had same issue, and has to do same processing as EXIF stuff does. In some future time, may want to consider just converting all exif rational values to real numbers during the extraction process for generally better sanity. Patchset 2: rebase Change-Id: I49032b52a4c840b28e667a6a2b8ae23c508df247
* | (bug 27111) Make cascading foreign repo's fetch description properlyBrian Wolff2012-08-231-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes action=render on file pages to include the shared image description (if it exists). The reasons for this are two fold: *Logically, most users would consider the shared description part of the content of the page, and not part of the site chrome, so it should be on action=render *Foreign file repos use action=render to get image descriptions. if you use say en.wikipedia.org as your file repo, commons images get cascasively included, but all their descriptions end up being the noarticletext message, which is bad. This makes the shared image descriptions work. Some notes on the implementation: * on action=render the div containing the shared description doesn't have the id that the one on normal page view has. This is to prevent duplicate ids in the cascading repo scenario. I added a class so people can identify them if they want, and this allows people to easily identify the "outermost" shared description as it would be the only one with the id. * This doesn't include the "shareddescriptionfollows" message (which is disabled by default) that would normally separate the local from the non-local description. I wasn't sure, but thought that would be considered part of the site chrome. Patchset 2/3: trailing space/spelling mistake Patchset 4: rebase Change-Id: I18bdf29de62526d699740607b5015da4b01fd43d
* (bug 30390) upload.js: Decode url encoding in file name.karun2012-08-231-0/+2
| | | | Change-Id: I3a48f8a8033ff6a8cb0b1cb322c2af1fceccbf39
* Revert "jQuery 1.8"Catrope2012-08-221-1/+1
| | | | | | | | This reverts commit 9023aa2d830029da5745e92212f03ddbc71da4c2. Regression reported on Wikinews, see bug 39572 Change-Id: I135c9931e5d3c8b85e1e9c4cd58326c682d878f2
* Merge "* (bug 39376) jquery.form upgraded to 3.14"Catrope2012-08-221-0/+1
|\
| * * (bug 39376) jquery.form upgraded to 3.14Reedy2012-08-211-0/+1
| | | | | | | | Change-Id: I1d30a5def4ba09054604e5af5666c31c631bc395
* | (bug 38249) No PCRE unicode causes installer to spew giberishBrian Wolff2012-08-211-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | If PHP's PCRE is not compiled with unicode property support, this causes the regexes used by the parser to not compile, causing the parser to output giberish. Its been reported that the default PHP package for cent os has PCRE in such a config. As a result the installer will output total giberish. The user has no idea what went wrong because there is no meaningful output. To counter that, cause Parser to throw an exception in that case. It seemed easier than figuring out how to convince the installer not to parse the environment check. For completeness sake though I fixed the PCRE environment check to adequetely check for PCRE not having unicode support. This should be backported to 1.19 since there are quite a few complaints about the issue on project:Support_desk. /me has no idea what the procedure for that is in our new git world Change-Id: Idb1658be4ee6203a55740450e335f570a616671c
* (bug 39297) Show a warning if thumbnails won't be animatedBrian Wolff2012-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | | This shows a warning on the image description page if the image is animated, but thumbnails won't be. This includes gif images that are too big, but also svg images that are animated, and APNG files. The message used is file-no-thumb-animation, but will also check for file-no-thumb-animation-<image extension> so that admins can do per image type explanations. Gif files have a built-in explanation that is slightly different (Since its do to resolution). Ideally one would pass the resolution limit to the gif message, but I couldn't think of a clean way of doing that. (Also might be complex to explain to user. They aren't used to resolution as a single number but as a width x height type thing). Moves isAnimatedImage from ImageHandler to MediaHandler, so I could safely use it from any handler class. Change-Id: I42ee11d889e0c41de53d0951f55a4338ca55311d
* (bug 39431) Fix how SVG metadata is displayed (esp. animated status)Brian Wolff2012-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | (Quite a few of these issues are my fault from 65c27ddeb19757cb8a) *All fields were starting as collapsed, which was not the intent of the code *Animated field used non-existent messages, and displayed a value of "1" instead of something meaningful to the user. Both (A)PNG and GIF handlers put the animated status in the long description which feels more natural to me so move the animated status to the long desc (long desc = subtitle under the image on the description page). *Use human readable file sizes in the long description instead of total number of bytes. This bring it in line with the implementation in the parent class. *Correctly mark scripted SVG's as animated. Mostly a moot point since we do not allow animated svgs past the upload checks but for completeness and for people who totally disable all upload verification. (Note: This would miss event attributes (onclick, etc) I didn't see much point in adding that since almost always there will be a script tag) Patchset 3: trailing whitespace (d'oh) patchset 4: rebasing so jenkins is happy Change-Id: Ic58efbf2bf1e4b14e3129e5bce9ea920d9804111
* (bug 23226) Add |class= parameter to image links in order to add class(es) ↵tpt2012-08-211-0/+1
| | | | | | to HTML img tag. Change-Id: If58802ad2c513c1db7bc3488daf4e078b8694b02
* Show tagfilter, when transclude RC special pagesumherirrender2012-08-211-0/+1
| | | | | | | | | | | | This reverts bug 23293, because with tagfilter, I see no UNIQ things. By the way, the fix for bug 23293 was not the best, because it modify for two pages the query and for the third only the display part. This also realign the ChangeTags::modifyDisplayQuery calls and fix the way, SpecialNewImages gets 'ts_tags' into the select Change-Id: I09cfa5697561970399622920214a569e9a712080
* Bug 26069 <title> element is "Error" for all error pageskarun2012-08-201-0/+1
| | | | | | added more meaningful heading Change-Id: If59e729df9aa9d559302d6ebe5d4ee11999808ea
* (bug 22749) Create Special:MostInterwikisumherirrender2012-08-191-0/+1
| | | | | | | | This special pages counts all langlinks and shows the pages with the highest count. Update rate on WMF is every 3 days, like all other Most* special pages. Change-Id: Ia60aed7599e8b9d6dcbae2be9bc4f91f4f8d4e55
* Add lang and hreflang attributes to the language links of the login page.Derk-Jan Hartman2012-08-191-0/+1
| | | | | | | | - Adding these attribues should make them easier to interpret for VoiceOver and other assitive technologies. - This assumes that people will enter the name of the language in the target language to MediaWiki:loginlanguagelinks, which is a convention but not a requirement of course. However I think making the bet that people actually do that is safe enough. - Switch the name of the old attr variable to query, which better reflects what it is supposed to be used for. Change-Id: I0cdae9f1e539b9b9c2b99ea1db1ba62bbbb0bdc5
* (bug 32774) Added config options and flags for SSL and compression in DB.Tyler Anthony Romeo2012-08-161-0/+2
| | | | | | | | | | | | | | | Added configuration options ($wgDBssl, $wgDBcompress) and related connection flags (DBO_SSL, DBO_COMPRESS) to allow SSL/TLS and compression on database connections. The flags are only observed if the functionality is supported for that type of database (e.g., SQLite will ignore both flags as neither are supported). Currently, only MySQL and PgSQL have support for at least one of these flags in their PHP extensions. MySQL supports both flags and PgSQL supports the SSL flag only. Change-Id: I7b4d3ba82ccab0eed4a19e3b4e7bc0b4eb881262 Signed-off-by: Tyler Anthony Romeo <tylerromeo@gmail.com>
* Allow importing pages as subpageumherirrender2012-08-151-0/+1
| | | | | | | | | | | Adding a "root page" input to Special:Import, which is used as prefix before each imported page. With this option, it is possible to import pages as subpage of a user or a project page. On de.wp the import is often done into a low used namespace (100 or 101) and than moved to the user space. Doing this in one step, makes things easier. Change-Id: Id5dbf742295a1bbddd8cb6eaa09fb28051f26613
* Merge "New hook 'ParserTestGlobals'"Demon2012-08-141-0/+1
|\
| * New hook 'ParserTestGlobals'Daniel Werner2012-08-141-0/+1
| | | | | | | | | | | | Allows to set globals before running parser tests. Change-Id: Iea057b992b260611bca7f3adade2c8214b0dcea2
* | (bug 36524) "Show" options are now remembered between successive clicks.Alexandre Emsenhuber2012-08-141-3/+5
|/ | | | | | | | The problem is that $options in SpecialRecentChanges::makeOptionsLink() can that values set to false and wfArrayToCgi() omits such items; instead they have to be explicitely converted to "0" to not be omitted. Change-Id: I20af27fc4e012fec36d48b9120ec49a39f5cbb1f
* Merge "Added a Redis client for object cache storage"Aaron Schulz2012-08-131-0/+1
|\
| * Added a Redis client for object cache storageTim Starling2012-08-091-0/+1
| | | | | | | | | | | | | | | | With sharding, failover and consistent hashing. Only supports the extension (phpredis), since the pure PHP library Predis had about a billion files and it made my eyes hurt. Change-Id: I90fb4a41d15265b9c22f8e32ecd1d956f89f3ce8
* | Merge "jQuery 1.8"Krinkle2012-08-111-1/+1
|\ \
| * | jQuery 1.8Reedy2012-08-101-1/+1
| | | | | | | | | | | | | | | | | | http://blog.jquery.com/2012/08/09/jquery-1-8-released/ Change-Id: I7b85e1382615e76b1737c7c52691cf8079a55f6e
* | | jsMessage: Redesign in Vector/Monobook as bubble with auto-hideTrevor Parscal2012-08-111-0/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A bit like the "Growl" notifications on Mac. The message will auto-hide in all skins, which is especially useful with VisualEditor because you it does most things through ajax which means that a msg in there could be visible for way longer than it should be with no way of hiding it. By being designed as a floating bubble instead of a static positioned element in regular document flow it also prevents the page flow from being interrupted and moved down a bit. Again that was especially annoying in VisualEditor because jsMessage forced itself between the tab bar and the editor toolbar, which were meant to be against each other. Auto-hiding is disabled while the mouse if hovering the message. The timer starts again when the mouse is no longer on it. Also: * cleaned up some whitespace issues in vector.js * Removed jshintignore for skins/common Removed whitelisting of 'mw' global skins/common may not be prefect, but at least this way it gives warnings inside the code when writing/editing something, which is still useful. It helped to catch that 'mw' was used from the global scope. Change-Id: I41c70d78c8ed8aeb91a598dc4a7b26dfad8d8f6c
* | [Database] Various DB cleanups.Aaron Schulz2012-08-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | * Removed unused and obsolete set() and safeQuery() functions. * Removed unused deprecated constructor functions. * Removed unused limitResultForUpdate() cruft function. * Removed unused standardSelectDistinct(), it's better to just follow the standard for all queries. * Removed other cruft functions unused by core/extensions. * Made some internal functions protected. Change-Id: I90be88ea740834a417a17d7751f1be7bac4eae4e
* | Replace $wgDBerrorLogInUTC with a $wgDBerrorLogTZ variable whichPlatonides2012-08-081-2/+2
| | | | | | | | | | | | | | can be set to any other timezone. Also avoids the ugly default-changing that was being used by c15605. Change-Id: I7a5086f84310f50a1929e07bd2e6527a518424b2
* | Merge "Allow session expiry time to be configured"Reedy2012-08-081-1/+2
|\|
| * Allow session expiry time to be configuredTim Starling2012-08-081-1/+2
| | | | | | | | | | | | | | When $wgSessionsInObjectCache is enabled, use a configurable expiry time instead of a hard-coded one-hour expiry. Change-Id: Ia51962176d30fd87e298c47ec347a143cad80772
* | Merge "Allow session storage to be configured independently"Aaron Schulz2012-08-081-0/+4
|\|
| * Allow session storage to be configured independentlyTim Starling2012-08-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | * Introduce $wgSessionCacheType to allow the session storage to be configured independently of $wgMemc. * Renamed $wgSessionsInMemcached to $wgSessionsInObjectCache to reflect the new versatility. * Modernized the relevant code, removing the explicit require_once(), used the autoloader instead. Moved it to ObjectCacheSessionHandler. * Tested with memcached, external sharded MySQL and APC, it all seems to work just fine. Change-Id: I473334bb56cafb4e21ac1c1304d69095676fc0c4
* | (bug 33037) Special:newfiles treat its subpage parameter as a limitBrian Wolff2012-08-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This restores the older behaviour of Special:newfiles. This allows people to easily include variable sized galleries via {{Special:newfiles/12}} syntax (people could of course previously do {{special:newfiles|limit=12}} but less people know that. Also makes IndexPager::setLimit validate the limit in the same way it validates the limit coming from a url, and makes it so that calling setLimit takes precedence over its built in determine the limit code. p.s. This is my first commit in our great glourious git future, so let me know if i did anything wrong Change-Id: I7fc148e56e43b7c453a1a9559ef74b8b3119c6fe
* | (bug 11142) Improve file ext error reporting in API uploadBrad Jorsch2012-08-071-0/+3
|/ | | | | | | | | | | | | | | | | | | | The API action=upload returns a generic error message when one or more of the file extensions are blacklisted. It should return a more informative message, and also return the list of blacklisted extensions in a machine-readable format. This changeset introduces a new message, "api-error-filetype-banned-type", which is to "api-error-filetype-banned" what "filetype-banned-type" is to "filetype-banned". As a starting point, I've copied (with minor changes) the existing filetype-banned-type message to api-error-filetype-banned-type for all languages for which both api-error-filetype-banned and filetype-banned-type are currently given. This changeset also incidentally fixes an internal server error with format=xml when the filetype-banned error is returned by the API. Change-Id: I6b0c58fbc5b19aa55286c56fa7da2195ea683ae0
* Merge "* Bug 39032 - ApiQuery generates help in constructor."Nikerabbit2012-08-041-0/+1
|\
| * * Bug 39032 - ApiQuery generates help in constructor.Reedy2012-08-041-0/+1
| | | | | | | | | | | | | | | | | | Functions called unnecesserily, as their return values aren't used or even cached. Removing them to reduce the pointless overhead of calling them Change-Id: I0d8ddab9492ea79d5de4118944e77ac774275506
* | Merge "Added line to rel notes about CacheHelper class"awjrichards2012-08-031-0/+1
|\ \ | |/ |/|
| * Added line to rel notes about CacheHelper classjeroendedauw2012-07-311-0/+1
| | | | | | | | Change-Id: I994edc0e13ff28a31aac4457ea25ae9cefddd67f
* | * (bug 38953) --memory-limit switch not working for runJobs.php.Reedy2012-08-021-0/+1
| | | | | | | | | | | | | | | | | | In runJobs.php the memory limit was hardcoded to 150M, so passing --memory-limit would have no difference. Changed to using what was passed as --memory-limit if something was, else just use the 150M as usual Change-Id: I3e3bafc6a0fe4e88792a65f01b432c8f4f6677cf
* | (bug 38904) prop=revisions&rvstart=... should not blow up when continuingBrad Jorsch2012-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A query using prop=revisions in enum mode will return a query-continue using rvstartid. If the original query included rvstart, the client will therefore send both the rvstart from the original query and the rvstartid from the query-continue. And the API will then return an error that rvstart and rvstartid may not both be used in the same query. Since there is no way for the API to instruct the client to ''not'' send the rvstart when continuing, we'll just use rvcontinue instead. Then the module can ignore both rvstart and rvstartid to get the intended continuation. Change-Id: I145215996b8a7818196cdfb583a1fdacae973fee
* | Merge "(bug 35526) Make jquery.tablesorter use a stable sort"Catrope2012-08-021-0/+1
|\ \
| * | (bug 35526) Make jquery.tablesorter use a stable sortBrad Jorsch2012-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In r86337, jquery.tablesorter was changed from using the standard Javascript Array.sort to a custom merge sort, with the justification that it eliminates an eval and merge sort is stable. However, the implementation used is not, in fact, stable, and making an in-place merge sort stable reportedly kills performance. Instead, let's just go back to using Array.sort, but with a closure (basically the same comparison function used by the merge sort) rather than an eval and using the already-calculated "position" as a tiebreaker when two rows are otherwise equal to make it stable. Change-Id: Idc50127d3bfec2b1727f397a9780b359fd56055e
* | | Allow manipulation of wl_notificationtimestamp via the APIBrad Jorsch2012-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It should be possible to query the notificationtimestamp as a page info property, rather than only by querying the recent changes for the watchlist. It should also be possible to clear or adjust the notificationtimestamp via the API. This patch does just that. Change-Id: I8e2c0769e93802a6a09936899a41c07f9c4c9f25
* | | * (bug 38231) Add xml parse tree to action=parse.Reedy2012-08-021-0/+1
|/ / | | | | | | Change-Id: I4db3950c937e6299c6f3adc9b90137ac642c607c
* | HTMLForm mutators can now be chainedAntoine Musso2012-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This make HTMLForm mutator to return $this for easy method chaining such as: form = new HTMLForm( $someFields ); $form->setMethod( 'get' ) ->setWrapperLegendMsg( 'message-key' ) ->suppressReset() ->prepareForm() ->displayForm(); prepareForm()->displayForm(); should be at the very end apparently though it is not enforced by the object. Change-Id: Iebaa83a1da3c89e5ab729a889e54844535619d54
* | (bug 25095) Special:Categories should also include the first relevant item ↵Alexandre Emsenhuber2012-08-021-0/+2
| | | | | | | | | | | | | | | | when "from" is filled Second attempt after that the first one was reverted in I119160d59c4fca0d069adef60151b30d53b582a1. Change-Id: If301c7cac3fafbcdd6f3ff8e0e822b0db29f09a2
* | bug 36073 Use mw-imagepage-linkstoimage-ns as a class instead of an IDDerk-Jan Hartman2012-08-011-0/+1
| | | | | | | | | | | | This avoids multiple defines of the same ID on a File page. Change-Id: I0f8ae37d74f2ec519361b2af164e115f6efa4ac6
* | (bug 37830) new $wgRequirePasswordforEmailChangeReedy2012-08-011-0/+2
| | | | | | | | | | | | | | $wgRequirePasswordforEmailChange to control whether password confirmation is required for changing an email address or not. Change-Id: Iaef440ef56d391bf9e68d15899fc81c6050722fb
* | (bug 38151) Implement mw.user.getRights and getGroupsAlex Monk2012-07-311-0/+5
| | | | | | | | | | | | | | | | | | | | * Also deprecate name() and anonymous() in favour of getName() and isAnon() (to match User.php), just like getRights and getGroups are now as well. * Added unit tests for all. Change-Id: I5970be9e8593589018152f4878f168b9b85ca5d5