* Added a new hook, 'UploadVerifyUpload', which can be used to reject a file
upload. Unlike 'UploadVerifyFile' it provides information about upload comment
and the file description page, but does not run for uploads to stash.
+* (T141604) Extensions can now provide a better error message when their
+ maintenance scripts are run without the extension being installed.
=== External library changes in 1.28 ===
* The 'ParserLimitReportFormat' hook was removed.
* Disabled "bug 2702" HTML tidying of parsed UI messages on wikis where Tidy is
disabled.
+* DifferenceEngine::generateDiffBody() was removed (deprecated since 1.21).
== Compatibility ==