Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduled weekly dependency update for week 30 #265

Open
wants to merge 20 commits into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Jul 29, 2019

Update attrs from 18.1.0 to 19.1.0.

Changelog

19.1.0

-------------------

Backward-incompatible Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- Fixed a bug where deserialized objects with ``cache_hash=True`` could have incorrect hash code values.
This change breaks classes with ``cache_hash=True`` when a custom ``__setstate__`` is present.
An exception will be thrown when applying the ``attrs`` annotation to such a class.
This limitation is tracked in issue `494 <https://github.com/python-attrs/attrs/issues/494>`_.
`482 <https://github.com/python-attrs/attrs/issues/482>`_


Changes
^^^^^^^

- Add ``is_callable``, ``deep_iterable``, and ``deep_mapping`` validators.

* ``is_callable``: validates that a value is callable
* ``deep_iterable``: Allows recursion down into an iterable,
 applying another validator to every member in the iterable
 as well as applying an optional validator to the iterable itself.
* ``deep_mapping``: Allows recursion down into the items in a mapping object,
 applying a key validator and a value validator to the key and value in every item.
 Also applies an optional validator to the mapping object itself.

You can find them in the ``attr.validators`` package.
`425 <https://github.com/python-attrs/attrs/issues/425>`_
- Fixed stub files to prevent errors raised by mypy's ``disallow_any_generics = True`` option.
`443 <https://github.com/python-attrs/attrs/issues/443>`_
- Attributes with ``init=False`` now can follow after ``kw_only=True`` attributes.
`450 <https://github.com/python-attrs/attrs/issues/450>`_
- ``attrs`` now has first class support for defining exception classes.

If you define a class using ``attr.s(auto_exc=True)`` and subclass an exception, the class will behave like a well-behaved exception class including an appropriate ``__str__`` method, and all attributes additionally available in an ``args`` attribute.
`500 <https://github.com/python-attrs/attrs/issues/500>`_
- Clarified documentation for hashing to warn that hashable objects should be deeply immutable (in their usage, even if this is not enforced).
`503 <https://github.com/python-attrs/attrs/issues/503>`_


----

18.2.0

-------------------

Deprecations
^^^^^^^^^^^^

- Comparing subclasses using ``<``, ``>``, ``<=``, and ``>=`` is now deprecated.
The docs always claimed that instances are only compared if the types are identical, so this is a first step to conform to the docs.

Equality operators (``==`` and ``!=``) were always strict in this regard.
`394 <https://github.com/python-attrs/attrs/issues/394>`_


Changes
^^^^^^^

- ``attrs`` now ships its own `PEP 484 <https://www.python.org/dev/peps/pep-0484/>`_ type hints.
Together with `mypy <http://mypy-lang.org>`_'s ``attrs`` plugin, you've got all you need for writing statically typed code in both Python 2 and 3!

At that occasion, we've also added `narrative docs <https://www.attrs.org/en/stable/types.html>`_ about type annotations in ``attrs``.
`238 <https://github.com/python-attrs/attrs/issues/238>`_
- Added *kw_only* arguments to ``attr.ib`` and ``attr.s``, and a corresponding *kw_only* attribute to ``attr.Attribute``.
This change makes it possible to have a generated ``__init__`` with keyword-only arguments on Python 3, relaxing the required ordering of default and non-default valued attributes.
`281 <https://github.com/python-attrs/attrs/issues/281>`_,
`411 <https://github.com/python-attrs/attrs/issues/411>`_
- The test suite now runs with ``hypothesis.HealthCheck.too_slow`` disabled to prevent CI breakage on slower computers.
`364 <https://github.com/python-attrs/attrs/issues/364>`_,
`396 <https://github.com/python-attrs/attrs/issues/396>`_
- ``attr.validators.in_()`` now raises a ``ValueError`` with a useful message even if the options are a string and the value is not a string.
`383 <https://github.com/python-attrs/attrs/issues/383>`_
- ``attr.asdict()`` now properly handles deeply nested lists and dictionaries.
`395 <https://github.com/python-attrs/attrs/issues/395>`_
- Added ``attr.converters.default_if_none()`` that allows to replace ``None`` values in attributes.
For example ``attr.ib(converter=default_if_none(""))`` replaces ``None`` by empty strings.
`400 <https://github.com/python-attrs/attrs/issues/400>`_,
`414 <https://github.com/python-attrs/attrs/issues/414>`_
- Fixed a reference leak where the original class would remain live after being replaced when ``slots=True`` is set.
`407 <https://github.com/python-attrs/attrs/issues/407>`_
- Slotted classes can now be made weakly referenceable by passing ``attr.s(weakref_slot=True)``.
`420 <https://github.com/python-attrs/attrs/issues/420>`_
- Added *cache_hash* option to ``attr.s`` which causes the hash code to be computed once and stored on the object.
`425 <https://github.com/python-attrs/attrs/issues/425>`_
- Attributes can be named ``property`` and ``itemgetter`` now.
`430 <https://github.com/python-attrs/attrs/issues/430>`_
- It is now possible to override a base class' class variable using only class annotations.
`431 <https://github.com/python-attrs/attrs/issues/431>`_


