Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-h11 for openSUSE:Factory 
checked in at 2022-10-14 15:40:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-h11 (Old)
 and      /work/SRC/openSUSE:Factory/.python-h11.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-h11"

Fri Oct 14 15:40:25 2022 rev:10 rq:1010139 version:0.14.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-h11/python-h11.changes    2022-02-18 
23:02:36.353414422 +0100
+++ /work/SRC/openSUSE:Factory/.python-h11.new.2275/python-h11.changes  
2022-10-14 15:40:41.959734052 +0200
@@ -1,0 +2,6 @@
+Wed Oct 12 03:33:53 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com>
+
+- Update to 0.14.0 
+  No upstream changelog
+
+-------------------------------------------------------------------

Old:
----
  h11-0.13.0.tar.gz

New:
----
  h11-0.14.0.tar.gz

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

Other differences:
------------------
++++++ python-h11.spec ++++++
--- /var/tmp/diff_new_pack.AqaN5v/_old  2022-10-14 15:40:42.463734893 +0200
+++ /var/tmp/diff_new_pack.AqaN5v/_new  2022-10-14 15:40:42.471734907 +0200
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-h11
-Version:        0.13.0
+Version:        0.14.0
 Release:        0
 Summary:        A pure-Python, bring-your-own-I/O implementation of HTTP/11
 License:        MIT

++++++ h11-0.13.0.tar.gz -> h11-0.14.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/PKG-INFO new/h11-0.14.0/PKG-INFO
--- old/h11-0.13.0/PKG-INFO     2022-01-19 21:45:19.294474100 +0100
+++ new/h11-0.14.0/PKG-INFO     2022-09-25 17:39:41.622613200 +0200
@@ -1,12 +1,11 @@
 Metadata-Version: 2.1
 Name: h11
-Version: 0.13.0
+Version: 0.14.0
 Summary: A pure-Python, bring-your-own-I/O implementation of HTTP/1.1
 Home-page: https://github.com/python-hyper/h11
 Author: Nathaniel J. Smith
 Author-email: n...@pobox.com
 License: MIT
-Platform: UNKNOWN
 Classifier: Development Status :: 3 - Alpha
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: MIT License
@@ -14,13 +13,13 @@
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-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: Topic :: Internet :: WWW/HTTP
 Classifier: Topic :: System :: Networking
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 License-File: LICENSE.txt
 
 h11
@@ -137,7 +136,7 @@
 It has a test suite with 100.0% coverage for both statements and
 branches.
 
