wikimedia/pywikibot

View on GitHub
scripts/CHANGELOG.rst

Summary

Maintainability
Test Coverage
Scripts Changelog
=================

9.2.0
-----

addwikis
^^^^^^^^

* This maintenance script was added to add wikis to the Family.codes set

commons_information
^^^^^^^^^^^^^^^^^^^

* Do not remove valid description parts of Information template (:phab:`T364640`)
* Use transclusions of Information template as default generator
* Preload pages to make the script upto 10 times faster

illustrate_wikidata
^^^^^^^^^^^^^^^^^^^

* ``-always`` option is supported

interwikidata
^^^^^^^^^^^^^

* Do not create an option named None (:phab:`T366409`)

noreferences
^^^^^^^^^^^^

* L10N updates

9.1.0
-----

colors
^^^^^^

* Fix TypeError with :func:`backports.batched` (:phab:`T362035`)

noreferences
^^^^^^^^^^^^

* L10N updates
* Show an error message and leave if script is not localized (:phab:`T362103`)

replace
^^^^^^^

* Permit strings as exceptions for fixes
* Do not apply replacements multiple times  (:phab:`T363047`)
* Respect 'text-contains' from fixes dictionaries (:phab:`T142324`)


9.0.0
-----

category_graph
^^^^^^^^^^^^^^

* Check for ``-from`` option first (:phab:`T354162`)
* Validate file path input  (:phab:`T346417`)

category_redirect
^^^^^^^^^^^^^^^^^

* A ``-category`` option was added (:phab:`T353282`)
* Several improvements (:phab:`T276345`, :phab:`T351951`, :phab:`T352970`)
* provide category_redirect categories for all WM sites (:phab:`T348914`)

interwiki
^^^^^^^^^

* Use ``site.code`` instead of ``site.lang``
* Ignore :exc:`exceptions.InvalidTitleError` and :exc:`InvalidPageError` (:phab:`T357953`)

touch
^^^^^

* Use site.ratelimit for bulk purge in PurgeBot


8.5.0
-----

category_graph
^^^^^^^^^^^^^^

* Change category output string to format string (:phab:`T348709`)

commonscat
^^^^^^^^^^

* Fix skip page template parameter check (:phab:`T106952`)

8.4.0
-----

* L10N for several scripts

category_graph
^^^^^^^^^^^^^^

* Wrap DOT-string in curly braces (:phab:`T346007`)

checkimages
^^^^^^^^^^^

* Use welcome messages from :class:`scripts.welcome.WelcomeBot`
* add more messages to :mod:`i18n` system

newitem
^^^^^^^

* Enable ``-touch`` in newitem script for confirmed user (:phab:`T343877`)

maintenance
^^^^^^^^^^^

* new script unidata to update ``_first_upper_exception_dict`` of
  :mod:`pywikibot.tools._unidata`.


8.3.0
-----

patrol
^^^^^^

* Only handle namespaces with :func:`pagegenerators.GeneratorFactory` (:phab:`T341768`)


8.2.0
-----

archivebot
^^^^^^^^^^

* KeyboardInterrupt was enabled for -async option

listpages
^^^^^^^^^

* ``-tofile`` option was added to save list to a file

noreferences
^^^^^^^^^^^^

* NoReferencesBot derives from :class:`bot.AutomaticTWSummaryBot`

replicate_wiki
^^^^^^^^^^^^^^

* i18n support was added (:phab:`T333759`)

transwikiimport
^^^^^^^^^^^^^^^

* Script was added (:phab:`T335246`)


8.1.0
-----

archivebot
^^^^^^^^^^

* Processing speed was improved and is up to 20 times faster, 2-3 times on average

redirect
^^^^^^^^

* Use ``Bot:`` prefixed summary (:phab:`T161459`)
* Fix ``-namespace`` usage if RedirectGenerator is used (:phab:`T331243`)


8.0.2
-----

clean_sandbox
^^^^^^^^^^^^^

* L10N for es-wikis

8.0.1
-----

clean_sandbox
^^^^^^^^^^^^^

* L10N for several wikis

touch
^^^^^

* Login first when starting the script (:phab:`T328204`)


8.0.0
-----

blockpageschecker
^^^^^^^^^^^^^^^^^

* Fix neutral additive element

category
^^^^^^^^

* Enable pagegenerators options with ``move`` and ``remove`` actions (:phab:`T318239`)

category_graph
^^^^^^^^^^^^^^

* :mod:`category_graph` script was added which creates category graph in formats dot, svg and html5