----
Links

Update cffi from 1.11.5 to 1.12.3.

Changelog

1.12.3

=======

* Fix for nested struct types that end in a var-sized array (405).

* Add support for using ``U`` and ``L`` characters at the end of integer
constants in ``ffi.cdef()`` (thanks Guillaume).

* More 3.8 fixes.

1.12.2

=======

* Added temporary workaround to compile on CPython 3.8.0a2.

1.12.1

=======

* CPython 3 on Windows: we again no longer compile with ``Py_LIMITED_API``
by default because such modules *still* cannot be used with virtualenv.
The problem is that it doesn't work in CPython <= 3.4, and for
technical reason we can't enable this flag automatically based on the
version of Python.

Like before, `Issue 350`_ mentions a workaround if you still want
the ``Py_LIMITED_API`` flag and *either* you are not concerned about
virtualenv *or* you are sure your module will not be used on CPython
<= 3.4: pass ``define_macros=[("Py_LIMITED_API", None)]`` to the
``ffibuilder.set_source()`` call.

1.12

=====

* `Direct support for pkg-config`__.

* ``ffi.from_buffer()`` takes a new optional *first* argument that gives
the array type of the result.  It also takes an optional keyword argument
``require_writable`` to refuse read-only Python buffers.

* ``ffi.new()``, ``ffi.gc()`` or ``ffi.from_buffer()`` cdata objects
can now be released at known times, either by using the ``with``
keyword or by calling the new ``ffi.release()``.

* Windows, CPython 3.x: cffi modules are linked with ``python3.dll``
again.  This makes them independant on the exact CPython version,
like they are on other platforms.  **It requires virtualenv 16.0.0.**

* Accept an expression like ``ffi.new("int[4]", p)`` if ``p`` is itself
another cdata ``int[4]``.

* CPython 2.x: ``ffi.dlopen()`` failed with non-ascii file names on Posix

* CPython: if a thread is started from C and then runs Python code (with
callbacks or with the embedding solution), then previous versions of
cffi would contain possible crashes and/or memory leaks.  Hopefully,
this has been fixed (see `issue 362`_).

* Support for ``ffi.cdef(..., pack=N)`` where N is a power of two.
Means to emulate ``pragma pack(N)`` on MSVC.  Also, the default on
Windows is now ``pack=8``, like on MSVC.  This might make a difference
in corner cases, although I can't think of one in the context of CFFI.
The old way ``ffi.cdef(..., packed=True)`` remains and is equivalent
to ``pack=1`` (saying e.g. that fields like ``int`` should be aligned
to 1 byte instead of 4).

.. __: cdef.htmlpkgconfig
.. _`issue 362`: https://bitbucket.org/cffi/cffi/issues/362/


Older Versions
==============
Links

Update coverage from 4.5.1 to 4.5.3.

Changelog

4.5.3

---------------------------

- Only packaging metadata changes.


.. _changes_452:

4.5.2

----------------------------

- Namespace packages are supported on Python 3.7, where they used to cause
TypeErrors about path being None. Fixes `issue 700`_.

- Python 3.8 (as of today!) passes all tests.  Fixes `issue 707`_ and
`issue 714`_.

- Development moved from `Bitbucket`_ to `GitHub`_.

.. _issue 700: https://github.com/nedbat/coveragepy/issues/700
.. _issue 707: https://github.com/nedbat/coveragepy/issues/707
.. _issue 714: https://github.com/nedbat/coveragepy/issues/714