-Currently it supports Python 3 (testing on 3.6-3.9) and PyPy 3.
+Currently it supports Python 3 (testing on 3.7-3.10) and PyPy 3.
 The last Python 2-compatible version was h11 0.11.x.
 (Originally it had a Cython wrapper for `http-parser
 <https://github.com/nodejs/http-parser>`_ and a beautiful nested state
@@ -191,5 +190,3 @@
 Contributors are requested to follow our `code of conduct
 <https://github.com/python-hyper/h11/blob/master/CODE_OF_CONDUCT.md>`_ in
 all project spaces.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/README.rst new/h11-0.14.0/README.rst
--- old/h11-0.13.0/README.rst   2022-01-19 21:44:16.000000000 +0100
+++ new/h11-0.14.0/README.rst   2022-09-25 17:39:04.000000000 +0200
@@ -112,7 +112,7 @@
 It has a test suite with 100.0% coverage for both statements and
 branches.
 
-Currently it supports Python 3 (testing on 3.6-3.9) and PyPy 3.
+Currently it supports Python 3 (testing on 3.7-3.10) and PyPy 3.
 The last Python 2-compatible version was h11 0.11.x.
 (Originally it had a Cython wrapper for `http-parser
 <https://github.com/nodejs/http-parser>`_ and a beautiful nested state
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/docs/source/changes.rst 
new/h11-0.14.0/docs/source/changes.rst
--- old/h11-0.13.0/docs/source/changes.rst      2022-01-19 21:44:16.000000000 
+0100
+++ new/h11-0.14.0/docs/source/changes.rst      2022-09-25 17:39:04.000000000 
+0200
@@ -5,6 +5,29 @@
 
 .. towncrier release notes start
 
+H11 0.14.0 (2022-09-25)
+-----------------------
+
+Features
+~~~~~~~~
+
+- Allow additional trailing whitespace in chunk headers for additional
+  compatibility with existing servers. (`#133
+  <https://github.com/python-hyper/h11/issues/133>`__)
+- Improve the type hints for Sentinel types, which should make it
+  easier to type hint h11 usage. (`#151
+  <https://github.com/python-hyper/h11/pull/151>`__ & `#144
+  <https://github.com/python-hyper/h11/pull/144>`__))
+
+Deprecations and Removals
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Python 3.6 support is removed. h11 now requires Python>=3.7
+  including PyPy 3.  Users running `pip install h11` on Python 2 will
+  automatically get the last Python 2-compatible version. (`#138
+  <https://github.com/python-hyper/h11/issues/138>`__)
+
+
 v0.13.0 (2022-01-19)
 --------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/docs/source/index.rst 
new/h11-0.14.0/docs/source/index.rst
--- old/h11-0.13.0/docs/source/index.rst        2022-01-19 21:44:16.000000000 
+0100
+++ new/h11-0.14.0/docs/source/index.rst        2022-09-25 17:39:04.000000000 
+0200
@@ -44,7 +44,7 @@
 Vital statistics
 ----------------
 
-* Requirements: Python 3.6+ (PyPy works great)
+* Requirements: Python 3.7+ (PyPy works great)
 
   The last Python 2-compatible version was h11 0.11.x.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/_abnf.py new/h11-0.14.0/h11/_abnf.py
--- old/h11-0.13.0/h11/_abnf.py 2020-08-13 11:49:16.000000000 +0200
+++ new/h11-0.14.0/h11/_abnf.py 2022-09-25 17:39:04.000000000 +0200
@@ -125,5 +125,8 @@
 chunk_header = (
     r"(?P<chunk_size>{chunk_size})"
     r"(?P<chunk_ext>{chunk_ext})?"
-    r"\r\n".format(**globals())
+    r"{OWS}\r\n".format(
+        **globals()
+    )  # Even though the specification does not allow for extra whitespaces,
+    # we are lenient with trailing whitespaces because some servers on the 
wild use it.
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/_connection.py 
new/h11-0.14.0/h11/_connection.py
--- old/h11-0.13.0/h11/_connection.py   2022-01-19 21:44:16.000000000 +0100
+++ new/h11-0.14.0/h11/_connection.py   2022-09-25 17:39:04.000000000 +0200
@@ -323,7 +323,7 @@
         else:
             # General case: the io_dict just has the appropriate reader/writer
             # for this state
-            return io_dict.get((role, state))  # type: ignore
+            return io_dict.get((role, state))  # type: ignore[return-value]
 
     # This must be called after any action that might have caused
     # self._cstate.states to change.
@@ -395,7 +395,9 @@
         else:
             self._receive_buffer_closed = True
 
-    def _extract_next_receive_event(self) -> Union[Event, Type[Sentinel]]:
+    def _extract_next_receive_event(
+        self,
+    ) -> Union[Event, Type[NEED_DATA], Type[PAUSED]]:
         state = self.their_state
         # We don't pause immediately when they enter DONE, because even in
         # DONE state we can still process a ConnectionClosed() event. But
@@ -421,7 +423,7 @@
             event = NEED_DATA
         return event  # type: ignore[no-any-return]
 
-    def next_event(self) -> Union[Event, Type[Sentinel]]:
+    def next_event(self) -> Union[Event, Type[NEED_DATA], Type[PAUSED]]:
         """Parse the next event out of our receive buffer, update our internal
         state, and return it.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/_headers.py 
new/h11-0.14.0/h11/_headers.py
--- old/h11-0.13.0/h11/_headers.py      2022-01-19 21:44:16.000000000 +0100
+++ new/h11-0.14.0/h11/_headers.py      2022-09-25 17:39:04.000000000 +0200
@@ -67,7 +67,7 @@
 #
 # Maybe a dict-of-lists would be better?
 
-_content_length_re = re.compile(br"[0-9]+")
+_content_length_re = re.compile(rb"[0-9]+")
 _field_name_re = re.compile(field_name.encode("ascii"))
 _field_value_re = re.compile(field_value.encode("ascii"))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/_readers.py 
new/h11-0.14.0/h11/_readers.py
--- old/h11-0.13.0/h11/_readers.py      2022-01-19 21:44:16.000000000 +0100
+++ new/h11-0.14.0/h11/_readers.py      2022-09-25 17:39:04.000000000 +0200
@@ -37,10 +37,7 @@
 __all__ = ["READERS"]
 
 header_field_re = re.compile(header_field.encode("ascii"))
-
-# Remember that this has to run in O(n) time -- so e.g. the bytearray cast is
-# critical.
-obs_fold_re = re.compile(br"[ \t]+")
+obs_fold_re = re.compile(rb"[ \t]+")
 
 
 def _obsolete_line_fold(lines: Iterable[bytes]) -> Iterable[bytes]:
@@ -52,6 +49,7 @@
             if last is None:
                 raise LocalProtocolError("continuation line at start of 
headers")
             if not isinstance(last, bytearray):
+                # Cast to a mutable type, avoiding copy on append to ensure 
O(n) time
                 last = bytearray(last)
             last += b" "
             last += line[match.end() :]
@@ -227,7 +225,7 @@
 
 
 ReadersType = Dict[
-    Union[Sentinel, Tuple[Sentinel, Sentinel]],
+    Union[Type[Sentinel], Tuple[Type[Sentinel], Type[Sentinel]]],
     Union[Callable[..., Any], Dict[str, Callable[..., Any]]],
 ]
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/_state.py new/h11-0.14.0/h11/_state.py
--- old/h11-0.13.0/h11/_state.py        2022-01-19 21:44:16.000000000 +0100
+++ new/h11-0.14.0/h11/_state.py        2022-09-25 17:39:04.000000000 +0200
@@ -226,9 +226,13 @@
     },
 }
 
+StateTransitionType = Dict[
+    Tuple[Type[Sentinel], Type[Sentinel]], Dict[Type[Sentinel], Type[Sentinel]]
+]
+
 # NB: there are also some special-case state-triggered transitions hard-coded
 # into _fire_state_triggered_transitions below.
-STATE_TRIGGERED_TRANSITIONS = {
+STATE_TRIGGERED_TRANSITIONS: StateTransitionType = {
     # (Client state, Server state) -> new states
     # Protocol negotiation
     (MIGHT_SWITCH_PROTOCOL, SWITCHED_PROTOCOL): {CLIENT: SWITCHED_PROTOCOL},
@@ -345,7 +349,7 @@
             # Tabular state-triggered transitions
             joint_state = (self.states[CLIENT], self.states[SERVER])
             changes = STATE_TRIGGERED_TRANSITIONS.get(joint_state, {})
-            self.states.update(changes)  # type: ignore
+            self.states.update(changes)
 
             if self.states == start_states:
                 # Fixed point reached
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/_version.py 
new/h11-0.14.0/h11/_version.py
--- old/h11-0.13.0/h11/_version.py      2022-01-19 21:44:34.000000000 +0100
+++ new/h11-0.14.0/h11/_version.py      2022-09-25 17:39:06.000000000 +0200
@@ -13,4 +13,4 @@
 # want. (Contrast with the special suffix 1.0.0.dev, which sorts *before*
 # 1.0.0.)
 
-__version__ = "0.13.0"
+__version__ = "0.14.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/_writers.py 
new/h11-0.14.0/h11/_writers.py
--- old/h11-0.13.0/h11/_writers.py      2022-01-19 21:44:16.000000000 +0100
+++ new/h11-0.14.0/h11/_writers.py      2022-09-25 17:39:04.000000000 +0200
@@ -125,7 +125,7 @@
 
 
 WritersType = Dict[
-    Union[Tuple[Sentinel, Sentinel], Sentinel],
+    Union[Tuple[Type[Sentinel], Type[Sentinel]], Type[Sentinel]],
     Union[
         Dict[str, Type[BodyWriter]],
         Callable[[Union[InformationalResponse, Response], Writer], None],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/tests/test_io.py 
new/h11-0.14.0/h11/tests/test_io.py
--- old/h11-0.13.0/h11/tests/test_io.py 2022-01-19 21:44:16.000000000 +0100
+++ new/h11-0.14.0/h11/tests/test_io.py 2022-09-25 17:39:04.000000000 +0200
@@ -455,6 +455,12 @@
         [Data(data=b"xxxxx"), EndOfMessage()],
     )
 
+    t_body_reader(
+        ChunkedReader,
+        b"5     \r\n01234\r\n" + b"0\r\n\r\n",
+        [Data(data=b"01234"), EndOfMessage()],
+    )
+
 
 def test_ContentLengthWriter() -> None:
     w = ContentLengthWriter(5)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11/tests/test_util.py 
new/h11-0.14.0/h11/tests/test_util.py
--- old/h11-0.13.0/h11/tests/test_util.py       2022-01-19 21:44:16.000000000 
+0100
+++ new/h11-0.14.0/h11/tests/test_util.py       2022-09-25 17:39:04.000000000 
+0200
@@ -51,7 +51,7 @@
 
 
 def test_validate() -> None:
-    my_re = re.compile(br"(?P<group1>[0-9]+)\.(?P<group2>[0-9]+)")
+    my_re = re.compile(rb"(?P<group1>[0-9]+)\.(?P<group2>[0-9]+)")
     with pytest.raises(LocalProtocolError):
         validate(my_re, b"0.")
 
@@ -66,7 +66,7 @@
 
 
 def test_validate_formatting() -> None:
-    my_re = re.compile(br"foo")
+    my_re = re.compile(rb"foo")
 
     with pytest.raises(LocalProtocolError) as excinfo:
         validate(my_re, b"", "oops")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11.egg-info/PKG-INFO 
new/h11-0.14.0/h11.egg-info/PKG-INFO
--- old/h11-0.13.0/h11.egg-info/PKG-INFO        2022-01-19 21:45:19.000000000 
+0100
+++ new/h11-0.14.0/h11.egg-info/PKG-INFO        2022-09-25 17:39:40.000000000 
+0200
@@ -1,12 +1,11 @@
 Metadata-Version: 2.1
 Name: h11
-Version: 0.13.0
+Version: 0.14.0
 Summary: A pure-Python, bring-your-own-I/O implementation of HTTP/1.1
 Home-page: https://github.com/python-hyper/h11
 Author: Nathaniel J. Smith
 Author-email: n...@pobox.com
 License: MIT
-Platform: UNKNOWN
 Classifier: Development Status :: 3 - Alpha
 Classifier: Intended Audience :: Developers
 Classifier: License :: OSI Approved :: MIT License
@@ -14,13 +13,13 @@
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-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: Topic :: Internet :: WWW/HTTP
 Classifier: Topic :: System :: Networking
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 License-File: LICENSE.txt
 
 h11
@@ -137,7 +136,7 @@
 It has a test suite with 100.0% coverage for both statements and
 branches.
 
-Currently it supports Python 3 (testing on 3.6-3.9) and PyPy 3.
+Currently it supports Python 3 (testing on 3.7-3.10) and PyPy 3.
 The last Python 2-compatible version was h11 0.11.x.
 (Originally it had a Cython wrapper for `http-parser
 <https://github.com/nodejs/http-parser>`_ and a beautiful nested state
@@ -191,5 +190,3 @@
 Contributors are requested to follow our `code of conduct
 <https://github.com/python-hyper/h11/blob/master/CODE_OF_CONDUCT.md>`_ in
 all project spaces.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/h11.egg-info/requires.txt 
new/h11-0.14.0/h11.egg-info/requires.txt
--- old/h11-0.13.0/h11.egg-info/requires.txt    2022-01-19 21:45:19.000000000 
+0100
+++ new/h11-0.14.0/h11.egg-info/requires.txt    2022-09-25 17:39:40.000000000 
+0200
@@ -1,6 +1,3 @@
 
-[:python_version < "3.7"]
-dataclasses
-
 [:python_version < "3.8"]
 typing_extensions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/h11-0.13.0/setup.py new/h11-0.14.0/setup.py
--- old/h11-0.13.0/setup.py     2022-01-19 21:44:16.000000000 +0100
+++ new/h11-0.14.0/setup.py     2022-09-25 17:39:04.000000000 +0200
@@ -18,9 +18,8 @@
     # This means, just install *everything* you see under h11/, even if it
     # doesn't look like a source file, so long as it appears in MANIFEST.in:
     include_package_data=True,
-    python_requires=">=3.6",
+    python_requires=">=3.7",
     install_requires=[
-        "dataclasses; python_version < '3.7'",
         "typing_extensions; python_version < '3.8'",
     ],
     classifiers=[
@@ -31,10 +30,10 @@
         "Programming Language :: Python :: Implementation :: PyPy",
         "Programming Language :: Python :: 3",
         "Programming Language :: Python :: 3 :: Only",
-        "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",
         "Topic :: Internet :: WWW/HTTP",
         "Topic :: System :: Networking",
     ],

Reply via email to