jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1356649?usp=email )
Change subject: release: Prepare next release 11.10.0
......................................................................
release: Prepare next release 11.10.0
Change-Id: I6bfff972f483507c48c88a2c752d0d406287732f
---
M .github/workflows/doctest.yml
M .github/workflows/graalpy_tests.yml
M .github/workflows/login_tests-ci.yml
M .github/workflows/oauth_tests-ci.yml
M .github/workflows/pre-commit.yml
M .github/workflows/pywikibot-ci.yml
M .github/workflows/sysop_write_tests-ci.yml
M .github/workflows/windows_tests.yml
M .pre-commit-config.yaml
M HISTORY.rst
M ROADMAP.rst
M dev-requirements.txt
M pywikibot/__metadata__.py
M scripts/__init__.py
M scripts/pyproject.toml
15 files changed, 66 insertions(+), 84 deletions(-)
Approvals:
jenkins-bot: Verified
Xqt: Looks good to me, approved
diff --git a/.github/workflows/doctest.yml b/.github/workflows/doctest.yml
index 4740f2d..f1cb043 100644
--- a/.github/workflows/doctest.yml
+++ b/.github/workflows/doctest.yml
@@ -22,14 +22,13 @@
jobs:
build:
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
- timeout-minutes: 16
+ timeout-minutes: 15
strategy:
fail-fast: false
matrix:
- python-version: [pypy3.11, '3.10', '3.11', '3.12', '3.13', '3.14']
+ python-version: [pypy3.11, '3.10', '3.11', '3.12', '3.13', '3.14',
'3.15']
os: [windows-latest, macOS-latest, ubuntu-latest]
include:
- - python-version: 3.15-dev
- python-version: 3.16-dev
experimental: true
exclude: # Test already made on Jenkins
diff --git a/.github/workflows/graalpy_tests.yml
b/.github/workflows/graalpy_tests.yml
index faf1073..ce23ddd 100644
--- a/.github/workflows/graalpy_tests.yml
+++ b/.github/workflows/graalpy_tests.yml
@@ -23,7 +23,7 @@
build:
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
continue-on-error: ${{ matrix.experimental || false }}
- timeout-minutes: 40
+ timeout-minutes: 35
strategy:
fail-fast: false
matrix:
diff --git a/.github/workflows/login_tests-ci.yml
b/.github/workflows/login_tests-ci.yml
index 4617748..741e2d1 100644
--- a/.github/workflows/login_tests-ci.yml
+++ b/.github/workflows/login_tests-ci.yml
@@ -41,21 +41,12 @@
name: Run Login/Logout Tests
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
needs: wait_for_all
- timeout-minutes: 45
+ timeout-minutes: 40
strategy:
fail-fast: false
max-parallel: 1
matrix:
- python-version:
- - pypy3.9
- - pypy3.11
- - '3.9'
- - '3.10'
- - '3.11'
- - '3.12'
- - '3.13'
- - '3.14'
- - 3.15-dev
+ python-version: [pypy3.9, pypy3.11, '3.9', '3.10', '3.11', '3.12',
'3.13', '3.14', '3.15']
site: ['wikipedia:en', 'wikisource:zh', 'wikipedia:test']
include:
- python-version: '3.9'
diff --git a/.github/workflows/oauth_tests-ci.yml
b/.github/workflows/oauth_tests-ci.yml
index aa288f6..1b9beca 100644
--- a/.github/workflows/oauth_tests-ci.yml
+++ b/.github/workflows/oauth_tests-ci.yml
@@ -23,20 +23,11 @@
build:
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
continue-on-error: ${{ matrix.experimental || false }}
- timeout-minutes: 6
+ timeout-minutes: 7
strategy:
fail-fast: false
matrix:
- python-version:
- - pypy3.9
- - pypy3.11
- - '3.9'
- - '3.10'
- - '3.11'
- - '3.12'
- - '3.13'
- - '3.14'
- - 3.15-dev
+ python-version: [pypy3.9, pypy3.11, '3.9', '3.10', '3.11', '3.12',
'3.13', '3.14', '3.15']
family: [wikipedia]
code: [test]
domain: [test.wikipedia.org]
diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
index 3f9cc35..5cbb8fc 100644
--- a/.github/workflows/pre-commit.yml
+++ b/.github/workflows/pre-commit.yml
@@ -22,16 +22,15 @@
pre-commit:
runs-on: ${{ matrix.os || 'ubuntu-latest' }}
continue-on-error: ${{ matrix.experimental || false }}
- timeout-minutes: 8
+ timeout-minutes: 9
strategy:
fail-fast: false
matrix:
- python-version: ['3.10', '3.13', '3.14']
+ python-version: ['3.10', '3.13', '3.14', '3.15']
os: [windows-latest, macOS-latest]
include:
- python-version: '3.13'
- os: ubuntu-latest
- - python-version: 3.15-dev
+ - python-version: '3.15'
steps:
- name: set up python ${{ matrix.python-version }}
uses: actions/setup-python@v7
diff --git a/.github/workflows/pywikibot-ci.yml
b/.github/workflows/pywikibot-ci.yml
index 73058b4..0a8ab12 100644
--- a/.github/workflows/pywikibot-ci.yml
+++ b/.github/workflows/pywikibot-ci.yml
@@ -40,6 +40,7 @@
- '3.12'
- '3.13'
- '3.14'
+ - '3.15'
site: ['wikipedia:en', 'wikisource:zh']
include:
- python-version: '3.9'
@@ -66,16 +67,11 @@
site: wikipedia:test
- python-version: 3.14t
site: wikipedia:test
+ - python-version: 3.15t
+ site: wikipedia:test
- python-version: 3.16-dev
site: wikipedia:test
experimental: true
- # ubuntu-22.04 required 3.15-dev due to T382214
- - python-version: 3.15-dev
- site: wikipedia:en
- os: ubuntu-22.04
- - python-version: 3.15-dev
- site: wikisource:zh
- os: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v7
diff --git a/.github/workflows/sysop_write_tests-ci.yml
b/.github/workflows/sysop_write_tests-ci.yml
index 2090746..ee68b5b 100644
--- a/.github/workflows/sysop_write_tests-ci.yml
+++ b/.github/workflows/sysop_write_tests-ci.yml
@@ -23,7 +23,7 @@
build:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental || false }}
- timeout-minutes: 25
+ timeout-minutes: 20
strategy:
fail-fast: false
matrix:
diff --git a/.github/workflows/windows_tests.yml
b/.github/workflows/windows_tests.yml
index aa746dd..359a0fd 100644
--- a/.github/workflows/windows_tests.yml
+++ b/.github/workflows/windows_tests.yml
@@ -27,7 +27,7 @@
strategy:
fail-fast: false
matrix:
- python-version: [3.9.0, '3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
+ python-version: [3.9.0, '3.9', '3.10', '3.11', '3.12', '3.13', '3.14',
'3.15']
python-arch: [x64, x86]
site: ['wikipedia:en']
steps:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 98538bb..ba1cdec 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -52,7 +52,7 @@
- id: rst-inline-touching-normal
- id: text-unicode-replacement-char
- repo: https://github.com/rvben/rumdl-pre-commit
- rev: v0.2.79
+ rev: v0.3.0
hooks:
- id: rumdl # Lint only; add args [--fix] to auto-fix
- id: rumdl-fmt # Pure format, always exits 0
@@ -69,7 +69,7 @@
hooks:
- id: yamlfix
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.16.9
+ rev: v0.17.1
hooks:
- id: ruff-check
alias: ruff
@@ -118,7 +118,7 @@
- flake8-print>=5.0.0
- pep8-naming>=0.15.1
- repo: https://github.com/pre-commit/mirrors-mypy
- rev: v2.3.1
+ rev: v2.4.0
hooks:
- id: mypy
args: [--config-file=pyproject.toml, --follow-imports=silent]
diff --git a/HISTORY.rst b/HISTORY.rst
index 57b2e45..0b66973 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,9 +1,46 @@
Release History
===============
+11.9.0
+------
+*18 October 2026*
+
+* Add support for mlwwikivoyage. (:phab:`T441175`)
+* Update translations (i18n).
+* Various performance, stability, and code quality improvements.
+* Fix ZIP discovery and duplicate import paths in
:func:`config.register_families_folder`.
+* Unify negative :ref:`page generator options<GENERATOR OPTIONS>`.
(:phab:`T219282`)
+* Keep the sign of negative POSIX
:class:`timestamps<<pywikibot.time.Timestamp>`.
+* Use the :attr:`page.BasePage.site` in :meth:`page.BasePage.change_category`
when calling
+ :func:`textlib.replaceCategoryLinks` to respect category namespaces and
footer rules.
+* Validate :attr:`pywikibot.Link.title` length in UTF-8 bytes within
:meth:`pywikibot.Link.parse`.
+* Normalize usernames in :func:`pagegenerators.UserEditFilterGenerator` to
match
+ canonical API names.
+* Verify zero-byte stashes against the empty hash in
:func:`tools.compute_file_hash`.
+* Accept optional leading hyphens and period or hyphen separators in beta/rc
suffixes
+ in :class:`tools.MediaWikiVersion`. Raise ValueError instead of
AssertionError
+ for malformed suffixes.
+* Prevent setting a class property on an instance with
:class:`tools.classproperty`.
+* Make API cache writes of :class:`data.api.CachedRequest` atomic and
failure-safe.
+ (:phab:`T438266`)
+* Map claims for wbeditentity of :class:`page.MediaInfo`. (:phab:`T376955`)
+* Avoid reading streamed HTTP responses to detect encoding in
:func:`comms.http.fetch`.
+* Add *timespec* parameter to
:meth:`Timestamp.isoformat()<pywikibot.time.Timestamp.isoformat>`
+ method. (:phab:`T439983`, :phab:`T440120`)
+* Allow :ref:`global -user option<Global options>` to override OAuth
authentication.
+ (:phab:`T420084`)
+* The *force* parameter of :class:`pywikibot.User` methods was renamed to
+ *refresh* (:phab:`T433225`)
+* Support custom Timestamp ISO separators and restores round-trip compatibility
+ between :meth:`Timestamp.isoformat()<pywikibot.time.Timestamp.isoformat>` and
+ :meth:`Timestamp.fromISOformat()<pywikibot.time.Timestamp.fromISOformat>`.
(:phab:`T396723`)
+* Suggest installing all requirements for missing dependencies with
+ :mod:`pwb<pywikibot.scripts.wrapper>` wrapper.
+* Support legacy encoded section titles. (:phab:`T133276`)
+
+
11.8.0
------
-
*29 September 2026*
* Various performance, stability, and code quality improvements.
diff --git a/ROADMAP.rst b/ROADMAP.rst
index 303195e..52268ad 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -1,39 +1,7 @@
-Release 11.9
-============
+Release 11.10
+=============
-* Add support for mlwwikivoyage. (:phab:`T441175`)
-* Update translations (i18n).
-* Various performance, stability, and code quality improvements.
-* Fix ZIP discovery and duplicate import paths in
:func:`config.register_families_folder`.
-* Unify negative :ref:`page generator options<GENERATOR OPTIONS>`.
(:phab:`T219282`)
-* Keep the sign of negative POSIX
:class:`timestamps<<pywikibot.time.Timestamp>`.
-* Use the :attr:`page.BasePage.site` in :meth:`page.BasePage.change_category`
when calling
- :func:`textlib.replaceCategoryLinks` to respect category namespaces and
footer rules.
-* Validate :attr:`pywikibot.Link.title` length in UTF-8 bytes within
:meth:`pywikibot.Link.parse`.
-* Normalize usernames in :func:`pagegenerators.UserEditFilterGenerator` to
match
- canonical API names.
-* Verify zero-byte stashes against the empty hash in
:func:`tools.compute_file_hash`.
-* Accept optional leading hyphens and period or hyphen separators in beta/rc
suffixes
- in :class:`tools.MediaWikiVersion`. Raise ValueError instead of
AssertionError
- for malformed suffixes.
-* Prevent setting a class property on an instance with
:class:`tools.classproperty`.
-* Make API cache writes of :class:`data.api.CachedRequest` atomic and
failure-safe.
- (:phab:`T438266`)
-* Map claims for wbeditentity of :class:`page.MediaInfo`. (:phab:`T376955`)
-* Avoid reading streamed HTTP responses to detect encoding in
:func:`comms.http.fetch`.
-* Add *timespec* parameter to
:meth:`Timestamp.isoformat()<pywikibot.time.Timestamp.isoformat>`
- method. (:phab:`T439983`, :phab:`T440120`)
-* Allow :ref:`global -user option<Global options>` to override OAuth
authentication.
- (:phab:`T420084`)
-* The *force* parameter of :class:`pywikibot.User` methods was renamed to
- *refresh* (:phab:`T433225`)
-* Support custom Timestamp ISO separators and restores round-trip compatibility
- between :meth:`Timestamp.isoformat()<pywikibot.time.Timestamp.isoformat>` and
- :meth:`Timestamp.fromISOformat()<pywikibot.time.Timestamp.fromISOformat>`.
(:phab:`T396723`)
-* Suggest installing all requirements for missing dependencies with
- :mod:`pwb<pywikibot.scripts.wrapper>` wrapper.
-* Support legacy encoded section titles. (:phab:`T133276`)
-
+* (no changes yet)
Deprecations
============
diff --git a/dev-requirements.txt b/dev-requirements.txt
index c68f0b1..4666a6b 100644
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -5,8 +5,9 @@
pytest-attrib >= 0.1.3
pytest-xvfb >= 3.1.1
-pre-commit >= 4.6.2; python_version > "3.9"
+pre-commit >= 4.7.0; python_version > "3.10"
+pre-commit >= 4.6.2; python_version == "3.10"
coverage >= 7.16.2; python_version > "3.9"
coverage==7.10.7; python_version == "3.9"
# required for coverage (T380697)
-tomli >= 2.4.1; python_version < "3.11"
+tomli >= 2.5.0; python_version < "3.11"
diff --git a/pywikibot/__metadata__.py b/pywikibot/__metadata__.py
index 2547721..cb8eefc 100644
--- a/pywikibot/__metadata__.py
+++ b/pywikibot/__metadata__.py
@@ -12,6 +12,6 @@
from time import strftime
-__version__ = '11.9.0'
+__version__ = '11.10.0.dev0'
__url__ = 'https://www.mediawiki.org/wiki/Manual:Pywikibot'
__copyright__ = f'2003-{strftime("%Y")}, Pywikibot team'
diff --git a/scripts/__init__.py b/scripts/__init__.py
index 0e1a927..859a3b7 100644
--- a/scripts/__init__.py
+++ b/scripts/__init__.py
@@ -34,7 +34,7 @@
from pathlib import Path
-__version__ = '11.9.0'
+__version__ = '11.10.0'
#: defines the entry point for pywikibot-scripts package
base_dir = Path(__file__).parent
diff --git a/scripts/pyproject.toml b/scripts/pyproject.toml
index 26f3deb..b22cb15 100644
--- a/scripts/pyproject.toml
+++ b/scripts/pyproject.toml
@@ -7,7 +7,7 @@
[project]
name = "pywikibot-scripts"
-version = "11.9.0"
+version = "11.10.0"
authors = [
{name = "xqt", email = "[email protected]"},
@@ -19,7 +19,7 @@
readme = "scripts/README.rst"
requires-python = ">=3.9.0"
dependencies = [
- "pywikibot >= 11.9.0",
+ "pywikibot >= 11.10.0",
"langdetect",
"mwparserfromhell",
"pydot",
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1356649?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I6bfff972f483507c48c88a2c752d0d406287732f
Gerrit-Change-Number: 1356649
Gerrit-PatchSet: 6
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]