.. _Bitbucket: https://bitbucket.org/ned/coveragepy
.. _GitHub: https://github.com/nedbat/coveragepy


.. _changes_451:
Links

Update cryptography from 2.3.1 to 2.7.

Changelog

2.7

~~~~~~~~~~~~~~~~

* **BACKWARDS INCOMPATIBLE:** We no longer distribute 32-bit ``manylinux1``
wheels. Continuing to produce them was a maintenance burden.
* **BACKWARDS INCOMPATIBLE:** Removed the
``cryptography.hazmat.primitives.mac.MACContext`` interface. The ``CMAC`` and
``HMAC`` APIs have not changed, but they are no longer registered as
``MACContext`` instances.
* Removed support for running our tests with ``setup.py test``. Users
interested in running our tests can continue to follow the directions in our
:doc:`development documentation</development/getting-started>`.
* Add support for :class:`~cryptography.hazmat.primitives.poly1305.Poly1305`
when using OpenSSL 1.1.1 or newer.
* Support serialization with ``Encoding.OpenSSH`` and ``PublicFormat.OpenSSH``
in
:meth:`Ed25519PublicKey.public_bytes
<cryptography.hazmat.primitives.asymmetric.ed25519.Ed25519PublicKey.public_bytes>`
.
* Correctly allow passing a ``SubjectKeyIdentifier`` to
:meth:`~cryptography.x509.AuthorityKeyIdentifier.from_issuer_subject_key_identifier`
and deprecate passing an ``Extension`` object. The documentation always
required ``SubjectKeyIdentifier`` but the implementation previously
required an ``Extension``.

.. _v2-6-1:

2.6.1

~~~~~~~~~~~~~~~~~~

* Resolved an error in our build infrastructure that broke our Python3 wheels
for macOS and Linux.

.. _v2-6:

2.6

~~~~~~~~~~~~~~~~

