jenkins-bot submitted this change.

View Change


Approvals: jenkins-bot: Verified Xqt: Looks good to me, approved
[9.1] Prepare next release

Change-Id: Idc5c83c906205b0521bc7412918634254afe93f0
---
M .appveyor.yml
M HISTORY.rst
M ROADMAP.rst
M pywikibot/__metadata__.py
M scripts/__init__.py
5 files changed, 106 insertions(+), 91 deletions(-)

diff --git a/.appveyor.yml b/.appveyor.yml
index 7ec6f33..cf2b780 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,7 +1,7 @@
image: Visual Studio 2022
clone_depth: 50
skip_tags: true
-version: 9.0.{build}
+version: 9.1.{build}
environment:

PYWIKIBOT_DIR: "%appdata%\\Pywikibot"
diff --git a/HISTORY.rst b/HISTORY.rst
index 94482fd..2104ff9 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,6 +1,98 @@
Release history
===============

+9.0.0
+-----
+*08 March 2024*
+
+Improvements
+^^^^^^^^^^^^
+
+* Python 3.13 is supported
+* Update :mod:`tools`._unidata._category_cf from Unicodedata version 15.1.0
+* :meth:`Timestamp.nowutc()<pywikibot.time.Timestamp.nowutc>` and
+ :meth:`Timestamp.utcnow()<pywikibot.time.Timestamp.utcnow>` were added (:phab:`T337748`)
+* Remove content parameter of :meth:`proofreadpage.IndexPage.page_gen` method. (:phab:`T358635`)
+* Backport ``itertools.batched`` from Python 3.13 to :func:`backports.batched`
+* A copy button was added to the sphinx documentation.
+* Make :attr:`languages_by_size<family.WikimediaFamily.languages_by_size>` dynamic (:phab:`T78396`). The property is
+ only available for :class:`family.WikimediaFamily` families. The ``wikimedia_sites.py`` maintenance script was
+ removed.
+* Add :func:`config.base_dir<config.get_base_dir>` to scripts search path with :mod:`pwb` wrapper (:phab:`T324287`)
+* :meth:`pywikibot.WbTime.equal_instant` was added (:phab:`T325248`)
+* ``revisions`` parameter of :class:`xmlreader.XmlDump` was introduced to specify parsing method
+ (:phab:`T340804`)
+* Pass global -nolog argument into bot script from wrapper (:phab:`T328900`)
+* Add :meth:`site.APISite.ratelimit()<pywikibot.site._apisite.APISite.ratelimit>` method
+ and :class:`tools.collections.RateLimit` NamedTuple (:phab:`T304808`)
+* L10N and i18n updates
+* Add :class:`pagegenerators.PagePilePageGenerator` (:phab:`T353086`)
+
+Bugfixes
+^^^^^^^^
+
+* :meth:`Timestamp.now()<pywikibot.time.Timestamp.now>` and
+ :meth:`Timestamp.fromtimestamp()<pywikibot.time.Timestamp.fromtimestamp>` also returns a
+ :class:`Timestamp<pywikibot.time.Timestamp>` object with Python 3.7
+* Populate :class:`pywikibot.MediaInfo`._content with expected attributes when loaded (:phab:`T357608`)
+* Raise :exc:`exceptions.APIError` if the same error comes twice within :meth:`data.api.Request.submit` loop
+ (:phab:`T357870`)
+* Only delegate :mod:`site` methods to public :class:`family.Family` methods which have *code* as first parameter.
+* Use ``str`` instead of ``repr`` for several messages with :class:`family.Family` objects (:phab:`T356782`)
+* Add ``hy`` to special languages in :class:`textlib.TimeStripper` (:phab:`T356175`)
+* Pass login token when using ``action=login`` (:phab:`T309898`)
+* Detect range blocks with :meth:`pywikibot.User.is_blocked` (:phab:`T301282`)
+* Use only ``end`` tags in ElementTree.iterparse in :mod:`xmlreader` module (:phab:`T354095`)
+* Suppress error in :meth:`cosmetic_changes.CosmeticChangesToolkit.cleanUpLinks` (:phab:`T337045`)
+* :func:`pywikibot.input_choice` validates *default* parameter (:phab:`T353097`)
+* Remove typing imports from user-config.py file (:phab:`T352965`)
+
+Breaking changes and code cleanups
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+* Cache directory was renamed from ``apicache-py3`` to ``apicache`` due to timestamp changes. (:phab:`T337748`)
+ **Warning:** Do not use Pywikibot 9+ together with Pywikibot 3.0.20181203 and below.
+* Raise ``TypeError`` instead of ``AttributeError`` in :meth:`Site.randompages()
+ <pywikibot.site._generators.GeneratorsMixin.randompages>` if *redirects* parameter is invalid.
+* A RuntimeError will be raised if a :class:`family.Family` subclass has an ``__init__`` initializer method.
+ :meth:`family.Family.__post_init__` classmethod can be used instead.
+* :class:`InteractiveReplace<bot_choice.InteractiveReplace>` was moved from :mod:`bot` to :mod:`bot_choice` module
+* ``userinterfaces.transliteration.transliterator`` was renamed to :class:`Transliterator
+ <userinterfaces.transliteration.Transliterator>`
+* ``pywikibot.BaseSite`` and ``pywikibotAPISite`` were dropped. :func:`pywikibot.Site` has to be used to create a
+ :mod:`site` object.
+* ``next`` parameter of :meth:`userinterfaces.transliteration.Transliterator.transliterate` was renamed to ``succ``
+* ``type`` parameter of :meth:`site.APISite.protectedpages()<pywikibot.site._generators.GeneratorsMixin.protectedpages>`
+ was renamed to ``protect_type``
+* ``all`` parameter of :meth:`site.APISite.namespace()<pywikibot.site._apisite.APISite.namespace>` was renamed to
+ ``all_ns``
+* ``filter`` parameter of :func:`date.dh` was renamed to ``filter_func``
+* ``dict`` parameter of :class:`data.api.OptionSet` was renamed to ``data``
+* ``setuptools`` package is no longer mandatory but required for tests
+ (:phab:`T340640`, :phab:`T347052`, :phab:`T354515`)
+* ``root`` attribute of :class:`xmlreader.XmlDump` was removed
+* ``tools.Version`` class was removed; use classes from ``packaging.version`` instead (:phab:`T340640`)
+* ``packaging`` package is mandatory; ``importlib_metadata`` package is required for Python 3.7 (:phab:`T340640`)
+* ``SelfCallMixin``, ``SelfCallDict`` and ``SelfCallString`` of :mod:`tools` module were removed
+* Calling :attr:`site.BaseSite.sitename<pywikibot.site._basesite.BaseSite.sitename>` as a function
+ is no longer supported
+* ``config.register_family_file()`` function was removed
+* require ``PyMySQL >= 1.0.0`` if necessary
+* ``keys()`` and ``items()`` methods of :class:`data.api.Request` gives a view instead a list (:phab:`T310953`)
+* ``SequenceOutputter.format_list()`` was removed in favour of :attr:`tools.formatter.SequenceOutputter.out` property
+* *output* parameter of :class:`bot_choice.OutputProxyOption` (i.e. ``OutputOption`` instance) without *out* property is
+ no longer supported
+* ``OutputOption.output()`` method was removed
+* ``ContextOption.output_range()`` and ``HighlightContextOption.output_range()`` methods were removed
+* ``page.url2unicode()`` function was removed in favour of :func:`tools.chars.url2string`
+* *iterables* of :func:`tools.itertools.intersect_generators` must not be given as a single list or tuple;
+ either consecutive iterables must be used or '*' to unpack
+* *allow_duplicates* parameter of :func:`tools.itertools.intersect_generators` must be given as keyword argument
+* Infinite rotating file handler with ``config.logfilesize`` of -1 is no longer supported
+* ``Throttle.multiplydelay`` attribute was removed
+* Python 3.6 support was dropped (:phab:`T347026`)
+
+
8.6.0
-----
*05 December 2023*
diff --git a/ROADMAP.rst b/ROADMAP.rst
index 1993301..b00b932 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -1,93 +1,7 @@
Current release
---------------

