Hey all,
I released OOjs UI 0.16.0 today. It will be in MediaWiki core from 1.27.0-wmf.15 which will be deployed to Wikimedia production in the regular train, starting on Tuesday 1 March. As there are four breaking changes (albeit some nominal) please look carefully over them to determine if they affect your code.
Breaking and deprecating changes since last release:
- DraggableGroupElement: Add default implementation of re-order (Ed Sanders)
This mixin previously wouldn't re-oder its own contents, which instead needed to be implemented (and duplicated) by each downstream. We now provide a basic reorder() method, so that this is no longer needed. Widgets with more complex requirements can over-ride the method. The events which we previously emitted for downstream widgets to implement this themselves are still emitted but are deprecated and will be removed. The only known users of this are in Editing's own VisualEditor-MediaWiki and TemplateData, both of which we shall fix.
- SelectFileWidget: Remove deprecated config 'dragDropUI' (Prateek Saxena)
This option had been deprecated some time ago, in v0.12.7, but we (I) clearly forgot to remove it. :-) Prateek noticed this whilst doing wider clean-up for this widget, and so we're now (finally) removing it. This option has not been used by anyone since August last year, as far as we know.
- MenuOptionsWidgets: Drop jQuery autoEllipsis support (Bartosz Dziewoński)
This feature was very expensive in terms of both execution performance and in resource terms, and was only used as far as we know inside VisualEditor. Thus we have killed this feature, which only provided the option to add '…' inside labels rather than at their end when they didn't fit inside the menu. Thus we no longer support the 'autoFitLabel' configuration option, and the getLabel() call is now deprecated.
- Element#scrollIntoView: Replace callback with promise (Ed Sanders)
Having a callback for scrollIntoView was out of keeping with the architecture of the rest of the library, so we deprecated it with a returned promise which does the same.
- Remove 'noimages' distribution (Bartosz Dziewoński)
As part of our on-going work to slim down the library for wider usage, during the 0.15.x series of release we (mostly MatmaRex) split out the core parts in to a 'core' distribution, with the rest of the library's components available in other distributions. These changes removed the justification for retaining our 'noimages' distribution of the library without the images, as it was only of use to MediaWiki, which no longer needs it. This, this is only nominally a breaking change in the names of files to be loaded by downstream environments which should not have any effect on developers or end-users.
- Require PHP 5.5.9+; drop old array syntax (James D. Forrester)
We have simplified our server-side code, as we now require PHP version 5.5.9, or higher, for the execution environment. This change was done following that by MediaWiki, dropping of support for PHP 5.3.x, as the only significant user of the library. This is thus a nominal breaking change in the environments we support, which should not have any effect on developers or end-users.
Additional details are in the full changelog[0]. If you have any further queries or need help dealing with deprecations, please let me know. As always, a general set of library documentation is available on mediawiki.org[1], and there is some comprehensive generated code-level documentation and interactive demos hosted on doc.wikimedia.org[2].
[0] - https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md [1] - https://www.mediawiki.org/wiki/OOjs_UI [2] - https://doc.wikimedia.org/oojs-ui/master/
J.
wikitech-l@lists.wikimedia.org