* **BACKWARDS INCOMPATIBLE:** Removed
``cryptography.hazmat.primitives.asymmetric.utils.encode_rfc6979_signature``
and
``cryptography.hazmat.primitives.asymmetric.utils.decode_rfc6979_signature``,
which had been deprecated for nearly 4 years. Use
:func:`~cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature`
and
:func:`~cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature`
instead.
* **BACKWARDS INCOMPATIBLE**: Removed ``cryptography.x509.Certificate.serial``,
which had been deprecated for nearly 3 years. Use
:attr:`~cryptography.x509.Certificate.serial_number` instead.
* Updated Windows, macOS, and ``manylinux1`` wheels to be compiled with
OpenSSL 1.1.1b.
* Added support for :doc:`/hazmat/primitives/asymmetric/ed448` when using
OpenSSL 1.1.1b or newer.
* Added support for :doc:`/hazmat/primitives/asymmetric/ed25519` when using
OpenSSL 1.1.1b or newer.
* :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` can
now load ``ed25519`` public keys.
* Add support for easily mapping an object identifier to its elliptic curve
class via
:func:`~cryptography.hazmat.primitives.asymmetric.ec.get_curve_for_oid`.
* Add support for OpenSSL when compiled with the ``no-engine``
(``OPENSSL_NO_ENGINE``) flag.

.. _v2-5:

2.5

~~~~~~~~~~~~~~~~

* **BACKWARDS INCOMPATIBLE:** :term:`U-label` strings were deprecated in
version 2.1, but this version removes the default ``idna`` dependency as
well. If you still need this deprecated path please install cryptography
with the ``idna`` extra: ``pip install cryptography[idna]``.
* **BACKWARDS INCOMPATIBLE:** The minimum supported PyPy version is now 5.4.
* Numerous classes and functions have been updated to allow :term:`bytes-like`
types for keying material and passwords, including symmetric algorithms, AEAD
ciphers, KDFs, loading asymmetric keys, and one time password classes.
* Updated Windows, macOS, and ``manylinux1`` wheels to be compiled with
OpenSSL 1.1.1a.
* Added support for :class:`~cryptography.hazmat.primitives.hashes.SHA512_224`
and :class:`~cryptography.hazmat.primitives.hashes.SHA512_256` when using
OpenSSL 1.1.1.
* Added support for :class:`~cryptography.hazmat.primitives.hashes.SHA3_224`,
:class:`~cryptography.hazmat.primitives.hashes.SHA3_256`,
:class:`~cryptography.hazmat.primitives.hashes.SHA3_384`, and
:class:`~cryptography.hazmat.primitives.hashes.SHA3_512` when using OpenSSL
1.1.1.
* Added support for :doc:`/hazmat/primitives/asymmetric/x448` when using
OpenSSL 1.1.1.
* Added support for :class:`~cryptography.hazmat.primitives.hashes.SHAKE128`
and :class:`~cryptography.hazmat.primitives.hashes.SHAKE256` when using
OpenSSL 1.1.1.
* Added initial support for parsing PKCS12 files with
:func:`~cryptography.hazmat.primitives.serialization.pkcs12.load_key_and_certificates`.
* Added support for :class:`~cryptography.x509.IssuingDistributionPoint`.
* Added ``rfc4514_string()`` method to
:meth:`x509.Name <cryptography.x509.Name.rfc4514_string>`,
:meth:`x509.RelativeDistinguishedName
<cryptography.x509.RelativeDistinguishedName.rfc4514_string>`, and
:meth:`x509.NameAttribute <cryptography.x509.NameAttribute.rfc4514_string>`
to format the name or component an :rfc:`4514` Distinguished Name string.
* Added
:meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey.from_encoded_point`,
which immediately checks if the point is on the curve and supports compressed
points. Deprecated the previous method
:meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.from_encoded_point`.
* Added :attr:`~cryptography.x509.ocsp.OCSPResponse.signature_hash_algorithm`
to ``OCSPResponse``.
* Updated :doc:`/hazmat/primitives/asymmetric/x25519` support to allow
additional serialization methods. Calling
:meth:`~cryptography.hazmat.primitives.asymmetric.x25519.X25519PublicKey.public_bytes`
with no arguments has been deprecated.
* Added support for encoding compressed and uncompressed points via
:meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey.public_bytes`. Deprecated the previous method
:meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.encode_point`.


.. _v2-4-2:

2.4.2

~~~~~~~~~~~~~~~~~~

* Updated Windows, macOS, and ``manylinux1`` wheels to be compiled with
OpenSSL 1.1.0j.

.. _v2-4-1:

2.4.1

~~~~~~~~~~~~~~~~~~

* Fixed a build breakage in our ``manylinux1`` wheels.

.. _v2-4:

2.4

~~~~~~~~~~~~~~~~

* **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL 2.4.x.
* Deprecated OpenSSL 1.0.1 support. OpenSSL 1.0.1 is no longer supported by
the OpenSSL project. At this time there is no time table for dropping
support, however we strongly encourage all users to upgrade or install
``cryptography`` from a wheel.
* Added initial :doc:`OCSP </x509/ocsp>` support.
* Added support for :class:`~cryptography.x509.PrecertPoison`.

.. _v2-3-1:
Links

Update eliot from 1.5.0 to 1.10.0.

Changelog
Links

Update hyperlink from 18.0.0 to 19.0.0.

Changelog

19.0.0

*(April 7, 2019)*

A queryparameter-centric release, with two small enhancements:

* "equals sign" characters in uery parameter values are no longer
escaped. (see
[39](https://github.com/python-hyper/hyperlink/pull/39))
* `URL.remove()` now accepts *value* and *limit* parameters, allowing
for removal of specific name-value pairs, as well as limiting the
number of removals. (see [71](https://github.com/python-hyper/hyperlink/pull/71))
Links

Update hypothesis from 3.69.0 to 4.32.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update idna from 2.7 to 2.8.

Changelog

2.8

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

- Update to Unicode 11.0.0.
- Provide more specific exceptions for some malformed labels.
Links

Update pbr from 4.2.0 to 5.4.1.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update prometheus-client from 0.3.1 to 0.7.1.

Changelog

0.7.1

[BUGFIX] multiprocess: don't crash on missing gauge_live/sum files (424)
[BUGFIX] correctly bind method on Python 2.x (403)

0.7.0

[ENHANCEMENT] Multiprocess exposition speed boost (421)
[ENHANCEMENT] optimize openmetrics text parsing (~4x perf) (402)
[ENHANCEMENT] Add python3.7 support (418)
[ENHANCEMENT] Change exemplar length limit to be only for label names+values (397)
[BUGFIX] Disable gcCollector for pypy (380)

0.6.0

[ENHANCEMENT] Better exceptions on exposition failure (364)
[BUGFIX] Fix deadlock in gcCollector, metrics are now different (371)
[BUGFIX] Fix thread leak in Python 3.7 (356)
[BUGFIX] Make the format strings compatible with Python 2.6 (361)
[BUGFIX] parser: ensure samples are of type Sample (358)

0.5.0

[ENHANCEMENT] Be more resilient to certain file corruptions (329)
[ENHANCEMENT] Permit subclassing of MetricsHandler (339)
[ENHANCEMENT] Updates based on latest OpenMetrics draft spec discussions (338 346)
[BUGFIX] In multiprocess mode, ensure that metrics initialise to the correct file (346)
[BUGFIX] Avoid re-entrant calls to GC collector's callback (343)

0.4.2

[BUGFIX] Disable GCCollector in multiprocess mode to prevent a deadlock

0.4.1

[BUGFIX] Fix OpenMetrics http negotiation handling

0.4.0

[CHANGE] Counter time series will now always be exposed with _total, and counter metrics will have a _total suffix stripped. This is as the internal data model is now OpenMetrics, rather than Prometheus Text Format (300)
[CHANGE] Samples now use a namedtuple (300)
[FEATURE] Add OpenMetrics exposition and parser (300 306)
[FEATURE] Add Info, Stateset, Enum, GaugeHistogram support for OpenMetrics (300)
[FEATURE] Add timestamp support for Prometheus text format exposition (300)
[FEATURE] Add garbage collection metrics (301)
[ENHANCEMENT] If reading multiprocess file, open it readonly. (307)
[BUGFIX] Fix bug in WSGI app code. (307)
[BUGFIX] Write to multiprocess files directly (315)
Links

Update pyasn1-modules from 0.2.2 to 0.2.5.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pyasn1 from 0.4.4 to 0.4.5.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update pycparser from 2.18 to 2.19.

Changelog

2.19

- PR 277: Fix parsing of floating point literals
- PR 254: Add support for parsing empty structs
- PR 240: Fix enum formatting in generated C code (also 216)
- PR 222: Add support for pragma in struct declarations
Links

Update pyopenssl from 18.0.0 to 19.0.0.

Changelog

19.0.0

-------------------


Backward-incompatible changes:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

- ``X509Store.add_cert`` no longer raises an error if you add a duplicate cert.
`787 <https://github.com/pyca/pyopenssl/pull/787>`_


