On Mon, Jan 4, 2016 at 12:36 PM, Daniel Barrett <[email protected]> wrote:

> I'm upgrading my site to MediaWiki 1.26 (from 1.24) and noticed a change
> in API behavior. One of our custom API modules:
>
>         http://mywiki.com/w/api.php?action=foobar&format=json......
>
> used to return a JSON array, like this:
>
>         [ {"start":"2015-12-28","end":"2016-01-01", ...} ]
>
> and now it returns a numerically indexed hash like this instead:
>
>         {"0":{"start":"2016-01-18","end":"2016-01-18", ...}}
>

The API no longer returns root arrays by default, because that's almost
always not what's intended (see T12887). If necessary you can override that
for your action module with $result->addArrayType( null, 'array' ).

>
> Do we need to do something special in 1.26 to get the array instead of the
> hash? Or is this a breaking change? Or are we probably doing something
> wrong?  I looked for breaking API changes in 1.25 and 1.26 but don't see
> anything like this:
>
>         https://www.mediawiki.org/wiki/MediaWiki_1.25#API_changes


Apparently that page didn't pick up the ApiResult rewrite that was
mentioned in 1.25's full release notes <
https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_25/RELEASE-NOTES-1.25>.
API modules may need changing, see
https://lists.wikimedia.org/pipermail/wikitech-l/2015-May/081646.html for
details.


-- 
Brad Jorsch (Anomie)
Senior Software Engineer
Wikimedia Foundation
_______________________________________________
Mediawiki-api mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-api

Reply via email to