Hello community, here is the log from the commit of package python-h11 for openSUSE:Factory checked in at 2020-08-14 09:33:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-h11 (Old) and /work/SRC/openSUSE:Factory/.python-h11.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-h11" Fri Aug 14 09:33:31 2020 rev:6 rq:826282 version:0.10.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-h11/python-h11.changes 2020-05-06 11:05:02.995363479 +0200 +++ /work/SRC/openSUSE:Factory/.python-h11.new.3399/python-h11.changes 2020-08-14 09:34:38.348438703 +0200 @@ -1,0 +2,8 @@ +Thu Aug 13 12:35:59 UTC 2020 - [email protected] + +- Update to version 0.10.0 + * Drop support for Python 3.4. + * Support Python 3.8. + * Make error messages returned by match failures less ambiguous + +------------------------------------------------------------------- Old: ---- h11-0.9.0.tar.gz New: ---- h11-0.10.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-h11.spec ++++++ --- /var/tmp/diff_new_pack.8BraYs/_old 2020-08-14 09:34:38.792438930 +0200 +++ /var/tmp/diff_new_pack.8BraYs/_new 2020-08-14 09:34:38.796438932 +0200 @@ -18,7 +18,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-h11 -Version: 0.9.0 +Version: 0.10.0 Release: 0 Summary: A pure-Python, bring-your-own-I/O implementation of HTTP/11 License: MIT ++++++ h11-0.9.0.tar.gz -> h11-0.10.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/PKG-INFO new/h11-0.10.0/PKG-INFO --- old/h11-0.9.0/PKG-INFO 2019-05-15 20:43:42.000000000 +0200 +++ new/h11-0.10.0/PKG-INFO 2020-08-13 11:50:23.070536600 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: h11 -Version: 0.9.0 +Version: 0.10.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 @@ -120,7 +120,7 @@ It has a test suite with 100.0% coverage for both statements and branches. - Currently it supports Python 3 (testing on 3.4-3.7), Python 2.7, and PyPy. + Currently it supports Python 3 (testing on 3.5-3.8), Python 2.7, and PyPy. (Originally it had a Cython wrapper for `http-parser <https://github.com/nodejs/http-parser>`_ and a beautiful nested state machine implemented with ``yield from`` to postprocess the output. But @@ -183,9 +183,9 @@ Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: System :: Networking diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/README.rst new/h11-0.10.0/README.rst --- old/h11-0.9.0/README.rst 2019-05-15 20:41:39.000000000 +0200 +++ new/h11-0.10.0/README.rst 2020-08-13 11:49:16.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.4-3.7), Python 2.7, and PyPy. +Currently it supports Python 3 (testing on 3.5-3.8), Python 2.7, and PyPy. (Originally it had a Cython wrapper for `http-parser <https://github.com/nodejs/http-parser>`_ and a beautiful nested state machine implemented with ``yield from`` to postprocess the output. But diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/docs/source/basic-usage.rst new/h11-0.10.0/docs/source/basic-usage.rst --- old/h11-0.9.0/docs/source/basic-usage.rst 2019-05-15 20:41:39.000000000 +0200 +++ new/h11-0.10.0/docs/source/basic-usage.rst 2020-08-13 11:49:16.000000000 +0200 @@ -238,8 +238,8 @@ client = MyHttpClient("httpbin.org", 443) client.send(h11.Request(method="GET", target="/xml", - headers=[("Host", "httpbin.org")]), - h11.EndOfMessage()) + headers=[("Host", "httpbin.org")])) + client.send(h11.EndOfMessage()) And read back the events: @@ -321,8 +321,8 @@ client.conn.our_state, client.conn.their_state client.send(h11.Request(method="GET", target="/get", - headers=[("Host", "httpbin.org")]), - h11.EndOfMessage()) + headers=[("Host", "httpbin.org")])) + client.send(h11.EndOfMessage()) client.next_event() @@ -339,9 +339,9 @@ client.send(h11.Request(method="POST", target="/post", headers=[("Host", "httpbin.org"), - ("Content-Length", "10")]), - h11.Data(data=b"1234567890"), - h11.EndOfMessage()) + ("Content-Length", "10")])) + client.send(h11.Data(data=b"1234567890")) + client.send(h11.EndOfMessage()) * Experiment with what happens if you try to violate the HTTP protocol by sending a :class:`Response` as a client, or sending two diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/docs/source/changes.rst new/h11-0.10.0/docs/source/changes.rst --- old/h11-0.9.0/docs/source/changes.rst 2019-05-15 20:42:27.000000000 +0200 +++ new/h11-0.10.0/docs/source/changes.rst 2020-08-13 11:49:16.000000000 +0200 @@ -3,6 +3,18 @@ .. currentmodule:: h11 +.. towncrier release notes start + +v0.10.0 (2020-08-14) +-------------------- + +Other changes: + +* Drop support for Python 3.4. +* Support Python 3.8. +* Make error messages returned by match failures less ambiguous (`#98 + <https://github.com/python-hyper/h11/issues/98>`__). + v0.9.0 (2019-05-15) ------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/docs/source/index.rst new/h11-0.10.0/docs/source/index.rst --- old/h11-0.9.0/docs/source/index.rst 2019-05-15 20:41:39.000000000 +0200 +++ new/h11-0.10.0/docs/source/index.rst 2020-08-13 11:49:16.000000000 +0200 @@ -44,7 +44,7 @@ Vital statistics ---------------- -* Requirements: Python 2.7 or Python 3.4+ (PyPy works great) +* Requirements: Python 2.7 or Python 3.5+ (PyPy works great) * Install: ``pip install h11`` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/fuzz/afl-server.py new/h11-0.10.0/fuzz/afl-server.py --- old/h11-0.9.0/fuzz/afl-server.py 2019-05-15 20:41:39.000000000 +0200 +++ new/h11-0.10.0/fuzz/afl-server.py 2020-08-13 11:49:16.000000000 +0200 @@ -2,11 +2,10 @@ # either successfully parse it, or else throw a RemoteProtocolError, never any # other error. -import sys import os +import sys import afl - import h11 if sys.version_info[0] >= 3: @@ -14,6 +13,7 @@ else: in_file = sys.stdin + def process_all(c): while True: event = c.next_event() @@ -22,6 +22,7 @@ if type(event) is h11.ConnectionClosed: break + afl.init() data = in_file.read() @@ -40,7 +41,7 @@ server2 = h11.Connection(h11.SERVER) try: for i in range(len(data)): - server2.receive_data(data[i:i + 1]) + server2.receive_data(data[i : i + 1]) process_all(server2) server2.receive_data(b"") process_all(server2) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/h11/_connection.py new/h11-0.10.0/h11/_connection.py --- old/h11-0.9.0/h11/_connection.py 2019-05-15 20:41:39.000000000 +0200 +++ new/h11-0.10.0/h11/_connection.py 2020-08-13 11:49:16.000000000 +0200 @@ -308,7 +308,7 @@ return (bytes(self._receive_buffer), self._receive_buffer_closed) def receive_data(self, data): - """Add data to our internal recieve buffer. + """Add data to our internal receive buffer. This does not actually do any processing on the data, just stores it. To trigger processing, you have to call :meth:`next_event`. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/h11/_readers.py new/h11-0.10.0/h11/_readers.py --- old/h11-0.9.0/h11/_readers.py 2019-05-15 20:41:39.000000000 +0200 +++ new/h11-0.10.0/h11/_readers.py 2020-08-13 11:49:16.000000000 +0200 @@ -58,7 +58,7 @@ # Python 3, validate() takes either and returns matches as bytes. But # on Python 2, validate can return matches as bytearrays, so we have # to explicitly cast back. - matches = validate(header_field_re, bytes(line)) + matches = validate(header_field_re, bytes(line), "illegal header line: {!r}", bytes(line)) yield (matches["field_name"], matches["field_value"]) @@ -71,7 +71,7 @@ return None if not lines: raise LocalProtocolError("no request line received") - matches = validate(request_line_re, lines[0]) + matches = validate(request_line_re, lines[0], "illegal request line: {!r}", lines[0]) return Request( headers=list(_decode_header_lines(lines[1:])), _parsed=True, **matches ) @@ -86,7 +86,7 @@ return None if not lines: raise LocalProtocolError("no response line received") - matches = validate(status_line_re, lines[0]) + matches = validate(status_line_re, lines[0], "illegal status line: {!r}", lines[0]) # Tolerate missing reason phrases if matches["reason"] is None: matches["reason"] = b"" @@ -152,7 +152,7 @@ chunk_header = buf.maybe_extract_until_next(b"\r\n") if chunk_header is None: return None - matches = validate(chunk_header_re, chunk_header) + matches = validate(chunk_header_re, chunk_header, "illegal chunk header: {!r}", chunk_header) # XX FIXME: we discard chunk extensions. Does anyone care? # We convert to bytes because Python 2's `int()` function doesn't # work properly on bytearray objects. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/h11/_version.py new/h11-0.10.0/h11/_version.py --- old/h11-0.9.0/h11/_version.py 2019-05-15 20:42:27.000000000 +0200 +++ new/h11-0.10.0/h11/_version.py 2020-08-13 11:49:25.000000000 +0200 @@ -13,4 +13,4 @@ # want. (Contrast with the special suffix 1.0.0.dev, which sorts *before* # 1.0.0.) -__version__ = "0.9.0" +__version__ = "0.10.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/h11/tests/test_events.py new/h11-0.10.0/h11/tests/test_events.py --- old/h11-0.9.0/h11/tests/test_events.py 2019-05-15 20:41:39.000000000 +0200 +++ new/h11-0.10.0/h11/tests/test_events.py 2020-08-13 11:49:16.000000000 +0200 @@ -44,7 +44,7 @@ with pytest.raises(TypeError) as exc: T(b=0) # make sure we error on the right missing kwarg - assert "kwarg a" in str(exc) + assert "kwarg a" in str(exc.value) # _validate is called with pytest.raises(ValueError): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/h11.egg-info/PKG-INFO new/h11-0.10.0/h11.egg-info/PKG-INFO --- old/h11-0.9.0/h11.egg-info/PKG-INFO 2019-05-15 20:43:42.000000000 +0200 +++ new/h11-0.10.0/h11.egg-info/PKG-INFO 2020-08-13 11:50:20.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: h11 -Version: 0.9.0 +Version: 0.10.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 @@ -120,7 +120,7 @@ It has a test suite with 100.0% coverage for both statements and branches. - Currently it supports Python 3 (testing on 3.4-3.7), Python 2.7, and PyPy. + Currently it supports Python 3 (testing on 3.5-3.8), Python 2.7, and PyPy. (Originally it had a Cython wrapper for `http-parser <https://github.com/nodejs/http-parser>`_ and a beautiful nested state machine implemented with ``yield from`` to postprocess the output. But @@ -183,9 +183,9 @@ Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: System :: Networking diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/h11.egg-info/SOURCES.txt new/h11-0.10.0/h11.egg-info/SOURCES.txt --- old/h11-0.9.0/h11.egg-info/SOURCES.txt 2019-05-15 20:43:42.000000000 +0200 +++ new/h11-0.10.0/h11.egg-info/SOURCES.txt 2020-08-13 11:50:21.000000000 +0200 @@ -2,6 +2,7 @@ MANIFEST.in README.rst notes.org +pyproject.toml setup.cfg setup.py docs/Makefile diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/pyproject.toml new/h11-0.10.0/pyproject.toml --- old/h11-0.9.0/pyproject.toml 1970-01-01 01:00:00.000000000 +0100 +++ new/h11-0.10.0/pyproject.toml 2020-08-13 11:49:16.000000000 +0200 @@ -0,0 +1,40 @@ +[tool.towncrier] +# Usage: +# - PRs should drop a file like "issuenumber.feature" in newsfragments +# (or "bugfix", "doc", "removal", "misc"; misc gets no text, we can +# customize this) +# - At release time after bumping version number, run: towncrier +# (or towncrier --draft) +package = "h11" +filename = "docs/source/changes.rst" +directory = "newsfragments" +underlines = ["-", "~", "^"] +issue_format = "`#{issue} <https://github.com/python-hyper/h11/issues/{issue}>`__" + +# Unfortunately there's no way to simply override +# tool.towncrier.type.misc.showcontent + +[[tool.towncrier.type]] +directory = "feature" +name = "Features" +showcontent = true + +[[tool.towncrier.type]] +directory = "bugfix" +name = "Bugfixes" +showcontent = true + +[[tool.towncrier.type]] +directory = "doc" +name = "Improved Documentation" +showcontent = true + +[[tool.towncrier.type]] +directory = "removal" +name = "Deprecations and Removals" +showcontent = true + +[[tool.towncrier.type]] +directory = "misc" +name = "Miscellaneous internal changes" +showcontent = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/h11-0.9.0/setup.py new/h11-0.10.0/setup.py --- old/h11-0.9.0/setup.py 2019-05-15 20:41:39.000000000 +0200 +++ new/h11-0.10.0/setup.py 2020-08-13 11:49:16.000000000 +0200 @@ -26,10 +26,10 @@ "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "Topic :: Internet :: WWW/HTTP", "Topic :: System :: Networking", ],