Deprecations:
^^^^^^^^^^^^^

*none*


Changes:
^^^^^^^^

- pyOpenSSL now works with OpenSSL 1.1.1.
`805 <https://github.com/pyca/pyopenssl/pull/805>`_
- pyOpenSSL now handles NUL bytes in ``X509Name.get_components()``
`804 <https://github.com/pyca/pyopenssl/pull/804>`_



----
Links

Update pyrsistent from 0.14.4 to 0.15.4.

Changelog

0.15.4

* Fix 174, fix a GC traversal bug in pvector evolver C extension. Thanks till-varoquaux for finding and fixing this!
* Fix 175, pytest 5 compatibility, this is a quick fix, some more work is needed to get coverage working etc.

0.15.3

* Fix 172, catch all exceptions during extension build to reduce chance of corner cases that prevents installation.
* Fix 171, in PVector equality comparison don's assume that other object has a length, check before calling len.
* Fix 168, write warning about failing build of C extension directly to stderr to avoid that pip silences it.
* Fix 155, update PMapEvolver type stub to better reflect implementation.

0.15.2

* Fix 166, Propagate 'ignore_extra' param in hierarchy. Thanks ss18 for this!
* Fix 167, thaw typing. Thanks nattofriends for this!
* Fix 154, not possible to insert empty pmap as leaf node with transform.

0.15.1

* Fix 163 installation broken on Python 2 because of fix of 161, thanks vphilippon for this! Sorry for the
inconvenience.

0.15.0

* Python 3.4 is no longer officially supported since it is EOL since 2019-03-18.
* Fix 157, major improvements to type hints. Thanks je-l for working on this and nattofriend for reviewing the PR!
* Fix 161, installation fails on some Windows platforms because fallback to Python pvector does not work.
Thanks MaxTaggart for fixing and verifying this!