-Improvements
-^^^^^^^^^^^^
-
-* Python 3.13 is supported
-* Update :mod:`tools`._unidata._category_cf from Unicodedata version 15.1.0
-* :meth:`Timestamp.nowutc()<pywikibot.time.Timestamp.nowutc>` and
- :meth:`Timestamp.utcnow()<pywikibot.time.Timestamp.utcnow>` were added (:phab:`T337748`)
-* Remove content parameter of :meth:`proofreadpage.IndexPage.page_gen` method. (:phab:`T358635`)
-* Backport ``itertools.batched`` from Python 3.13 to :func:`backports.batched`
-* A copy button was added to the sphinx documentation.
-* Make :attr:`languages_by_size<family.WikimediaFamily.languages_by_size>` dynamic (:phab:`T78396`). The property is
- only available for :class:`family.WikimediaFamily` families. The ``wikimedia_sites.py`` maintenance script was
- removed.
-* Add :func:`config.base_dir<config.get_base_dir>` to scripts search path with :mod:`pwb` wrapper (:phab:`T324287`)
-* :meth:`pywikibot.WbTime.equal_instant` was added (:phab:`T325248`)
-* ``revisions`` parameter of :class:`xmlreader.XmlDump` was introduced to specify parsing method
- (:phab:`T340804`)
-* Pass global -nolog argument into bot script from wrapper (:phab:`T328900`)
-* Add :meth:`site.APISite.ratelimit()<pywikibot.site._apisite.APISite.ratelimit>` method
- and :class:`tools.collections.RateLimit` NamedTuple (:phab:`T304808`)
-* L10N and i18n updates
-* Add :class:`pagegenerators.PagePilePageGenerator` (:phab:`T353086`)
-
-Bugfixes
-^^^^^^^^
-
-* :meth:`Timestamp.now()<pywikibot.time.Timestamp.now>` and
- :meth:`Timestamp.fromtimestamp()<pywikibot.time.Timestamp.fromtimestamp>` also returns a
- :class:`Timestamp<pywikibot.time.Timestamp>` object with Python 3.7
-* Populate :class:`pywikibot.MediaInfo`._content with expected attributes when loaded (:phab:`T357608`)
-* Raise :exc:`exceptions.APIError` if the same error comes twice within :meth:`data.api.Request.submit` loop
- (:phab:`T357870`)
-* Only delegate :mod:`site` methods to public :class:`family.Family` methods which have *code* as first parameter.
-* Use ``str`` instead of ``repr`` for several messages with :class:`family.Family` objects (:phab:`T356782`)
-* Add ``hy`` to special languages in :class:`textlib.TimeStripper` (:phab:`T356175`)
-* Pass login token when using ``action=login`` (:phab:`T309898`)
-* Detect range blocks with :meth:`pywikibot.User.is_blocked` (:phab:`T301282`)
-* Use only ``end`` tags in ElementTree.iterparse in :mod:`xmlreader` module (:phab:`T354095`)
-* Suppress error in :meth:`cosmetic_changes.CosmeticChangesToolkit.cleanUpLinks` (:phab:`T337045`)
-* :func:`pywikibot.input_choice` validates *default* parameter (:phab:`T353097`)
-* Remove typing imports from user-config.py file (:phab:`T352965`)
-
-Breaking changes and code cleanups
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-* Cache directory was renamed from ``apicache-py3`` to ``apicache`` due to timestamp changes. (:phab:`T337748`)
- **Warning:** Do not use Pywikibot 9+ together with Pywikibot 3.0.20181203 and below.
-* Raise ``TypeError`` instead of ``AttributeError`` in :meth:`Site.randompages()
- <pywikibot.site._generators.GeneratorsMixin.randompages>` if *redirects* parameter is invalid.
-* A RuntimeError will be raised if a :class:`family.Family` subclass has an ``__init__`` initializer method.
- :meth:`family.Family.__post_init__` classmethod can be used instead.
-* :class:`InteractiveReplace<bot_choice.InteractiveReplace>` was moved from :mod:`bot` to :mod:`bot_choice` module
-* ``userinterfaces.transliteration.transliterator`` was renamed to :class:`Transliterator
- <userinterfaces.transliteration.Transliterator>`
-* ``pywikibot.BaseSite`` and ``pywikibotAPISite`` were dropped. :func:`pywikibot.Site` has to be used to create a
- :mod:`site` object.
-* ``next`` parameter of :meth:`userinterfaces.transliteration.Transliterator.transliterate` was renamed to ``succ``
-* ``type`` parameter of :meth:`site.APISite.protectedpages()<pywikibot.site._generators.GeneratorsMixin.protectedpages>`
- was renamed to ``protect_type``
-* ``all`` parameter of :meth:`site.APISite.namespace()<pywikibot.site._apisite.APISite.namespace>` was renamed to
- ``all_ns``
-* ``filter`` parameter of :func:`date.dh` was renamed to ``filter_func``
-* ``dict`` parameter of :class:`data.api.OptionSet` was renamed to ``data``
-* ``setuptools`` package is no longer mandatory but required for tests
- (:phab:`T340640`, :phab:`T347052`, :phab:`T354515`)
-* ``root`` attribute of :class:`xmlreader.XmlDump` was removed
-* ``tools.Version`` class was removed; use classes from ``packaging.version`` instead (:phab:`T340640`)
-* ``packaging`` package is mandatory; ``importlib_metadata`` package is required for Python 3.7 (:phab:`T340640`)
-* ``SelfCallMixin``, ``SelfCallDict`` and ``SelfCallString`` of :mod:`tools` module were removed
-* Calling :attr:`site.BaseSite.sitename<pywikibot.site._basesite.BaseSite.sitename>` as a function
- is no longer supported
-* ``config.register_family_file()`` function was removed
-* require ``PyMySQL >= 1.0.0`` if necessary
-* ``keys()`` and ``items()`` methods of :class:`data.api.Request` gives a view instead a list (:phab:`T310953`)
-* ``SequenceOutputter.format_list()`` was removed in favour of :attr:`tools.formatter.SequenceOutputter.out` property
-* *output* parameter of :class:`bot_choice.OutputProxyOption` (i.e. ``OutputOption`` instance) without *out* property is
- no longer supported
-* ``OutputOption.output()`` method was removed
-* ``ContextOption.output_range()`` and ``HighlightContextOption.output_range()`` methods were removed
-* ``page.url2unicode()`` function was removed in favour of :func:`tools.chars.url2string`
-* *iterables* of :func:`tools.itertools.intersect_generators` must not be given as a single list or tuple;
- either consecutive iterables must be used or '*' to unpack
-* *allow_duplicates* parameter of :func:`tools.itertools.intersect_generators` must be given as keyword argument
-* Infinite rotating file handler with ``config.logfilesize`` of -1 is no longer supported
-* ``Throttle.multiplydelay`` attribute was removed
-* Python 3.6 support was dropped (:phab:`T347026`)
-
+* (no changes yet)

Deprecations
------------
diff --git a/pywikibot/__metadata__.py b/pywikibot/__metadata__.py
index 3086190..472836c 100644
--- a/pywikibot/__metadata__.py
+++ b/pywikibot/__metadata__.py
@@ -12,6 +12,6 @@
from time import strftime


-__version__ = '9.0.0'
+__version__ = '9.1.0.dev0'
__url__ = 'https://www.mediawiki.org/wiki/Manual:Pywikibot'
__copyright__ = '(C) Pywikibot team, 2003-' + strftime('%Y')
diff --git a/scripts/__init__.py b/scripts/__init__.py
index d5724e1..d289690 100644
--- a/scripts/__init__.py
+++ b/scripts/__init__.py
@@ -28,8 +28,8 @@


#
-# (C) Pywikibot team, 2021-2023
+# (C) Pywikibot team, 2021-2024
#
# Distributed under the terms of the MIT license.
#
-__version__ = '9.0.0'
+__version__ = '9.1.0'

To view, visit change 1009719. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Idc5c83c906205b0521bc7412918634254afe93f0
Gerrit-Change-Number: 1009719
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: D3r1ck01 <dalangi-ctr@wikimedia.org>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged