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.
--
James D. Forrester
Lead Product Manager, Editing
Wikimedia Foundation, Inc.
jforrester(a)wikimedia.org | @jdforrester