0.14.11

* Fix 152 Don't use __builtin_popcount, this hopefully fixes 147 Error in pvectorc.cp37-win_amd64.pyd file, as well.
Thanks benrg for this!
* Fix 151 Fix compatibility for hypothesis 4. Thanks felixonmars for this!

0.14.10

* Fix 148, only require pytest-runner if running tests. Thanks ccorbacho for this!

0.14.9

* Fix 144, Compile pvectormodule.c on windows. Thanks ganwell for this!

0.14.8

* Fix 142, Improve type stubs. Thanks arxanas for this!

0.14.7

* Fix 102, add PEP 561 type annotation stubs for most pyrsistent types. Thanks nattofriends for this!

0.14.6

* Fix 135, Type classes for Python 3 type annotations of pyrsistent types. Thanks nattofriends for this!
* Fix 128, Allow PClass and PRecord to ignore input parameters to constructor that are not part of the spec
instead of blowing up with a type error. Thanks agberk for this!

0.14.5

* Fix 137, deprecation warnings in Python 3.7. Thanks thombashi for this!
* Fix 129, building via setuptools and setup.py. Thanks galuszkak for this!
Links

Update service-identity from 17.0.0 to 18.1.0.

Changelog

18.1.0

-------------------

Changes:
^^^^^^^^

- pyOpenSSL is optional now if you use ``service_identity.cryptography.*`` only.
- Added support for ``iPAddress`` ``subjectAltName``\ s.
You can now verify whether a connection or a certificate is valid for an IP address using ``service_identity.pyopenssl.verify_ip_address()`` and ``service_identity.cryptography.verify_certificate_ip_address()``.
`12 <https://github.com/pyca/service_identity/pull/12>`_


----
Links

Update six from 1.11.0 to 1.12.0.

Changelog

1.12.0

------

- Issue 259, pull request 260: `six.add_metaclass` now preserves
`__qualname__` from the original class.

- Pull request 204: Add `six.ensure_binary`, `six.ensure_text`, and
`six.ensure_str`.
Links

Update toolz from 0.9.0 to 0.10.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update twisted[tls] from 18.7.0 to 19.2.1.

Changelog

19.2.0

===========================

This is the final release that will support Python 3.4.

Features
--------

- twisted.internet.ssl.CertificateOptions now uses 32 random bytes instead of an MD5 hash for the ssl session identifier context. (9463)
- DeferredLock and DeferredSemaphore can be used as asynchronous context
managers on Python 3.5+. (9546)
- t.i.b.BaseConnector has custom __repr__ (9548)
- twisted.internet.ssl.optionsForClientTLS now supports validating IP addresses from the certificate subjectAltName (9585)
- Twisted's minimum Cryptography requirement is now 2.5. (9592)


Bugfixes
--------

- twisted.web.proxy.ReverseProxyResource fixed documentation and example snippet (9192)
- twisted.python.failure.Failure.getTracebackObject now returns traceback objects whose frames can be passed into traceback.print_stack for better debugging of where the exception came from. (9305)
- twisted.internet.ssl.KeyPair.generate: No longer generate 1024-bit RSA keys by default. Anyone who generated a key with this method using the default value should move to replace it immediately. (9453)
- The message of twisted.internet.error.ConnectionAborted is no longer truncated. (9522)
- twisted.enterprise.adbapi.ConnectionPool.connect now logs only the dbapiName and not the connection arguments, which may contain credentials (9544)
- twisted.python.runtime.Platform.supportsINotify no longer considers the result of isDocker for its own result. (9579)


Improved Documentation
----------------------

- The documentation for the the twisted.internet.interfaces.IConsumer, IProducer, and IPullProducer interfaces is more detailed. (2546)
- The errback example in the docstring of twisted.logger.Logger.failure has been corrected. (9334)
- The sample code in the "Twisted Web In 60 Seconds" tutorial runs on Python 3. (9559)


Misc
----

- 8921, 9071, 9125, 9428, 9536, 9540, 9580


Conch
-----

Features
~~~~~~~~

- twisted.conch.ssh.keys can now read private keys in the new "openssh-key-v1" format, introduced in OpenSSH 6.5 and made the default in OpenSSH 7.8. (9515)


