Please note that this is a breaking change for bots!
It is decided that the module wbsetitem will change from the present "short form" in the json structure to a "long form". Exactly how the long form will be is still a bit open, but it will be closer to the json output format. The changes also makes it possible to use a key-less format as the language and site id will be available inside the long form.
The following short form will be WRONG in the future { "labels":{ "de":"Foo", "en":"Bar" } }
This long form will be RIGHT in the future { "labels":{ "de":{"value":"Foo","language":"de"}, "en":{"value":"Bar","language":"en"} } }
And also this will be RIGHT { "labels":[ {"value":"Foo","language":"de"}, {"value":"Bar","language":"en"} ] }
New modules may use a long form if they support json input, but that for the future.
In some cases it seems necessary to add flags for what to do with individual fields, but perhaps we can avoid it. (Typically for adding/removing aliases, but it could also be necessary for other fields.)
There are also a new "clear" URL argument that will clear the content of an item and make it possible to rebuild it from scratch. Default behavior is NOT to clear the content, but to incrementally build on the existing item.
Also note that use of [no]usekeys in the URL is not supported anymore.
See also * http://www.mediawiki.org/wiki/Extension:Wikibase/API#New_long_format
/jeblad
wikitech-l@lists.wikimedia.org