clean_sandbox
^^^^^^^^^^^^^

* L10N updates
* A `-textfile` option was addet to fetch the text from a file

create_isbn_edition
^^^^^^^^^^^^^^^^^^^

* Fix argument parsing

fixing_redirects
^^^^^^^^^^^^^^^^

* Skip invalid link titles (:phab:`T324434`)

interwiki
^^^^^^^^^

Fix string concatenation (:phab:`T322180`)

touch
^^^^^

Provide bulk purge to run upto 1000 times faster


7.7.0
-----

archivebot
^^^^^^^^^^

* Process pages in parallel tasks with ``-async`` option (:phab:`T57899`)
* Add -sort option to sort archives by (latest) timestamp
* Archive unsigned threads using timestamp of the next thread (:phab:`T69663`, :phab:`T182685`)

category_redirect
^^^^^^^^^^^^^^^^^

* Use localized template prefix (:phab:`T318049`)

create_isbn_edition
^^^^^^^^^^^^^^^^^^^

* New script to load ISBN related data into Wikidata (:phab:`T314942`)

watchlist
^^^^^^^^^

* Watchlist is retrieved faster in parallel tasks (:phab:`T57899`)
* Enable watchlist.refresh_all for API generator access (:phab:`T316359`)

7.6.0
-----

*21 August 2022*

archivebot
^^^^^^^^^^

* Use ``User:MiszaBot/config`` as default template
* Raise MalformedConfigError if 'maxarchivesize' is 0 (:phab:`T313886`)
* Preserve thread order in archive even if threads are archived later (:phab:`T312773`, :phab:`T314560`)
* Skip the page if it does not exist
* Fix for DiscussionPage.size() (:phab:`T313886`)
* Decrease memory usage and improve processing speed

interwiki
^^^^^^^^^

* Fix wrong Subject property

pagefromfile
^^^^^^^^^^^^

* Derive PageFromFileReader from tools.collections.GeneratorWrapper

7.5.2
-----

*26 July 2022*

archivebot
^^^^^^^^^^

* Add localized "archive" variables  (:phab:`T71551`, :phab:`T313682`, :phab:`T313692`)

7.5.1
-----

*24 July 2022*

archivebot
^^^^^^^^^^

* Replace archive pattern fields to string conversion (:phab:`T313692`)

7.5.0
-----

*22 July 2022*

harvest_template
^^^^^^^^^^^^^^^^

*  Support harvesting time values (:phab:`T66503`)
*  Do not rely on self.current_page.site
*  Add ``-inverse`` option for inverse claims (:phab:`T173238`)
*  Only follow redirects in harvest_template.py if no wikibase item
   exists (:phab:`T311883`)

7.4.0
-----

*26 June 2022*

addtext
^^^^^^^

*  Fix for -createonly option (:phab:`T311173`)

harvest_template
^^^^^^^^^^^^^^^^

*  Add -confirm option which sets ‘always’ option to False
   (:phab:`T310356`)
*  Do not show a warning if generator is specified later
   (:phab:`T310418`)

interwiki
^^^^^^^^^

*  Fix regression where interwiki script removes all interwiki links
   (:phab:`T310964`)
*  Assign compareLanguages to be reused and fix process_limit_two call
   (:phab:`T310908`)

listpages
^^^^^^^^^

*  Print the page list immediately except pages are preloaded

nowcommons
^^^^^^^^^^

*  Use treat_page method (:phab:`T309456`)
*  Fix several bugs (:phab:`T309473`)

7.3.0
-----

*21 May 2022*

general
^^^^^^^

*  Call ExistingPageBot.skip_page() first (:phab:`T86491`)

delete
^^^^^^

*  Count deleted pages and other actions (:phab:`T212040`)

replace
^^^^^^^

*  A -nopreload option was added

weblinkchecker
^^^^^^^^^^^^^^

*  Throttle connections to the same host (:phab:`T152350`)
*  Do not kill threads after generator is exhausted (:phab:`T113139`)
*  Use Page.extlinks() to get external links (:phab:`T60812`)

update_script
^^^^^^^^^^^^^

*  update_script script was removed

7.2.1
-----

*07 May 2022*

movepages
^^^^^^^^^

*  Fix regression of option parsing (:phab:`T307826`)

7.2.0
-----

*26 April 2022*

general
^^^^^^^

*  Archived scripts were removed

archive
^^^^^^^

*  Fix trailing newlines (:phab:`T306529`)