Bugfixes
~~~~~~~~

- Conch now uses pyca/cryptography for Diffie-Hellman key generation and agreement. (8831)


Misc
~~~~

- 9584


Web
---

Features
~~~~~~~~

- twisted.web.client.HostnameCachingHTTPSPolicy was added as a new contextFactory option.  The policy caches a specified number of twisted.internet.interfaces.IOpenSSLClientConnectionCreator instances to to avoid the cost of instantiating a connection creator for multiple requests to the same host. (9138)


Bugfixes
~~~~~~~~

- twisted.web.http.Request.cookies, twisted.web.http.HTTPChannel.writeHeaders, and twisted.web.http_headers.Headers were all vulnerable to header injection attacks.  They now replace linear whitespace ('\r', '\n', and '\r\n') with a single space.  twisted.web.http.Reqeuest.cookies also replaces semicolons (';') with a single space. (9420)
- twisted.web.client.Request and twisted.web.client.HTTPClient were both vulnerable to header injection attacks.  They now replace linear whitespace ('\r', '\n', and '\r\n') with a single space. (9421)


Mail
----

No significant changes.


Words
-----

No significant changes.


Names
-----

Features
~~~~~~~~

- twisted.names.dns now has IRecord implementations for the SSHFP and TSIG record types. (9373)

18.9.0

===========================

Features
--------

- twisted.internet._sslverify.ClientTLSOptions no longer raises IDNAError when given an IPv6 address as a hostname in a HTTPS URL. (9433)
- The repr() of a twisted.internet.base.DelayedCall now encodes the same information as its str(), exposing details of its scheduling and target callable. (9481)
- Python 3.7 is now supported. (9502)


Bugfixes
--------

- twisted.logger.LogBeginner's default critical observer now prints tracebacks for new and legacy log system events through the use of the new eventAsText API.  This API also does not raise an error for non-ascii encoded data in Python2, it attempts as well as possible to format the traceback. (7927)
- Syntax error under Python 3.7 fixed for twisted.conch.manhole and
twisted.main.imap4. (9384)
- `trial -j` reports tracebacks on test failures under Python 3. (9436)
- Properly format multi-byte and non-ascii encoded data in a traceback. (9456)
- twisted.python.rebuild now functions on Python 3.7. (9492)
- HTTP/2 server connections will no longer time out active downloads that take too long. (9529)


Improved Documentation
----------------------

- Several minor formatting problems in the API documentation have been corrected. (9461)
- The documentation of twisted.internet.defer.Deferred.fromFuture() has been updated to reflect upstream changes. (9539)


Deprecations and Removals
-------------------------

- async keyword argument is deprecated in twisted.conch.manhole
(ManholeInterpreter.write and Manhole.add) and in
twisted.main.imap4.IMAP4Server.sendUntaggedResponse,
isAsync keyword argument is introduced instead. (9384)


Misc
----

- 9379, 9485, 9489, 9499, 9501, 9511, 9514, 9523, 9524, 9525, 9538


Conch
-----

Bugfixes
~~~~~~~~

- twisted.conch.keys.Key.public returns the same twisted.conch.keys.Key instance when it is already a public key instead of failing with an exception. (9441)
- RSA private keys are no longer corrupted during loading, allowing OpenSSL's fast-path to operate for RSA signing. (9518)


Improved Documentation
~~~~~~~~~~~~~~~~~~~~~~

- The documentation for IConchUser.gotGlobalRequest() is more accurate. (9413)


Deprecations and Removals
~~~~~~~~~~~~~~~~~~~~~~~~~

- twisted.conch.ssh.filetransfer.ClientDirectory's use as an iterator has been deprecated. (9527)


Web
---

Bugfixes
~~~~~~~~

- twisted.web.server.Request.getSession now returns a new session if the
previous session has expired. (9288)


Misc
~~~~

- 9479, 9480, 9482, 9491


Mail
----

No significant changes.


Words
-----

No significant changes.


Names
-----

No significant changes.
Links

Update zope.interface from 4.5.0 to 4.6.0.

Changelog

4.6.0

------------------

- Add support for Python 3.7

- Fix ``verifyObject`` for class objects with staticmethods on
Python 3. See `issue 126
<https://github.com/zopefoundation/zope.interface/issues/126>`_.
Links

This change is Reviewable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant