Wikidata deployment

mw1.24wmf20
Note: This branch was named incorrectly and was supposed to be mw1.24wmf21. Nonetheless, due to caching issues, it was not deployed (e.g. reverted on test.wikidata).

Deployment notes

 * update cache epoch

Changes

 * changes in UI (sitelinks, ...) that may affect gadgets and require updating (parser) cache epoch
 * updates to property suggester

Bug fixes

 * fix auto-comment parameter when creating redirects (bug 69750)
 * fix link to badge items pointing to the wrong site (bug 69758)

Deployment notes

 * update cache epoch

Changes

 * change internal serialization format (?)
 * other projects links in the sidebar as a beta feature
 * entity suggester update to allow suggesting qualifiers and references
 * showing badges on the client

Changes

 * Wikibase Client enabled on Wikidata
 * Lua / parser function with arbitrary access
 * Can add Wikidata non-item pages as site links
 * Group "special" sites in their own section (Wikidata and Commons)
 * Enable Wikibase Client on Wikinews!
 * badges
 * monolingual text
 * redirects

Deployment notes

 * Add siteLinkGroups setting to client config in wmf config, for other projects default setting to work
 * Purge parser cache

Bug fixes

 * Fixed snak type selection (e.g. novalue) sticks when canceling. 67294
 * Fixed cannot reorder snaks within a reference. 65695
 * Fixed not possible to add no-value and some-value snaks. 66626
 * Fixed not possible to change rank alone. 66633
 * Fixed High coordinate precision fires "The value does not comply with the property's definition." 55971
 * Fixed make it possible to edit globecoordinates when precision does not match predefined precisions in the frontend 65535
 * Fixed do not link deleted items - show text note instead 65002

Other

 * Improve i18n messages, make less confusing.
 * Use api serialization format for internal storage, with backwards compat. that we need for Wikidata (for now).

Deployment notes

 * Add setting to continue using old serialization format for backwards compat: 'internalEntitySerializerClass' => 'Wikibase\Lib\Serializers\LegacyInternalEntitySerializer' ✅

API Changes

 * BREAKING CHANGE: wblinktitles no longer returns an integer item id, but a properly prefixed one
 * BREAKING CHANGE: DispatchStats API returns ISO 8601 timestamps instead of raw database strings. (138306)

Changes
Enabling new property / entity suggester for test / wikidata.

The suggester enhances the property suggestions on Wikidata when entering new statements. For example, an item that already has "head of government", when you enter the next statement and enter "t" and "type of administrative entity" is the first suggestion instead of "tennis singles rating" or other such less irrelevant suggestion, based on correlation statistics for properties and how often they are used together on items.

The suggester has an api module and combines results in / extends the default Wikibase javascript entity suggester.

The suggester has been reviewed for security, etc. (see 66382) and is deployed on the Wikidata test / demo system. 

Bug fixes

 * 65646 - merge items
 * improved snak error handling and formatting (fixes property parser function and lua to work with #iferror when there is a mismatch between property and data value type, or 'ununserializable value'.)
 * jQuery compatibility fixes (already deployed)
 * prevent import of entities to avoid ID conflicts 63228
 * fix various javascript issues for editing / saving statements 64651, 65694,  65693,  65398

Other

 * moved term validation into ChangeOps
 * use single instance of SiteSQLStore 64743 (should help some with performance)

Bug fixes

 * fix for double pencil icon on clients (65001)
 * fix for Special:EntityData, which was giving 503 error for large items (60003)
 * lots of bug fixes for time formatting and parsing (mostly/all already backported and deployed)

Other

 * removed links in api.php to unmaintained documentation on mediawiki.org

Enhancements

 * use backend globe coordinate and time formatters and parsers (for input in UI)
 * now using i18n json format
 * changes to api error reporting
 * changed UI text "source" to "reference"
 * improvements to backend handling of UpdateRepoOnMoveJob

Bug fixes

 * intermediate solution to (render links for deleted items in red)
 * fix edit restriction handling -
 * fix miscounting of coalesced changes in client recent changes -
 * fix entity selector, when selecting (e.g. 3rd suggestion) property value then sometimes the 1st suggestion is saved -

Known issues

 * "Precision higher than 'DAY' is not supported yet" error for dates like 1987x -, waiting to deploy fix deployed

Deployment notes

 * update cache epoch for parser cache

Enhancements

 * use backend globe coordinate and time formatters
 * now using i18n json format

Deployment notes

 * add sites and site_identifiers tables
 * populate sites table
 * config change

Enhancements

 * Javascript config variables (wbEntity and wbUsedEntities) are now cached in parser cache
 * Reduce use of EntityContent in various places in the code

Bug fixes

 * Fixed wbsearchentities api continue param 62959
 * Fixed issue of Wikibase changes not appearing in client watchlist 62149
 * Fixed inaccurate edit summary (mentioned badges for non-badge edits) in Special:SetSiteLink 62546
 * Special:DispatchStats now displays timestamps adjusted to users' timezone 62428
 * Don't use ULS heuristics in choosing languages for the "other languages / terms" box on item pages, if a user has babel boxes 61446

Deployment notes

 * Rights have been changed, probably requires changes (OAuth) - change is not required immediately and can be done anytime.

Enhancements

 * New Lua interface
 * Moving formatters to backend
 * JS performance improvements
 * Enable data use on Wikisource

needed for wikisource

 * Enable data transclusion for Wikisource on the 25th.

Enhancements

 * quantities!
 * performance improvements
 * “in other languages” box also show up for people who have not configured a babel box 49079

Bug fixes

 * revisions of items that have been RevDeled or suppressed (by oversighters) cannot be viewed 58027
 * claim index out of bounds

needed for test.wikidata

 * purge the parser cache by bumping $wgCacheEpoch
 * make sure wikidata-shortcopyright message is handled properly ✅
 * add new data rights url / text settings
 * update config to load new extension-list-wikidata / old list conditionally

needed for wikidata

 * stop/update cron jobs to use code in new location
 * old client code compatible with new repo code - with cache key varying on $wmfExtendedVersionNumber, should be fine. ✅

Not required for deployment, but should be done soon

 * schema updates - check that they don't depend on deployment... i think they can be done before/after/whatever
 * https://gerrit.wikimedia.org/r/#/c/99637/ - (bug 47135) Make row IDs use BIGINT, db schema change, see repo/sql/MakeRowIDsBig.sql
 * https://gerrit.wikimedia.org/r/#/c/99660/ - (bug 45529) use composite indexes on wb_terms, db schema change, see repo/sql/UpdateTermIndexes.sql

Deployment notes

 * add sites table and populate for wikisource

Changes

 * data type in json / api output
 * table of contents
 * sorting
 * ranks

Other

 * improvements to the link item widget in the client
 * using parser cache now
 * improvements to page loading in backend

Bug fixes

 * diff=0 works - 49434