Xqt has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1237958?usp=email )

Change subject: Merge branch 'master' into stable
......................................................................

Merge branch 'master' into stable

Bug: T396368
Change-Id: Ida4bbf36ea703a9110cdb30f8a25f6c9f7177a8a
---
M HISTORY.rst
M ROADMAP.rst
M pywikibot/__metadata__.py
M pywikibot/login.py
M tests/login_tests.py
6 files changed, 217 insertions(+), 66 deletions(-)

Approvals:
  jenkins-bot: Verified
  Xqt: Looks good to me, approved




diff --git a/HISTORY.rst b/HISTORY.rst
index 13e27de..489984a 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,9 +1,6 @@
 Release History
 ===============

-<<<<<<< HEAD   (78f4e2 Update git submodules)
-||||||| BASE
-=======
 10.7.6
 ------
 *31 January 2026*
@@ -11,7 +8,6 @@
 * Add support for pplwiki. (:phab:`T415048`)


->>>>>>> BRANCH (c1a24c [11] Publish Pywikibot 11)
 10.7.5
 ------
 *28 January 2026*
diff --git a/ROADMAP.rst b/ROADMAP.rst
index 99cfef9..7886c42 100644
--- a/ROADMAP.rst
+++ b/ROADMAP.rst
@@ -1,22 +1,7 @@
 Release 11 (in development)
 ===========================

-<<<<<<< HEAD   (78f4e2 Update git submodules)
-* Add support for pplwiki. (:phab:`T415048`)
-||||||| BASE
-* Add support for pcmwikiquote and minwikisource. (:phab:`T408345`, 
:phab:`T408353`)
-* Deprecate dysfunctional :meth:`APISite.alllinks()
-  <pywikibot.site._generators.GeneratorsMixin.alllinks>`. (:phab:`T359427`, 
:phab:`T407708`)
-* Refactor ``replace_magicwords`` in
-  :meth:`cosmetic_changes.CosmeticChangesToolkit.translateMagicWords`. 
(:phab:`T396715`)
-* Deprecate old ``(type, value, traceback)`` signature in
-  :meth:`tools.collections.GeneratorWrapper.throw`. (:phab:`T340641`)
-* Replace default timetravel.mementoweb.org with web.archive.org in 
:mod:`data.memento` module.
-  (:phab:`T400570`, :phab:`T407694`)
-* i18n updates
-=======
 **Improvements**
->>>>>>> BRANCH (c1a24c [11] Publish Pywikibot 11)

 * Use URL to bot's wiki page in :ref:`user_agent_format<Account Settings>` due 
to `Foundation UA
   Policy 
<https://foundation.wikimedia.org/wiki/Policy:Wikimedia_Foundation_User-Agent_Policy>`_.
diff --git a/pywikibot/__metadata__.py b/pywikibot/__metadata__.py
index 2c71908..6365e29 100644
--- a/pywikibot/__metadata__.py
+++ b/pywikibot/__metadata__.py
@@ -12,12 +12,6 @@
 from time import strftime


-<<<<<<< HEAD   (78f4e2 Update git submodules)
-__version__ = '10.7.6'
-||||||| BASE
-__version__ = '10.7.0'
-=======
 __version__ = '11.0.0'
->>>>>>> BRANCH (c1a24c [11] Publish Pywikibot 11)
 __url__ = 'https://www.mediawiki.org/wiki/Manual:Pywikibot'
 __copyright__ = f'2003-{strftime("%Y")}, Pywikibot team'
diff --git a/pywikibot/login.py b/pywikibot/login.py
index f494d42..aee1f3c 100644
--- a/pywikibot/login.py
+++ b/pywikibot/login.py
@@ -228,12 +228,7 @@

         :raises ValueError: `password_file` is not set in the
             ``user-config.py`` or entries are critical malformed
-<<<<<<< HEAD   (78f4e2 Update git submodules)
-        :raises FileNotFoundError: password file does not exist
-||||||| BASE
-=======
         :raises FileNotFoundError: Password file does not exist
->>>>>>> BRANCH (c1a24c [11] Publish Pywikibot 11)
         """
         if config.password_file is None:
             raise ValueError('password_file is not set in the user-config.py')
diff --git a/tests/login_tests.py b/tests/login_tests.py
index cd93d2e..d2cdc29 100755
--- a/tests/login_tests.py
+++ b/tests/login_tests.py
@@ -11,11 +11,7 @@
 from __future__ import annotations

 import builtins
-<<<<<<< HEAD   (78f4e2 Update git submodules)
-||||||| BASE
-=======
 import unittest
->>>>>>> BRANCH (c1a24c [11] Publish Pywikibot 11)
 import uuid
 from collections import defaultdict
 from io import StringIO
@@ -196,37 +192,6 @@

     def test_eval_security(self) -> None:
         """Test security that password file does not use eval() function."""
-<<<<<<< HEAD   (78f4e2 Update git submodules)
-        # Test file will will be created for Python 3.10-3.13
-        # due to self.stat patch in setUp().
-        no_file = (3, 9) < PYTHON_VERSION < (3, 14)
-
-        builtins.exploit_value = False
-        exploit_code = (
-            "__import__('builtins').__dict__"
-            ".__setitem__('exploit_value', True)"
-        )
-        if not no_file:
-            exploit_filename = f'pwb_rce_{uuid.uuid4().hex[:8]}.txt'
-            exploit_file = Path(exploit_filename)
-            exploit_code = (
-                f"__import__('pathlib').Path('{exploit_filename}').touch() or "
-                + exploit_code
-            )
-
-        with self.subTest(test='Test ValueError'), \
-             self.assertRaisesRegex(ValueError,
-                                    'Invalid password line format'):
-            self._test_pwfile(f"""
-                ('en', 'wikipedia', 'victim', {exploit_code})
-                """, None)
-
-        with self.subTest(test='Test value was modified'):
-            self.assertFalse(exploit_value)  # noqa: F821
-
-        if not no_file:
-||||||| BASE
-=======
         # File-based checks are limited to Python 3.9 only.
         # On newer versions, self.stat patching in setUp() fails,
         # making the file appear to exist.
@@ -256,7 +221,6 @@
             self.assertFalse(exploit_value)  # noqa: F821

         if use_file:
->>>>>>> BRANCH (c1a24c [11] Publish Pywikibot 11)
             with self.subTest(test='Test file exists'):
                 self.assertFalse(exploit_file.exists())


--
To view, visit 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1237958?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: stable
Gerrit-Change-Id: Ida4bbf36ea703a9110cdb30f8a25f6c9f7177a8a
Gerrit-Change-Number: 1237958
Gerrit-PatchSet: 2
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]

Reply via email to