=== New features in 1.33 ===
* The 'GetPreferences' hook now receives an additional $context parameter.
+* (T96041) __EXPECTUNUSEDCATEGORY__ on a category page causes the category
+ to be hidden on Special:UnusedCategories.
+* Add PasswordPolicy to check the password isn't in the large blacklist.
* …
=== External library changes in 1.33 ===
==== New external libraries ====
+* Added wikimedia/password-blacklist 0.1.3
* …
==== Changed external libraries ====
=== Action API changes in 1.33 ===
* (T198913) Added 'ApiOptions' hook.
* The JSON formatversion=2 is no longer experimental.
+* Internal API errors (those with code beginning "internal_api_error") will
+ include the exception class name in a data field named "errorclass".
+ * Class names are not guaranteed to remain stable, and in particular database
+ exceptions will now include the "Wikimedia\Rdbms\" prefix in the class name.
+ * The code including an exception class name is deprecated. In the future,
+ all internal errors will use code "internal_api_error".
* …
=== Action API internal changes in 1.33 ===
Additionally, the 'APIGetDescription' and 'APIGetParamDescription' hooks have
been removed, as their only use was to let extensions override values returned
by getDescription() and getParamDescription(), respectively.
+* API error codes may only contain ASCII letters, numbers, underscore, and
+ hyphen. Methods such as ApiBase::dieWithError() and
+ ApiMessageTrait::setApiCode() will throw an InvalidArgumentException if
+ passed a bad code.
* …
=== Languages updated in 1.33 ===
* filterIntval()
* filterTimezoneInput()
* getTimeZoneList()
+* mw.util.jsMessage(), deprecated in 1.20, was removed. Use mw.notify instead.
=== Deprecations in 1.33 ===
* The configuration option $wgUseESI has been deprecated, and is expected