checkimages
^^^^^^^^^^^

*  Use page_from_repository() method to read categoried from wikibase
*  Use ``itertools.zip_longest`` to find the most important image

dataextend
^^^^^^^^^^

*  A -showonly option was added to only show claims of an ItemPage
*  This new script was added. It is able to add properties, identifiers
   and sources to WikiBase items

delinker
^^^^^^^^

*  New delinker script was added; it replaces compat’s CommonsDelinker
   (:phab:`T299563`)

image
^^^^^

*  Fix image regex (:phab:`T305226`, :phab:`T305227`)

reflinks
^^^^^^^^

*  Ignore Bloomberg captcha (:phab:`T306304`)
*  Fix cp encodings (:phab:`T304830`)

replace
^^^^^^^

*  A -quiet option was added to omit message when no change was made

7.1.1
-----

*15 April 2022*

replace
^^^^^^^

*  Fix regression of XmlDumpPageGenerator

7.1.0
-----

*26 March 2022*

fixing_redirects
^^^^^^^^^^^^^^^^

*  -always option was enabled

reflinks
^^^^^^^^

*  Solve UnicodeDecodeError in ReferencesRobot.treat()
   (:phab:`T304288`)
*  Decode pdfinfo if it is bytes content (:phab:`T303731`)

7.0.0
-----

*26 February 2022*

general
^^^^^^^

*  L10N updates
*  Provide ConfigParserBot for several scripts (:phab:`T223778`)

add_text
^^^^^^^^

*  Provide -create and -createonly options (:phab:`T291354`)
*  Deprecated function get_text() was removed in favour of Page.text and
   BaseBot.skip_page()
*  Deprecated function put_text() was removed in favour of
   BaseBot.userPut() method
*  Deprecated function add_text() were remove in favour of
   textlib.add_text()

blockpageschecker
^^^^^^^^^^^^^^^^^

*  Use different edit comments when adding, changeing or removing
   templates (:phab:`T291345`)
*  Derive CheckerBot from ConfigParserBot (:phab:`T57106`)
*  Derive CheckerBot from CurrentPageBot (:phab:`T196851`,
   :phab:`T171713`)

category
^^^^^^^^

*  CleanBot was added which can be invoked by clean action option
*  Recurse CategoryListifyRobot with depth
*  Show a warning if a pagegenerator option is not enabled
   (:phab:`T298522`)
*  Deprecated code parts were removed

checkimages
^^^^^^^^^^^

*  Skip PageSaveRelatedError and ServerError when putting talk page
   (:phab:`T302174`)

commonscat
^^^^^^^^^^

*  Ignore InvalidTitleError in CommonscatBot.findCommonscatLink
   (:phab:`T291783`)

cosmetic_changes
^^^^^^^^^^^^^^^^

*  Ignore InvalidTitleError in CosmeticChangesBot.treat_page
   (:phab:`T293612`)

djvutext
^^^^^^^^

*  pass site arg only once (:phab:`T292367`)

fixing_redirects
^^^^^^^^^^^^^^^^

*  Let only put_current show the message “No changes were needed”
*  Use concurrent.futures to retrieve redirect or moved targets
   (:phab:`T298789`)
*  Add an option to ignore solving moved targets (:phab:`T298789`)

imagetransfer
^^^^^^^^^^^^^

*  Add support for chunked uploading (:phab:`T300531`)

newitem
^^^^^^^

*  Do not pass OtherPageSaveRelatedError silently

pagefromfile
^^^^^^^^^^^^

*  Preload pages instead of reading them one by one before putting
   changes
*  Don’t ask for confirmation by default (:phab:`T291757`)

redirect
^^^^^^^^

*  Use site.maxlimit to determine the highest limit to load
   (:phab:`T299859`)

replace
^^^^^^^

*  Enable default behaviour with -mysqlquery (:phab:`T299306`)
*  Deprecated “acceptall” and “addedCat” parameters were replaced by
   “always” and “addcat”

revertbot
^^^^^^^^^

*  Add support for translated dates/times (:phab:`T102174`)
*  Deprecated “max” parameter was replaced by “total”

solve_disambiguation
^^^^^^^^^^^^^^^^^^^^

*  Remove deprecated properties in favour of DisambiguationRobot.opt
   options

touch
^^^^^

\*Do not pass OtherPageSaveRelatedError silently

unusedfiles
^^^^^^^^^^^

*  Use oldest_file_info.user as uploader (:phab:`T301768`)

6.6.1
-----

