Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-trustme for openSUSE:Factory checked in at 2023-09-08 21:14:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-trustme (Old) and /work/SRC/openSUSE:Factory/.python-trustme.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-trustme" Fri Sep 8 21:14:59 2023 rev:12 rq:1109513 version:1.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-trustme/python-trustme.changes 2023-05-22 13:14:14.910784310 +0200 +++ /work/SRC/openSUSE:Factory/.python-trustme.new.1766/python-trustme.changes 2023-09-08 21:15:10.297678446 +0200 @@ -1,0 +2,9 @@ +Thu Sep 7 11:03:12 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 1.1.0: + * Allow `os.PathLike` in typing of `Blob.write_to_path` + * Add support for PyPy 3.10 and Python 3.12 + * Remove support for Python 3.7 +- drop python 2.x specific conditionals from spec file + +------------------------------------------------------------------- Old: ---- trustme-1.0.0.tar.gz New: ---- trustme-1.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-trustme.spec ++++++ --- /var/tmp/diff_new_pack.57cPUy/_old 2023-09-08 21:15:11.649726767 +0200 +++ /var/tmp/diff_new_pack.57cPUy/_new 2023-09-08 21:15:11.653726911 +0200 @@ -16,10 +16,9 @@ # -%bcond_without python2 %{?sle15_python_module_pythons} Name: python-trustme -Version: 1.0.0 +Version: 1.1.0 Release: 0 Summary: Fake CA provider for Python tests License: Apache-2.0 OR MIT @@ -34,16 +33,9 @@ BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros -Requires: python-cryptography +Requires: python-cryptography >= 41.0.1 Requires: python-idna BuildArch: noarch -%if %{with python2} -BuildRequires: python-futures -BuildRequires: python-ipaddress -%endif -%ifpython2 -Requires: python-ipaddress -%endif %python_subpackages %description ++++++ trustme-1.0.0.tar.gz -> trustme-1.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/PKG-INFO new/trustme-1.1.0/PKG-INFO --- old/trustme-1.0.0/PKG-INFO 2023-05-01 08:16:17.661828300 +0200 +++ new/trustme-1.1.0/PKG-INFO 2023-07-10 08:51:13.035565600 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: trustme -Version: 1.0.0 +Version: 1.1.0 Summary: #1 quality TLS certs while you wait, for the discerning tester Home-page: https://github.com/python-trio/trustme Author: Nathaniel J. Smith @@ -14,15 +14,15 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -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: Topic :: System :: Networking Classifier: Topic :: Security :: Cryptography Classifier: Topic :: Software Development :: Testing -Requires-Python: >=3.7 +Requires-Python: >=3.8 License-File: LICENSE License-File: LICENSE.APACHE2 License-File: LICENSE.MIT @@ -62,7 +62,7 @@ **Bug tracker and source code:** https://github.com/python-trio/trustme -**Tested on:** Python 3.7+, CPython and PyPy +**Tested on:** Python 3.8+, CPython and PyPy **License:** MIT or Apache 2, your choice. @@ -88,7 +88,7 @@ # And now you issued a cert signed by this fake CA # https://en.wikipedia.org/wiki/Example.org - server_cert = ca.issue_cert(u"test-host.example.org") + server_cert = ca.issue_cert("test-host.example.org") # That's it! @@ -102,14 +102,14 @@ # trustme is happy either way. # ----- or ----- - + # Save the PEM-encoded data to a file to use in non-Python test # suites: ca.cert_pem.write_to_path("ca.pem") server_cert.private_key_and_cert_chain_pem.write_to_path("server.pem") - + # ----- or ----- - + # Put the PEM-encoded data in a temporary file, for libraries that # insist on that: with ca.cert_pem.tempfile() as ca_temp_path: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/README.rst new/trustme-1.1.0/README.rst --- old/trustme-1.0.0/README.rst 2022-06-07 07:49:38.000000000 +0200 +++ new/trustme-1.1.0/README.rst 2023-07-10 08:51:02.000000000 +0200 @@ -33,7 +33,7 @@ **Bug tracker and source code:** https://github.com/python-trio/trustme -**Tested on:** Python 3.7+, CPython and PyPy +**Tested on:** Python 3.8+, CPython and PyPy **License:** MIT or Apache 2, your choice. @@ -59,7 +59,7 @@ # And now you issued a cert signed by this fake CA # https://en.wikipedia.org/wiki/Example.org - server_cert = ca.issue_cert(u"test-host.example.org") + server_cert = ca.issue_cert("test-host.example.org") # That's it! @@ -73,14 +73,14 @@ # trustme is happy either way. # ----- or ----- - + # Save the PEM-encoded data to a file to use in non-Python test # suites: ca.cert_pem.write_to_path("ca.pem") server_cert.private_key_and_cert_chain_pem.write_to_path("server.pem") - + # ----- or ----- - + # Put the PEM-encoded data in a temporary file, for libraries that # insist on that: with ca.cert_pem.tempfile() as ca_temp_path: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/docs/source/conf.py new/trustme-1.1.0/docs/source/conf.py --- old/trustme-1.0.0/docs/source/conf.py 2022-06-07 07:49:38.000000000 +0200 +++ new/trustme-1.1.0/docs/source/conf.py 2023-07-10 08:51:02.000000000 +0200 @@ -54,6 +54,8 @@ } autodoc_member_order = "bysource" +autodoc_typehints = "both" +autodoc_typehints_description_target = "documented" # Tell sphinx to treat bare backticks like `foo` as :py:obj:`foo` default_role = 'py:obj' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/docs/source/index.rst new/trustme-1.1.0/docs/source/index.rst --- old/trustme-1.0.0/docs/source/index.rst 2023-05-01 08:09:23.000000000 +0200 +++ new/trustme-1.1.0/docs/source/index.rst 2023-07-10 08:51:02.000000000 +0200 @@ -11,7 +11,7 @@ each other using :mod:`trustme`\-generated certs. This example requires `Trio <https://trio.readthedocs.io>`__ (``pip -install -U trio``) and Python 3.7+. Note that while :mod:`trustme` is +install -U trio``) and Python 3.8+. Note that while :mod:`trustme` is maintained by the Trio project, :mod:`trustme` is happy to work with any networking library. @@ -122,6 +122,22 @@ .. towncrier release notes start +Trustme 1.1.0 (2023-07-10) +-------------------------- + +Features +~~~~~~~~ + +- Allow `os.PathLike` in typing of `Blob.write_to_path`. (`#606 <https://github.com/python-trio/trustme/issues/606>`__) +- Add support for PyPy 3.10 and Python 3.12. (`#609 <https://github.com/python-trio/trustme/issues/609>`__) + + +Deprecations and Removals +~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Remove support for Python 3.7. (`#609 <https://github.com/python-trio/trustme/issues/609>`__) + + Trustme 1.0.0 (2023-04-24) ------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/setup.py new/trustme-1.1.0/setup.py --- old/trustme-1.0.0/setup.py 2023-05-01 08:01:58.000000000 +0200 +++ new/trustme-1.1.0/setup.py 2023-07-10 08:51:02.000000000 +0200 @@ -18,7 +18,7 @@ }, package_dir={'': 'src'}, url="https://github.com/python-trio/trustme", - python_requires=">=3.7", + python_requires=">=3.8", install_requires=[ "cryptography>=3.1", "idna>=2.0", @@ -32,11 +32,11 @@ "Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "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", "Topic :: System :: Networking", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Testing", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/src/trustme/__init__.py new/trustme-1.1.0/src/trustme/__init__.py --- old/trustme-1.0.0/src/trustme/__init__.py 2023-04-24 07:34:31.000000000 +0200 +++ new/trustme-1.1.0/src/trustme/__init__.py 2023-07-10 08:51:02.000000000 +0200 @@ -146,12 +146,12 @@ """ return self._data - def write_to_path(self, path: str, append: bool = False) -> None: + def write_to_path(self, path: Union[str, "os.PathLike[str]"], append: bool = False) -> None: """Writes the data to the file at the given path. Args: - path (str): The path to write to. - append (bool): If False (the default), replace any existing file + path: The path to write to. + append: If False (the default), replace any existing file with the given name. If True, append to any existing file. """ @@ -186,7 +186,7 @@ requests.get("https://localhost/...", verify=ca_cert_path) Args: - dir (str or None): Passed to `tempfile.NamedTemporaryFile`. + dir: Passed to `tempfile.NamedTemporaryFile`. """ # On Windows, you can't re-open a NamedTemporaryFile that's still @@ -229,7 +229,7 @@ def __init__( self, - parent_cert: Optional["CA"] = None, + parent_cert: Optional[CA] = None, path_length: int = 9, organization_name: Optional[str] = None, organization_unit_name: Optional[str] = None, @@ -442,13 +442,12 @@ # For backwards compatibility issue_server_cert = issue_cert - def configure_trust(self, ctx: Union[ssl.SSLContext, "OpenSSL.SSL.Context"]) -> None: + def configure_trust(self, ctx: Union[ssl.SSLContext, OpenSSL.SSL.Context]) -> None: """Configure the given context object to trust certificates signed by this CA. Args: - ctx (ssl.SSLContext or OpenSSL.SSL.Context): The SSL context to be - modified. + ctx: The SSL context to be modified. """ if isinstance(ctx, ssl.SSLContext): @@ -473,8 +472,8 @@ you're not ready to switch completely to trustme just yet. Args: - cert_bytes (bytes): The bytes of the certificate in PEM format - private_key_bytes (bytes): The bytes of the private key in PEM format + cert_bytes: The bytes of the certificate in PEM format + private_key_bytes: The bytes of the private key in PEM format """ ca = cls() ca.parent_cert = None @@ -510,12 +509,11 @@ self.private_key_and_cert_chain_pem = ( Blob(private_key_pem + server_cert_pem + b''.join(chain_to_ca))) - def configure_cert(self, ctx: Union[ssl.SSLContext, "OpenSSL.SSL.Context"]) -> None: + def configure_cert(self, ctx: Union[ssl.SSLContext, OpenSSL.SSL.Context]) -> None: """Configure the given context object to present this certificate. Args: - ctx (ssl.SSLContext or OpenSSL.SSL.Context): The SSL context to be - modified. + ctx: The SSL context to be modified. """ if isinstance(ctx, ssl.SSLContext): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/src/trustme/_version.py new/trustme-1.1.0/src/trustme/_version.py --- old/trustme-1.0.0/src/trustme/_version.py 2023-05-01 08:01:58.000000000 +0200 +++ new/trustme-1.1.0/src/trustme/_version.py 2023-07-10 08:51:02.000000000 +0200 @@ -1 +1 @@ -__version__ = "1.0.0" +__version__ = "1.1.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/src/trustme.egg-info/PKG-INFO new/trustme-1.1.0/src/trustme.egg-info/PKG-INFO --- old/trustme-1.0.0/src/trustme.egg-info/PKG-INFO 2023-05-01 08:16:17.000000000 +0200 +++ new/trustme-1.1.0/src/trustme.egg-info/PKG-INFO 2023-07-10 08:51:13.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: trustme -Version: 1.0.0 +Version: 1.1.0 Summary: #1 quality TLS certs while you wait, for the discerning tester Home-page: https://github.com/python-trio/trustme Author: Nathaniel J. Smith @@ -14,15 +14,15 @@ Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -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: Topic :: System :: Networking Classifier: Topic :: Security :: Cryptography Classifier: Topic :: Software Development :: Testing -Requires-Python: >=3.7 +Requires-Python: >=3.8 License-File: LICENSE License-File: LICENSE.APACHE2 License-File: LICENSE.MIT @@ -62,7 +62,7 @@ **Bug tracker and source code:** https://github.com/python-trio/trustme -**Tested on:** Python 3.7+, CPython and PyPy +**Tested on:** Python 3.8+, CPython and PyPy **License:** MIT or Apache 2, your choice. @@ -88,7 +88,7 @@ # And now you issued a cert signed by this fake CA # https://en.wikipedia.org/wiki/Example.org - server_cert = ca.issue_cert(u"test-host.example.org") + server_cert = ca.issue_cert("test-host.example.org") # That's it! @@ -102,14 +102,14 @@ # trustme is happy either way. # ----- or ----- - + # Save the PEM-encoded data to a file to use in non-Python test # suites: ca.cert_pem.write_to_path("ca.pem") server_cert.private_key_and_cert_chain_pem.write_to_path("server.pem") - + # ----- or ----- - + # Put the PEM-encoded data in a temporary file, for libraries that # insist on that: with ca.cert_pem.tempfile() as ca_temp_path: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trustme-1.0.0/test-requirements.txt new/trustme-1.1.0/test-requirements.txt --- old/trustme-1.0.0/test-requirements.txt 2023-04-24 07:35:28.000000000 +0200 +++ new/trustme-1.1.0/test-requirements.txt 2023-07-10 08:51:02.000000000 +0200 @@ -1,16 +1,16 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile test-requirements.in +# pip-compile --resolver=backtracking test-requirements.in # attrs==23.1.0 # via service-identity cffi==1.15.1 # via cryptography -coverage[toml]==7.2.3 +coverage[toml]==7.2.7 # via -r test-requirements.in -cryptography==40.0.2 +cryptography==41.0.1 # via # -r test-requirements.in # pyopenssl @@ -21,9 +21,9 @@ # via pytest packaging==23.1 # via pytest -pluggy==1.0.0 +pluggy==1.2.0 # via pytest -pyasn1==0.4.8 +pyasn1==0.5.0 # via # pyasn1-modules # service-identity @@ -31,11 +31,9 @@ # via service-identity pycparser==2.21 # via cffi -pyopenssl==23.1.1 +pyopenssl==23.2.0 # via -r test-requirements.in -pytest==7.3.1 +pytest==7.4.0 # via -r test-requirements.in -service-identity==21.1.0 +service-identity==23.1.0 # via -r test-requirements.in -six==1.16.0 - # via service-identity