Xqt has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/766226 )
Change subject: [7.1] Prepare next release ......................................................................
[7.1] Prepare next release
Change-Id: If1ca53dd353ac43c250d037100fb851e4f15911e --- M .appveyor.yml M HISTORY.rst M ROADMAP.rst M pywikibot/__metadata__.py 4 files changed, 137 insertions(+), 134 deletions(-)
Approvals: Xqt: Verified; Looks good to me, approved
diff --git a/.appveyor.yml b/.appveyor.yml index cb0b316..6391b91 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,7 +1,7 @@ image: Visual Studio 2019 clone_depth: 50 skip_tags: true -version: 7.0.{build} +version: 7.1.{build} environment:
PYWIKIBOT_DIR: "%appdata%\Pywikibot" diff --git a/HISTORY.rst b/HISTORY.rst index 4c4b7f8..aee8aaf 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,6 +1,140 @@ Release history ^^^^^^^^^^^^^^^
+7.0.0 +----- +*26 February 2022* + +Improvements +~~~~~~~~~~~~ + +* i18n updates for date.py +* Add number transliteration of 'lo', 'ml', 'pa', 'te' to NON_LATIN_DIGITS +* Detect range blocks with Page.is_blocked() method (T301282) +* to_latin_digits() function was added to textlib as counterpart of to_local_digits() function +* api.Request.submit now handles search-title-disabled and search-text-disabled API Errors +* A show_diff parameter was added to Page.put() and Page.change_category() +* Allow categories when saving IndexPage (T299806) +* Add a new function case_escape to textlib +* Support inheritance of the __STATICREDIRECT__ +* Avoid non-deteministic behavior in removeDisableParts +* Update isbn dependency and require python-stdnum >= 1.17 +* Synchronize Page.linkedPages() parameters with Site.pagelinks() parameters +* Scripts hash bang was changed from python to python3 +* i18n.bundles(), i18n.known_languages and i18n._get_bundle() functions were added +* Raise ConnectionError immediately if urllib3.NewConnectionError occurs (T297994, 298859) +* Make pywikibot messages available with site package (T57109, T275981) +* Add support for API:Redirects +* Enable shell script with Pywikibot site package +* Enable generate_user_files.py and generate_family_file with site-package (T107629) +* Add support for Python 3.11 +* Pywikibot supports PyPy 3 (T101592) +* A new method User.is_locked() was added to determine whether the user is currently locked globally (T249392) +* A new method APISite.is_locked() was added to determine whether a given user or user id is locked globally (T249392) +* APISite.get_globaluserinfo() method was added to retrieve globaluserinfo for any user or user id (T163629) +* APISite.globaluserinfo attribute may be deleted to force reload +* APISite.is_blocked() method has a force parameter to reload that info +* Allow family files in base_dir by default +* Make pwb wrapper script a pywikibot entry point for scripts (T139143, T270480) +* Enable -version and --version with pwb wrapper or code entry point (T101828) +* Add `title_delimiter_and_aliases` attribute to family files to support WikiHow family (T294761) +* BaseBot has a public collections.Counter for reading, writing and skipping a page +* Upload: Retry upload if 'copyuploadbaddomain' API error occurs (T294825) +* Update invisible characters from unicodedata 14.0.0 +* Add support for Wikimedia OCR engine with proofreadpage +* Rewrite tools.intersect_generators which makes it running up to 10'000 times faster. (T85623, T293276) +* The cached output functionality from compat release was re-implemented (T151727, T73646, T74942, T132135, T144698, T196039, T280466) +* L10N updates +* Adjust groupsize within pagegenerators.PreloadingGenerator (T291770) +* New "maxlimit" property was added to APISite (T291770) + +Bugfixes +~~~~~~~~ + +* Don't raise an exception if BlockEntry initializer found a hidden title (T78152) +* Fix KeyError in create_warnings_list (T301610) +* Enable similar script call of pwb.py on toolforge (T298846) +* Remove question mark character from forbidden file name characters (T93482) +* Enable -interwiki option with pagegenerators (T57099) +* Don't assert login result (T298761) +* Allow title placeholder $1 in the middle of an url (T111513, T298078) +* Don't create a Site object if pywikibot is not fully imported (T298384) +* Use page.site.data_repository when creating a _WbDataPage (T296985) +* Fix mysql AttributeError for sock.close() on toolforge (T216741) +* Only search user_script_paths inside config.base_dir (T296204) +* pywikibot.argv has been fixed for pwb.py wrapper if called with global args (T254435) +* Only ignore FileExistsError when creating the api cache (T295924) +* Only handle query limit if query module is limited (T294836) +* Upload: Only set filekey/offset for files with names (T294916) +* Make site parameter of textlib.replace_links() mandatory (T294649) +* Raise a generic ServerError if the http status code is unofficial (T293208) + +Breaking changes +~~~~~~~~~~~~~~~~ + +* Support of Python 3.5.0 - 3.5.2 has been dropped (T286867) +* generate_user_files.py, generate_user_files.py, shell.py and version.py were moved to pywikibot/scripts and must be used with pwb wrapper script +* *See also Code cleanups below* + +Code cleanups +~~~~~~~~~~~~~ + +* Deprecated http.get_fake_user_agent() function was removed +* FilePage.fileIsShared() was removed in favour of FilePage.file_is_shared() +* Page.canBeEdited() was removed in favour of Page.has_permission() +* BaseBot.stop() method were removed in favour of BaseBot.generator.close() +* showHelp() function was remove in favour of show_help +* CombinedPageGenerator pagegenerator was removed in favour of itertools.chain +* Remove deprecated echo.Notification.id +* Remove APISite.newfiles() method (T168339) +* Remove APISite.page_exists() method +* Raise a TypeError if BaseBot.init_page return None +* Remove private upload parameters in UploadRobot.upload_file(), FilePage.upload() and APISite.upload() methods +* Raise an Error exception if 'titles' is still used as where parameter in Site.search() +* Deprecated version.get_module_version() function was removed +* Deprecated setOptions/getOptions OptionHandler methods were removed +* Deprecated from_page() method of CosmeticChangesToolkit was removed +* Deprecated diff attribute of CosmeticChangesToolkit was removed in favour of show_diff +* Deprecated namespace and pageTitle parameter of CosmeticChangesToolkit were removed +* Remove deprecated BaseSite namespace shortcuts +* Remove deprecated Family.get_cr_templates method in favour of Site.category_redirects() +* Remove deprecated Page.put_async() method (T193494) +* Ignore baserevid parameter for several DataSite methods +* Remove deprecated preloaditempages method +* Remove disable_ssl_certificate_validation kwargs in http functions in favour of verify parameter (T265206) +* Deprecated PYWIKIBOT2 environment variables were removed +* version.ParseError was removed in favour of exceptions.VersionParseError +* specialbots.EditReplacement and specialbots.EditReplacementError were removed in favour of exceptions.EditReplacementError +* site.PageInUse exception was removed in favour of exceptions.PageInUseError +* page.UnicodeToAsciiHtml and page.unicode2html were removed in favour of tools.chars.string_to_ascii_html and tools.chars.string2html +* interwiki_graph.GraphImpossible and login.OAuthImpossible exception were removed in favour of ImportError +* i18n.TranslationError was removed in favour of exceptions.TranslationError +* WikiaFamily was removed in favour of FandomFamily +* data.api exceptions were removed in favour of exceptions module +* cosmetic_changes CANCEL_ALL/PAGE/METHOD/MATCH constants were removed in favour of CANCEL enum +* pywikibot.__release__ was removed in favour of pywikibot.__version__ +* TextfilePageGenerator was replaced by TextIOPageGenerator +* PreloadingItemGenerator was replaced by PreloadingEntityGenerator +* DuplicateFilterPageGenerator was replaced by tools.filter_unique +* ItemPage.concept_url method was replaced by ItemPage.concept_uri +* Outdated parameter names has been dropped +* Deprecated pywikibot.Error exception were removed in favour of pywikibot.exceptions.Error classes (T280227) +* Deprecated exception identifiers were removed (T280227) +* Deprecated date.FormatDate class was removed in favour of date.format_date function +* language_by_size property of wowwiki Family was removed in favour of codes attribute +* availableOptions was removed in favour of available_options +* config2 was removed in favour of config +* tools.RotatingFileHandler was removed in favour of logging.handlers.RotatingFileHandler +* tools.DotReadableDict, tools.LazyRegex and tools.DeprecatedRegex classes were removed +* tools.frozenmap was removed in favour of types.MappingProxyType +* tools.empty_iterator() was removed in favour of iter(()) +* tools.concat_options() function was removed in favour of bot_choice.Option +* tools.is_IP was be removed in favour of tools.is_ip_address() +* textlib.unescape() function was be removed in favour of html.unescape() +* APISite.deletepage() and APISite.deleteoldimage() methods were removed in favour of APISite.delete() +* APISite.undeletepage() and APISite.undelete_file_versions() were be removed in favour of APISite.undelete() method + + 6.6.5 ----- *07 February 2022* diff --git a/ROADMAP.rst b/ROADMAP.rst index ecdf0e2..d62de5d 100644 --- a/ROADMAP.rst +++ b/ROADMAP.rst @@ -1,138 +1,7 @@ Current release changes ^^^^^^^^^^^^^^^^^^^^^^^
-Improvements ------------- - -* i18n updates for date.py -* Add number transliteration of 'lo', 'ml', 'pa', 'te' to NON_LATIN_DIGITS -* Detect range blocks with Page.is_blocked() method (T301282) -* to_latin_digits() function was added to textlib as counterpart of to_local_digits() function -* api.Request.submit now handles search-title-disabled and search-text-disabled API Errors -* A show_diff parameter was added to Page.put() and Page.change_category() -* Allow categories when saving IndexPage (T299806) -* Add a new function case_escape to textlib -* Support inheritance of the __STATICREDIRECT__ -* Avoid non-deteministic behavior in removeDisableParts -* Update isbn dependency and require python-stdnum >= 1.17 -* Synchronize Page.linkedPages() parameters with Site.pagelinks() parameters -* Scripts hash bang was changed from python to python3 -* i18n.bundles(), i18n.known_languages and i18n._get_bundle() functions were added -* Raise ConnectionError immediately if urllib3.NewConnectionError occurs (T297994, 298859) -* Make pywikibot messages available with site package (T57109, T275981) -* Add support for API:Redirects -* Enable shell script with Pywikibot site package -* Enable generate_user_files.py and generate_family_file with site-package (T107629) -* Add support for Python 3.11 -* Pywikibot supports PyPy 3 (T101592) -* A new method User.is_locked() was added to determine whether the user is currently locked globally (T249392) -* A new method APISite.is_locked() was added to determine whether a given user or user id is locked globally (T249392) -* APISite.get_globaluserinfo() method was added to retrieve globaluserinfo for any user or user id (T163629) -* APISite.globaluserinfo attribute may be deleted to force reload -* APISite.is_blocked() method has a force parameter to reload that info -* Allow family files in base_dir by default -* Make pwb wrapper script a pywikibot entry point for scripts (T139143, T270480) -* Enable -version and --version with pwb wrapper or code entry point (T101828) -* Add `title_delimiter_and_aliases` attribute to family files to support WikiHow family (T294761) -* BaseBot has a public collections.Counter for reading, writing and skipping a page -* Upload: Retry upload if 'copyuploadbaddomain' API error occurs (T294825) -* Update invisible characters from unicodedata 14.0.0 -* Add support for Wikimedia OCR engine with proofreadpage -* Rewrite tools.intersect_generators which makes it running up to 10'000 times faster. (T85623, T293276) -* The cached output functionality from compat release was re-implemented (T151727, T73646, T74942, T132135, T144698, T196039, T280466) -* L10N updates -* Adjust groupsize within pagegenerators.PreloadingGenerator (T291770) -* New "maxlimit" property was added to APISite (T291770) - - -Bugfixes --------- - -* Don't raise an exception if BlockEntry initializer found a hidden title (T78152) -* Fix KeyError in create_warnings_list (T301610) -* Enable similar script call of pwb.py on toolforge (T298846) -* Remove question mark character from forbidden file name characters (T93482) -* Enable -interwiki option with pagegenerators (T57099) -* Don't assert login result (T298761) -* Allow title placeholder $1 in the middle of an url (T111513, T298078) -* Don't create a Site object if pywikibot is not fully imported (T298384) -* Use page.site.data_repository when creating a _WbDataPage (T296985) -* Fix mysql AttributeError for sock.close() on toolforge (T216741) -* Only search user_script_paths inside config.base_dir (T296204) -* pywikibot.argv has been fixed for pwb.py wrapper if called with global args (T254435) -* Only ignore FileExistsError when creating the api cache (T295924) -* Only handle query limit if query module is limited (T294836) -* Upload: Only set filekey/offset for files with names (T294916) -* Make site parameter of textlib.replace_links() mandatory (T294649) -* Raise a generic ServerError if the http status code is unofficial (T293208) - - -Breaking changes ----------------- - -* Support of Python 3.5.0 - 3.5.2 has been dropped (T286867) -* generate_user_files.py, generate_user_files.py, shell.py and version.py were moved to pywikibot/scripts and must be used with pwb wrapper script -* *See also Code cleanups below* - - -Code cleanups -------------- - -* Deprecated http.get_fake_user_agent() function was removed -* FilePage.fileIsShared() was removed in favour of FilePage.file_is_shared() -* Page.canBeEdited() was removed in favour of Page.has_permission() -* BaseBot.stop() method were removed in favour of BaseBot.generator.close() -* showHelp() function was remove in favour of show_help -* CombinedPageGenerator pagegenerator was removed in favour of itertools.chain -* Remove deprecated echo.Notification.id -* Remove APISite.newfiles() method (T168339) -* Remove APISite.page_exists() method -* Raise a TypeError if BaseBot.init_page return None -* Remove private upload parameters in UploadRobot.upload_file(), FilePage.upload() and APISite.upload() methods -* Raise an Error exception if 'titles' is still used as where parameter in Site.search() -* Deprecated version.get_module_version() function was removed -* Deprecated setOptions/getOptions OptionHandler methods were removed -* Deprecated from_page() method of CosmeticChangesToolkit was removed -* Deprecated diff attribute of CosmeticChangesToolkit was removed in favour of show_diff -* Deprecated namespace and pageTitle parameter of CosmeticChangesToolkit were removed -* Remove deprecated BaseSite namespace shortcuts -* Remove deprecated Family.get_cr_templates method in favour of Site.category_redirects() -* Remove deprecated Page.put_async() method (T193494) -* Ignore baserevid parameter for several DataSite methods -* Remove deprecated preloaditempages method -* Remove disable_ssl_certificate_validation kwargs in http functions in favour of verify parameter (T265206) -* Deprecated PYWIKIBOT2 environment variables were removed -* version.ParseError was removed in favour of exceptions.VersionParseError -* specialbots.EditReplacement and specialbots.EditReplacementError were removed in favour of exceptions.EditReplacementError -* site.PageInUse exception was removed in favour of exceptions.PageInUseError -* page.UnicodeToAsciiHtml and page.unicode2html were removed in favour of tools.chars.string_to_ascii_html and tools.chars.string2html -* interwiki_graph.GraphImpossible and login.OAuthImpossible exception were removed in favour of ImportError -* i18n.TranslationError was removed in favour of exceptions.TranslationError -* WikiaFamily was removed in favour of FandomFamily -* data.api exceptions were removed in favour of exceptions module -* cosmetic_changes CANCEL_ALL/PAGE/METHOD/MATCH constants were removed in favour of CANCEL enum -* pywikibot.__release__ was removed in favour of pywikibot.__version__ -* TextfilePageGenerator was replaced by TextIOPageGenerator -* PreloadingItemGenerator was replaced by PreloadingEntityGenerator -* DuplicateFilterPageGenerator was replaced by tools.filter_unique -* ItemPage.concept_url method was replaced by ItemPage.concept_uri -* Outdated parameter names has been dropped -* Deprecated pywikibot.Error exception were removed in favour of pywikibot.exceptions.Error classes (T280227) -* Deprecated exception identifiers were removed (T280227) -* Deprecated date.FormatDate class was removed in favour of date.format_date function -* language_by_size property of wowwiki Family was removed in favour of codes attribute -* availableOptions was removed in favour of available_options -* config2 was removed in favour of config -* tools.RotatingFileHandler was removed in favour of logging.handlers.RotatingFileHandler -* tools.DotReadableDict, tools.LazyRegex and tools.DeprecatedRegex classes were removed -* tools.frozenmap was removed in favour of types.MappingProxyType -* tools.empty_iterator() was removed in favour of iter(()) -* tools.concat_options() function was removed in favour of bot_choice.Option -* tools.is_IP was be removed in favour of tools.is_ip_address() -* textlib.unescape() function was be removed in favour of html.unescape() -* APISite.deletepage() and APISite.deleteoldimage() methods were removed in favour of APISite.delete() -* APISite.undeletepage() and APISite.undelete_file_versions() were be removed in favour of APISite.undelete() method - +* (no changes yet)
Deprecations ^^^^^^^^^^^^ diff --git a/pywikibot/__metadata__.py b/pywikibot/__metadata__.py index 01dc71a..33f6034 100644 --- a/pywikibot/__metadata__.py +++ b/pywikibot/__metadata__.py @@ -11,7 +11,7 @@
__name__ = 'pywikibot' -__version__ = '7.0.0' +__version__ = '7.1.0.dev0' __description__ = 'Python MediaWiki Bot Framework' __maintainer__ = 'The Pywikibot team' __maintainer_email__ = 'pywikibot@lists.wikimedia.org'
pywikibot-commits@lists.wikimedia.org