*21 September 2021*

category
^^^^^^^^

*  Fix -match option

6.6.0
-----

*15 September 2021*

add_text
^^^^^^^^

*  Add -major flag to disable minor edit flag when saving

6.5.0
-----

*05 August 2021*

reflinks
^^^^^^^^

*  Don’t ignore identical references with newline in ref content
   (:phab:`T286369`)
*  L10N updates

6.4.0
-----

*01 July 2021*

general
^^^^^^^

*  show a warning if pywikibot.__version_\_ is behind
   scripts.__version_\_

addtext
^^^^^^^

*  Deprecate get_text, put_text and add_text functions
   (:phab:`T284388`)
*  Use AutomaticTWSummaryBot and NoRedirectPageBot bot class instead of
   functions (:phab:`T196851`)

blockpageschecker
^^^^^^^^^^^^^^^^^

*  Script was unarchived

commonscat
^^^^^^^^^^

*  Enable multiple sites (:phab:`T57083`)
*  Use new textlib.add_text function

cosmetic_changes
^^^^^^^^^^^^^^^^

*  set -ignore option to CANCEL.MATCH by default (:phab:`T108446`)

fixing_redirects
^^^^^^^^^^^^^^^^

*  Add -overwrite option (:phab:`T235219`)

imagetransfer
^^^^^^^^^^^^^

*  Skip pages which does not exist on source site (:phab:`T284414`)
*  Use roundrobin_generators to combine multiple template inclusions
*  Allow images existing in the shared repo (:phab:`T267535`)

template
^^^^^^^^

*  Do not try to initialze generator twice in TemplateRobot
   (:phab:`T284534`)

update_script
^^^^^^^^^^^^^

*  compat2core script was restored and renamed to update_script

version
^^^^^^^

*  Show all mandatory dependecies

6.3.0
-----

*31 May 2021*

addtext
^^^^^^^

*  -except option was removed in favour of commonly used -grepnot

archivebot
^^^^^^^^^^

*  Durations must to have a time unit

6.2.0
-----

*28 May 2021*

general
^^^^^^^

*  image.py was restored
*  nowcommons.py was restored
*  i18n updates
*  L10N updates

category
^^^^^^^^

*  dry parameter of CategoryAddBot will be removed

commonscat
^^^^^^^^^^

*  Ignore InvalidTitleError (:phab:`T267742`)
*  exit checkCommonscatLink method if target name is empty
   (:phab:`T282693`)

fixing_redirects
^^^^^^^^^^^^^^^^

*  ValueError will be ignored (:phab:`T283403`, :phab:`T111513`)
*  InterwikiRedirectPageError will be ignored (:phab:`T137754`)
*  InvalidPageError will be ignored (:phab:`T280043`)

reflinks
^^^^^^^^

*  Use consecutive reference numbers for autogenerated links

replace
^^^^^^^

*  InvalidPageError will be ignored (:phab:`T280043`)

upload
^^^^^^

*  Support async chunked uploads (:phab:`T129216`)

6.1.0
-----

*17 April 2021*

general
^^^^^^^

*  commonscat.py was restored
*  compat2core.py script was archived
*  djvutext.py was restored
*  interwiki.py was restored
*  patrol.py was restored
*  watchlist.py was restored

archivebot
^^^^^^^^^^

*  PageArchiver.maxsize must be defined before load_config()
   (:phab:`T277547`)
*  Time period must have a qualifier

imagetransfer
^^^^^^^^^^^^^

*  Fix usage of -tofamily -tolang options (:phab:`T279232`)

misspelling
^^^^^^^^^^^

*  Use the new DisambiguationRobot interface and options

reflinks
^^^^^^^^

*  Catch urllib3.LocationParseError and skip link (:phab:`T280356`)
*  L10N updates
*  Avoid dupliate reference names (:phab:`T278040`)

solve_disambiguation
^^^^^^^^^^^^^^^^^^^^

*  Keyword arguments are recommended if deriving the bot; opt option
   handler is used.

welcome
^^^^^^^

*  Fix reporting bad account names

6.0.0
-----

*15 March 2021*

general
^^^^^^^

*  interwikidumps.py, cfd.py and featured.py scripts were deleted
   (:phab:`T223826`)
*  Long time unused scripts were archived (:phab:`T223826`). Ask to
   recover if needed.
*  pagegenerators.handle_args() is used in several scripts

archivebot
^^^^^^^^^^

*  Always take ‘maxarticlesize’ into account when saving
   (:phab:`T276937`)
*  Remove deprecated parts

category
^^^^^^^^

*  add ‘namespaces’ option to category ‘listify’

commons_information
^^^^^^^^^^^^^^^^^^^

*  New script to wrap Commons file descriptions in language templates

generate_family_file
^^^^^^^^^^^^^^^^^^^^

*  Ignore ssl certificate validation (:phab:`T265210`)

login
^^^^^

*  update help string

maintenance
^^^^^^^^^^^

*  Add a preload_sites.py script to preload site informations
   (:phab:`T226157`)

reflinks
^^^^^^^^

*  Force pdf file to be closed (:phab:`T276747`)
*  Fix http.fetch response data attribute
*  Fix treat process flow

replace
^^^^^^^

*  Add replacement description to -summary message

replicate_wiki
^^^^^^^^^^^^^^

*  replace pages in all sites (:phab:`T275291`)

solve_disambiguation
^^^^^^^^^^^^^^^^^^^^

*  Deprecated methods were removed
*  Positional arguments of DisambiguationRobot are deprecated, also some
   keywords were replaced

unusedfiles
^^^^^^^^^^^

*  Update unusedfiles.py to add custom templates

5.6.0
-----

*24 January 2021*

general
^^^^^^^

*  pagegenerators handleArg was renamed to handle_arg
   (:phab:`T271437`)
*  i18n updates

add_text
^^^^^^^^

*  bugfix: str.join() expects an iterable not multiple args
   (:phab:`T272223`)

redirect
^^^^^^^^

*  pagegenerators -page option was implemented (:phab:`T100643`)
*  pagegenerators namespace filter was implemented (:phab:`T234133`,
   :phab:`T271116`)

weblinkchecker
--------------

*  Deprecated LinkChecker class was removed

5.5.0
-----

\*12 January 2021

general
^^^^^^^

*  i18n updates
*  L10N updates

add_text
^^^^^^^^

*  -except option was renamed to -grepnot from pagegenerators

solve_disambiguation
^^^^^^^^^^^^^^^^^^^^

*  ignore ValueError when parsing a Link object (:phab:`T111513`)

5.4.0
-----

*2 January 2021*

general
^^^^^^^

*  i18n updates

replace
^^^^^^^

*  Desupported ReplaceRobot.doReplacements method was removed

5.3.0
-----

*19 December 2020*

data_ingestion
^^^^^^^^^^^^^^

*  Remove deprecated Photo.reader property and Photo.doSingle() method

replicate_wiki
^^^^^^^^^^^^^^

*  Remove deprecated namespace function

template
^^^^^^^^

*  remove deprecated XmlDumpTemplatePageGenerator

5.2.0
-----

*10 December 2020*

general
^^^^^^^

*  Removed unsupported BadTitle Exception (:phab:`T267768`)
*  Replaced PageNotSaved by PageSaveRelatedError (:phab:`T267821`)
*  Update scripts to support Python 3.5+ only
*  i18n updates
*  L10N updates

basic
^^^^^

*  Make BasicBot example a ConfigParserBot to explain the usage

clean_sandbox
^^^^^^^^^^^^^

*  Fix TypeError (:phab:`T267717`)

fixing_redirects
^^^^^^^^^^^^^^^^

*  Ignore RuntimeError for missing ‘redirects’ in api response
   (:phab:`T267567`)

imagetransfer
^^^^^^^^^^^^^

*  Implement -tosite command and other improvements
*  Do not use UploadRobot.run() with imagetransfer (:phab:`T267579`)

interwiki
^^^^^^^^^

*  Use textfile for interwiki dumps and enable -restore:all option
   (:phab:`T74943`, :phab:`T213624`)

makecat
^^^^^^^

*  Use input_choice for options
*  New option handling
*  Other improvements

revertbot
^^^^^^^^^

*  Take rollbacktoken to revert (:phab:`T250509`)

solve_disambiguation
^^^^^^^^^^^^^^^^^^^^

*  Write ignoring pages as a whole

touch
^^^^^

*  Fix available_options and purge options (:phab:`T268394`)

weblinkchecker
^^^^^^^^^^^^^^

*  Fix AttributeError of HttpRequest (:phab:`T269821`)

5.1.0
-----

*1 November 2020*

general
^^^^^^^

*  i18n updates
*  switch to new OptionHandler interface (:phab:`T264721`)

change_pagelang
^^^^^^^^^^^^^^^

*  New script was added

download_dump
^^^^^^^^^^^^^

