Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-feedparser for 
openSUSE:Factory checked in at 2026-08-17 17:00:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-feedparser (Old)
 and      /work/SRC/openSUSE:Factory/.python-feedparser.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-feedparser"

Mon Aug 17 17:00:07 2026 rev:42 rq:1371578 version:6.0.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-feedparser/python-feedparser.changes      
2026-03-20 21:20:34.211405125 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-feedparser.new.1258/python-feedparser.changes
    2026-08-17 17:06:48.687592074 +0200
@@ -1,0 +2,13 @@
+Tue Jul 28 18:07:23 UTC 2026 - BenoĆ®t Monin <[email protected]>
+
+- update to version 6.0.14:
+  * Upgrade to feedparser-sgmllib 2.0.0. (#585)
+- additional changes from version 6.0.13:
+  * Drop support for Python 3.9 and lower.
+  * Migrate from sgmllib3k to feedparser-sgmllib.
+  * Resolve package build warnings.
+- set the minimum python version to 3.10
+- drop python-sgmllib3k dependency
+- add python-feedparser-sgmllib dependency
+
+-------------------------------------------------------------------

Old:
----
  feedparser-6.0.12.tar.gz

New:
----
  feedparser-6.0.14.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-feedparser.spec ++++++
--- /var/tmp/diff_new_pack.tO6xMB/_old  2026-08-17 17:06:49.493620501 +0200
+++ /var/tmp/diff_new_pack.tO6xMB/_new  2026-08-17 17:06:49.494620537 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-feedparser
-Version:        6.0.12
+Version:        6.0.14
 Release:        0
 Summary:        Universal Feed Parser Module for Python
 License:        BSD-2-Clause
@@ -27,14 +27,15 @@
 Source:         
https://files.pythonhosted.org/packages/source/f/feedparser/feedparser-%{version}.tar.gz
 # PATCH-FIX-UPSTREAM inspired by 
https://github.com/kurtmckee/feedparser/issues/318 and the linked patches
 Patch:          chardet6.patch
+BuildRequires:  %{python_module base >= 3.10}
 BuildRequires:  %{python_module chardet}
+BuildRequires:  %{python_module feedparser-sgmllib >= 2}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
-BuildRequires:  %{python_module sgmllib3k}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-sgmllib3k
+Requires:       python-feedparser-sgmllib >= 2
 Recommends:     python-chardet
 BuildArch:      noarch
 %python_subpackages

++++++ feedparser-6.0.12.tar.gz -> feedparser-6.0.14.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/NEWS new/feedparser-6.0.14/NEWS
--- old/feedparser-6.0.12/NEWS  2025-09-10 15:22:29.000000000 +0200
+++ new/feedparser-6.0.14/NEWS  2026-07-30 16:03:13.000000000 +0200
@@ -1,5 +1,13 @@
 coming in the next release:
 
+6.0.14 - 30 July 2026
+    *   Upgrade to feedparser-sgmllib 2.0.0. (#585)
+
+6.0.13 - 28 July 2026
+    *   Drop support for Python 3.9 and lower.
+    *   Migrate from ``sgmllib3k`` to ``feedparser-sgmllib``.
+    *   Resolve package build warnings.
+
 6.0.12 - 10 September 2025
     *   Fix an ``AssertionError`` crash that occurs with Python 3.10 and 
higher. (#304)
     *   Fix a ``DeprecationWarning`` thrown during calls to ``re.sub``. (#389)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/PKG-INFO 
new/feedparser-6.0.14/PKG-INFO
--- old/feedparser-6.0.12/PKG-INFO      2025-09-10 15:22:45.384076000 +0200
+++ new/feedparser-6.0.14/PKG-INFO      2026-07-30 16:06:40.583849700 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: feedparser
-Version: 6.0.12
+Version: 6.0.14
 Summary: Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 
0.3, and Atom 1.0 feeds
 Home-page: https://github.com/kurtmckee/feedparser
 Download-URL: https://pypi.python.org/pypi/feedparser
@@ -12,19 +12,19 @@
 Platform: Windows
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Text Processing :: Markup :: XML
-Requires-Python: >=3.6
+Requires-Python: >=3.10
 Description-Content-Type: text/x-rst
 License-File: LICENSE
-Requires-Dist: sgmllib3k
+Requires-Dist: feedparser-sgmllib<3,>=2
 Dynamic: author
 Dynamic: author-email
 Dynamic: classifier
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/feedparser/__init__.py 
new/feedparser-6.0.14/feedparser/__init__.py
--- old/feedparser-6.0.12/feedparser/__init__.py        2025-09-10 
15:22:29.000000000 +0200
+++ new/feedparser-6.0.14/feedparser/__init__.py        2026-07-30 
16:03:13.000000000 +0200
@@ -32,7 +32,7 @@
 
 __author__ = 'Kurt McKee <[email protected]>'
 __license__ = 'BSD 2-clause'
-__version__ = '6.0.12'
+__version__ = '6.0.14'
 
 # HTTP "User-Agent" header to send to servers when downloading feeds.
 # If you are embedding feedparser in a larger application, you should
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/feedparser/html.py 
new/feedparser-6.0.14/feedparser/html.py
--- old/feedparser-6.0.12/feedparser/html.py    2025-09-10 15:22:29.000000000 
+0200
+++ new/feedparser-6.0.14/feedparser/html.py    2026-07-30 15:49:13.000000000 
+0200
@@ -28,7 +28,7 @@
 import html.entities
 import re
 
-from .sgml import *
+from .sgml import sgmllib
 
 _cp1252 = {
     128: '\u20ac',  # euro sign
@@ -61,7 +61,7 @@
 }
 
 
-class _BaseHTMLProcessor(sgmllib.SGMLParser, object):
+class _BaseHTMLProcessor(sgmllib.SGMLParser):
     special = re.compile("""[<>'"]""")
     bare_ampersand = re.compile(r"&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;)")
     elements_no_end_tag = {
@@ -109,35 +109,8 @@
         else:
             return '<' + tag + '></' + tag + '>'
 
-    # By declaring these methods and overriding their compiled code
-    # with the code from sgmllib, the original code will execute in
-    # feedparser's scope instead of sgmllib's. This means that the
-    # `tagfind` and `charref` regular expressions will be found as
-    # they're declared above, not as they're declared in sgmllib.
-    def goahead(self, i):
-        raise NotImplementedError
-
-    # Replace goahead with SGMLParser's goahead() code object.
-    try:
-        goahead.__code__ = sgmllib.SGMLParser.goahead.__code__
-    except AttributeError:
-        # Python 2
-        # noinspection PyUnresolvedReferences
-        goahead.func_code = sgmllib.SGMLParser.goahead.func_code
-
-    def __parse_starttag(self, i):
-        raise NotImplementedError
-
-    # Replace __parse_starttag with SGMLParser's parse_starttag() code object.
-    try:
-        __parse_starttag.__code__ = sgmllib.SGMLParser.parse_starttag.__code__
-    except AttributeError:
-        # Python 2
-        # noinspection PyUnresolvedReferences
-        __parse_starttag.func_code = 
sgmllib.SGMLParser.parse_starttag.func_code
-
     def parse_starttag(self, i):
-        j = self.__parse_starttag(i)
+        j = super().parse_starttag(i)
         if self._type == 'application/xhtml+xml':
             if j > 2 and self.rawdata[j-2:j] == '/>':
                 self.unknown_endtag(self.lasttag)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/feedparser/sgml.py 
new/feedparser-6.0.14/feedparser/sgml.py
--- old/feedparser-6.0.12/feedparser/sgml.py    2025-09-10 15:22:29.000000000 
+0200
+++ new/feedparser-6.0.14/feedparser/sgml.py    2026-07-30 16:03:13.000000000 
+0200
@@ -27,43 +27,12 @@
 
 import re
 
-import sgmllib
+import feedparser_sgmllib as sgmllib
 
 __all__ = [
-    'sgmllib',
-    'charref',
-    'tagfind',
-    'attrfind',
-    'entityref',
-    'incomplete',
-    'interesting',
-    'shorttag',
-    'shorttagopen',
-    'starttagopen',
-    'endbracket',
+    "sgmllib",
 ]
 
-# sgmllib defines a number of module-level regular expressions that are
-# insufficient for the XML parsing feedparser needs. Rather than modify
-# the variables directly in sgmllib, they're defined here using the same
-# names, and the compiled code objects of several sgmllib.SGMLParser
-# methods are copied into _BaseHTMLProcessor so that they execute in
-# feedparser's scope instead of sgmllib's scope.
-charref = re.compile(r'&#(\d+|[xX][0-9a-fA-F]+);')
-tagfind = re.compile(r'[a-zA-Z][-_.:a-zA-Z0-9]*')
-attrfind = re.compile(
-    r"""\s*([a-zA-Z_][-:.a-zA-Z_0-9]*)[$]?(\s*=\s*"""
-    r"""('[^']*'|"[^"]*"|[][\-a-zA-Z0-9./,:;+*%?!&$()_#=~'"@]*))?"""
-)
-
-# Unfortunately, these must be copied over to prevent NameError exceptions
-entityref = sgmllib.entityref
-incomplete = sgmllib.incomplete
-interesting = sgmllib.interesting
-shorttag = sgmllib.shorttag
-shorttagopen = sgmllib.shorttagopen
-starttagopen = sgmllib.starttagopen
-
 
 class _EndBracketRegEx:
     def __init__(self):
@@ -95,4 +64,4 @@
         return self.match.end(n)
 
 
-endbracket = _EndBracketRegEx()
+sgmllib.endbracket = _EndBracketRegEx()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/feedparser.egg-info/PKG-INFO 
new/feedparser-6.0.14/feedparser.egg-info/PKG-INFO
--- old/feedparser-6.0.12/feedparser.egg-info/PKG-INFO  2025-09-10 
15:22:45.000000000 +0200
+++ new/feedparser-6.0.14/feedparser.egg-info/PKG-INFO  2026-07-30 
16:06:40.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: feedparser
-Version: 6.0.12
+Version: 6.0.14
 Summary: Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 
0.3, and Atom 1.0 feeds
 Home-page: https://github.com/kurtmckee/feedparser
 Download-URL: https://pypi.python.org/pypi/feedparser
@@ -12,19 +12,19 @@
 Platform: Windows
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
-Classifier: License :: OSI Approved :: BSD License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
-Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Text Processing :: Markup :: XML
-Requires-Python: >=3.6
+Requires-Python: >=3.10
 Description-Content-Type: text/x-rst
 License-File: LICENSE
-Requires-Dist: sgmllib3k
+Requires-Dist: feedparser-sgmllib<3,>=2
 Dynamic: author
 Dynamic: author-email
 Dynamic: classifier
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/feedparser.egg-info/SOURCES.txt 
new/feedparser-6.0.14/feedparser.egg-info/SOURCES.txt
--- old/feedparser-6.0.12/feedparser.egg-info/SOURCES.txt       2025-09-10 
15:22:45.000000000 +0200
+++ new/feedparser-6.0.14/feedparser.egg-info/SOURCES.txt       2026-07-30 
16:06:40.000000000 +0200
@@ -2,6 +2,7 @@
 MANIFEST.in
 NEWS
 README.rst
+pyproject.toml
 setup.py
 docs/add_custom_css.py
 docs/advanced.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/feedparser.egg-info/requires.txt 
new/feedparser-6.0.14/feedparser.egg-info/requires.txt
--- old/feedparser-6.0.12/feedparser.egg-info/requires.txt      2025-09-10 
15:22:45.000000000 +0200
+++ new/feedparser-6.0.14/feedparser.egg-info/requires.txt      2026-07-30 
16:06:40.000000000 +0200
@@ -1 +1 @@
-sgmllib3k
+feedparser-sgmllib<3,>=2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/pyproject.toml 
new/feedparser-6.0.14/pyproject.toml
--- old/feedparser-6.0.12/pyproject.toml        1970-01-01 01:00:00.000000000 
+0100
+++ new/feedparser-6.0.14/pyproject.toml        2026-07-30 15:49:13.000000000 
+0200
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["setuptools>=77.0.3"]
+build-backend = "setuptools.build_meta"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.12/setup.py 
new/feedparser-6.0.14/setup.py
--- old/feedparser-6.0.12/setup.py      2025-09-10 15:22:29.000000000 +0200
+++ new/feedparser-6.0.14/setup.py      2026-07-30 16:03:13.000000000 +0200
@@ -58,19 +58,19 @@
     download_url='https://pypi.python.org/pypi/feedparser',
     platforms=['POSIX', 'Windows'],
     packages=['feedparser', 'feedparser.datetimes', 'feedparser.namespaces', 
'feedparser.parsers'],
-    install_requires=['sgmllib3k'],
-    python_requires='>=3.6', 
+    install_requires=['feedparser-sgmllib (>=2, <3)'],
+    python_requires='>=3.10',
     keywords=['atom', 'cdf', 'feed', 'parser', 'rdf', 'rss'],
     classifiers=[
         'Development Status :: 5 - Production/Stable',
         'Intended Audience :: Developers',
-        'License :: OSI Approved :: BSD License',
         'Operating System :: OS Independent',
         'Programming Language :: Python',
-        'Programming Language :: Python :: 3.6',
-        'Programming Language :: Python :: 3.7',
-        'Programming Language :: Python :: 3.8',
-        'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
+        'Programming Language :: Python :: 3.11',
+        'Programming Language :: Python :: 3.12',
+        'Programming Language :: Python :: 3.13',
+        'Programming Language :: Python :: 3.14',
         'Topic :: Software Development :: Libraries :: Python Modules',
         'Topic :: Text Processing :: Markup :: XML',
     ],

Reply via email to