-----
*28 May 2021*
**Improvements and Bugfixes**
* Use different logfiles for multiple processes of the same script (:phab:`T56685`)
* throttle.pip will be reused as soon as possibile
* terminal_interface_base.TerminalHandler is subclassed from logging.StreamHandler
* Fix iterating of SizedKeyCollection (:phab:`T282865`)
* An abstract base user interface module was added
* APISite method pagelanglinks() may skip links with empty titles (:phab:`T223157`)
* Fix Page.getDeletedRevision() method which always returned an empty list
* Async chunked uploads are supported (:phab:`T129216`, :phab:`T133443`)
* A new InvalidPageError will be raised if a Page has no version history (:phab:`T280043`)
* L10N updates
* Fix __getattr__ for WikibaseEntity (:phab:`T281389`)
* Handle abusefilter-{disallow,warning} codes (:phab:`T85656`)
**Code cleanups**
* MultipleSitesBot.site attribute was removed (:phab:`T283209`)
* Deprecated BaseSite.category_namespaces() method was removed
* i18n.twntranslate() function was removed in favour of twtranslate()
* siteinfo must be used as a dictionary ad cannot be called anymore
* APISite.has_transcluded_data() method was removed
* Deprecated LogEntry.title() method was removed
* Deprecated APISite.watchpage() method was removed
* OptionHandler.options dict has been removed in favour of OptionHandler.opt
* The toStdout parameter of ui.output has been dropped
* terminal_interface_base.TerminalFormatter was removed
* Move page functions UnicodeToAsciiHtml, unicode2html, url2unicode to tools.chars with renaming them
* Rename _MultiTemplateMatchBuilder to MultiTemplateMatchBuilder
* User.name() method was removed in favour of User.username property
* BasePage.getLatestEditors() method was removed in favour of contributors() or revisions()
* pagenenerators.handleArg() method was renamed to handle_arg() (:phab:`T271437`)
* CategoryGenerator, FileGenerator, ImageGenerator and ReferringPageGenerator pagegenerator functions were removed
* Family.ignore_certificate_error() method was removed in favour of verify_SSL_certificate (:phab:`T265205`)
* tools.is_IP was renamed to is_ip_address due to :pep:`8`
* config2.py was renamed to config.py
* Exceptions were renamed having a suffix "Error" due to :pep:`8` (:phab:`T280227`)