*  Make ``dumpdate`` param work when using the script in Toolforge
   (:phab:`T266630`)

imagetransfer
^^^^^^^^^^^^^

*  Remove outdated “followRedirects” parameter from imagelinks(); treat
   instead of run method (:phab:`T266867`, :phab:`T196851`,
   :phab:`T171713`)

interwiki
^^^^^^^^^

*  Replace deprecated originPage by origin in Subjects

misspelling
^^^^^^^^^^^

*  Enable misspelling.py for several sites using wikidata
   (:phab:`T258859`, :phab:`T94681`)

noreferences
^^^^^^^^^^^^

*  Rename NoReferencesBot.run to treat (:phab:`T196851`,
   :phab:`T171713`)
*  Use wikidata item instead of dropped MediaWiki message for default
   category (:phab:`T266413`)

reflinks
^^^^^^^^

*  Derive ReferencesRobot from ExistingPageBot and NoRedirectPageBot
*  Use chardet to find a valid encoding (266862)
*  Rename ReferencesRobot.run to treat (:phab:`T196851`,
   :phab:`T171713`)
*  Ignore duplication replacements inside templates (:phab:`T266411`)
*  Fix edit summary (:phab:`T265968`)
*  Add Server414Error in and close file after reading
   (:phab:`T266000`)
*  Call ReferencesRobot.setup() (:phab:`T265928`)

welcome
^^^^^^^

*  Replace \_COLORS and \_MSGS dicts by Enum

5.0.0
-----

*19 October 2020*

general
^^^^^^^

*  i18n updates
*  L10N updates
*  Remove deprecated use of fileUrl
*  Remove ArgumentDeprecationWarning for several scripts

casechecker
^^^^^^^^^^^

*  Split initializer and put getting whitelist to its own method

checkimages
^^^^^^^^^^^

*  Re-enable -sleep parameter (:phab:`T264521`)

commonscat
^^^^^^^^^^

*  get commons category from wikibase (:phab:`T175207`)
*  Adjust save counter (:phab:`T262772`)

flickrripper
^^^^^^^^^^^^

*  Improve option handling

imagecopy_self
^^^^^^^^^^^^^^

*  Improvements were made

imagetransfer
^^^^^^^^^^^^^

*  Do not encode str to bytes (:phab:`T265257`)

match_images
^^^^^^^^^^^^

*  Improvements

parser_function_count
^^^^^^^^^^^^^^^^^^^^^

Porting parser_function_count.py from compat to core/scripts
(:phab:`T66878`)

reflinks
^^^^^^^^

decode byte-like object meta_content.group() (:phab:`T264575`)

speedy_delete
^^^^^^^^^^^^^

*  port speedy_delete.py to core (:phab:`T66880`)

weblinkchecker
^^^^^^^^^^^^^^

*  Use ThreadList with weblinkchecker

maintenance
^^^^^^^^^^^

*  new maintenance script sorting_order was added
*  new maintenance script update_linktrails was added

4.3.0
-----

*2 September 2020*

general
^^^^^^^

*  i18n updates

4.2.0
-----

*28 August 2020*

general
^^^^^^^

*  i18n updates

archivebot
^^^^^^^^^^

*  Determine whether counter matters only once

4.1.1
-----

*18 August 2020*

general
^^^^^^^

*  Add missing commas in string contants

4.1.0
-----

*16 August 2020*

general
^^^^^^^

*  i18n updates

download_dump
^^^^^^^^^^^^^

*  Move this script to script folder (:phab:`T123885`,
   :phab:`T184033`)

replace
-------

*  Show a FutureWarning for deprecated doReplacements method

replicate_wiki
--------------

*  Show a FutureWarning for deprecated namespace function

template
--------

*  Show a FutureWarning for deprecated XmlDumpTemplatePageGenerator
   class

4.0.0
-----

*4 August 2020*

general
^^^^^^^

*  Remove Python 2 related code (:phab:`T257399`)
*  i18n updates
*  L10N updates

archivebot
^^^^^^^^^^

*  Only mention archives where something was really archived
*  Reset counter when “era” changes (:phab:`T215247`)
*  Code improvements and cleanups
*  Fix ShouldArchive type
*  Refactor PageArchiver’s main loop
*  Move archiving logic to PageArchiver
*  Fix str2size to allow space separators

cfd
^^^

*  Script was archived and is no longer supported (:phab:`T223826`)

delete
^^^^^^

*  Use Dict in place of DefaultDict (:phab:`T257770`)