- update to 24.3.0:
* twisted.logger.formatEvent now honors dotted method names,
not just flat function names, in format strings, as it has
long been explicitly documented to do. So, you will now get
the expected result from formatEvent("here's the result of
calling a method at log-format time: {obj.method()}",
obj=...)
* twisted.web.http.HTTPChannel now ignores the trailer headers
provided in the last chunk of a chunked encoded response,
rather than raising an exception.
* twisted.protocols.tls.BufferingTLSTransport, used by default
by twisted.protocols.tls.TLSMemoryBIOFactory, was refactored
for improved performance when doing a high number of small
writes.
* twisted.python.failure.Failure now throws exception for
generators without triggering a deprecation warnings on
Python 3.12.
* twisted.internet.process.Process, used by
reactor.spawnProcess, now copies the parent environment when
the env=None argument is passed on Posix systems and
os.posix_spawnp is used internally.
* twisted.internet.defer.inlineCallbacks.returnValue's stack
introspection was adjusted for the latest PyPy 7.3.14
release, allowing legacy @inlineCallbacks to run on new PyPY
versions.
* twisted.trial.reporter.TestRun.startTest() is no longer
called for tests with skip annotation or skip attribute for
Python 3.12.1 or newer. This is the result of upstream Python
gh-106584 change. The behavior is not change in 3.12.0 or
older.
OBS-URL: https://build.opensuse.org/request/show/1184937
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=69
* twisted.logger.formatEvent now honors dotted method names,
not just flat function names, in format strings, as it has
long been explicitly documented to do. So, you will now get
the expected result from formatEvent("here's the result of
calling a method at log-format time: {obj.method()}",
obj=...)
* twisted.web.http.HTTPChannel now ignores the trailer headers
provided in the last chunk of a chunked encoded response,
rather than raising an exception.
* twisted.protocols.tls.BufferingTLSTransport, used by default
by twisted.protocols.tls.TLSMemoryBIOFactory, was refactored
for improved performance when doing a high number of small
writes.
* twisted.python.failure.Failure now throws exception for
generators without triggering a deprecation warnings on
Python 3.12.
* twisted.internet.process.Process, used by
reactor.spawnProcess, now copies the parent environment when
the env=None argument is passed on Posix systems and
os.posix_spawnp is used internally.
* twisted.internet.defer.inlineCallbacks.returnValue's stack
introspection was adjusted for the latest PyPy 7.3.14
release, allowing legacy @inlineCallbacks to run on new PyPY
versions.
* twisted.trial.reporter.TestRun.startTest() is no longer
called for tests with skip annotation or skip attribute for
Python 3.12.1 or newer. This is the result of upstream Python
gh-106584 change. The behavior is not change in 3.12.0 or
older.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=149
- Update to 23.10.0
* reactor.spawnProcess() now uses posix_spawnp when possible, making it much more efficient (#5710)
* Twisted now officially supports Python 3.11. (#10343)
* twisted.internet.defer.race has been added as a way to get the first available result from a list of Deferreds. (#11817)
* The CI suite was updated to execute the tests using a Python 3.12 pre-release (#11857)
* PyAsn1 has been removed as a conch dependency.
* Due to changes in the way raw private key byte serialization are handled in Cryptography, and widespread support
for Ed25519 in current versions of OpenSSL, we no longer support PyNaCl as a fallback for Ed25519 keys in Conch. (#11871)
* In Twisted 16.3.0, we changed twisted.web to stop dispatching HTTP/1.1 pipelined requests to application code.
There was a bug in this change which still allowed clients which could send multiple full HTTP requests in a single TCP segment
to trigger asynchronous processing of later requests, which could lead to out-of-order responses. This has now been corrected
and twisted.web should never process a pipelined request over HTTP/1.1 until the previous request has fully completed.
(CVE-2023-46137, GHSA-cq7q-gv5w-rwx2) (#11976)
* Drop support for Python 3.7. Remove twisted[contextvars] extra (contextvars are always available in Python 3.7+) (#11913)
* When using CPython, functions wrapped by twisted.internet.defer.inlineCallbacks can have their arguments and return values
freed immediately after completion (due to there no longer being circular references). (#11885)
- Delete merged patches:
* regenerate-cert-to-work-with-latest-service-identity.patch
* no-pygtkcompat.patch
* support-new-glibc.patch
* CVE-2023-46137-HTTP-pipeline-response.patch
* remove-pynacl-optional-dependency.patch
* py311-tests-compat.patch
OBS-URL: https://build.opensuse.org/request/show/1128275
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=143
- Update to 22.10.0:
* Features
+ twisted.internet.defer.maybeDeferred will now schedule a coroutine
result as asynchronous operation and return a Deferred that fires with
the result of the coroutine.
+ Twisted now works with Cryptography versions 37 and above, and as a
result, its minimum TLS protocol version has been upgraded to TLSv1.2.
+ The systemd: endpoint parser now supports "named" file descriptors. This
is a more reliable mechanism for choosing among several inherited
descriptors.
* Bugfixes
+ twisted.internet.base.DelayedCall.__repr__ will no longer raise
AttributeError if the DelayedCall was created before debug mode was
enabled. As a side-effect, twisted.internet.base.DelayedCall.creator is
now defined as None in cases where previously it was undefined.
+ twisted.internet.iocpreactor.udp now properly re-queues its listener
when there is a failure condition on the read from the socket.
+ twisted.internet.defer.inlineCallbacks no longer causes confusing
StopIteration tracebacks to be added to the top of tracebacks
originating in triggered callbacks.
+ The typing of twisted.internet.task.react no longer constrains the
type of argv.
+ ContextVar.reset() now works correctly inside inlineCallbacks functions
and coroutines.
+ Implement twisted.python.failure._Code.co_positions for compatibility
with Python 3.11.
+ twisted.pair.tuntap._TUNSETIFF and ._TUNGETIFF values are now correct
parisc, powerpc and sparc architectures.
+ twisted.web.vhost.NameVirtualHost will no longerreturn a NoResource
error. (bsc#1204781, CVE-2022-39348)
OBS-URL: https://build.opensuse.org/request/show/1032605
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=57
* Features
+ twisted.internet.defer.maybeDeferred will now schedule a coroutine
result as asynchronous operation and return a Deferred that fires with
the result of the coroutine.
+ Twisted now works with Cryptography versions 37 and above, and as a
result, its minimum TLS protocol version has been upgraded to TLSv1.2.
+ The systemd: endpoint parser now supports "named" file descriptors. This
is a more reliable mechanism for choosing among several inherited
descriptors.
* Bugfixes
+ twisted.internet.base.DelayedCall.__repr__ will no longer raise
AttributeError if the DelayedCall was created before debug mode was
enabled. As a side-effect, twisted.internet.base.DelayedCall.creator is
now defined as None in cases where previously it was undefined.
+ twisted.internet.iocpreactor.udp now properly re-queues its listener
when there is a failure condition on the read from the socket.
+ twisted.internet.defer.inlineCallbacks no longer causes confusing
StopIteration tracebacks to be added to the top of tracebacks
originating in triggered callbacks.
+ The typing of twisted.internet.task.react no longer constrains the
type of argv.
+ ContextVar.reset() now works correctly inside inlineCallbacks functions
and coroutines.
+ Implement twisted.python.failure._Code.co_positions for compatibility
with Python 3.11.
+ twisted.pair.tuntap._TUNSETIFF and ._TUNGETIFF values are now correct
parisc, powerpc and sparc architectures.
+ twisted.web.vhost.NameVirtualHost will no longerreturn a NoResource
error. (bsc#1204781, CVE-2022-39348)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=125
- Update to 22.4.0
* twisted.python.failure.Failure tracebacks now capture module
information, improving compatibility with the Raven Sentry
client. (#7796)
* twisted.python.failure.Failure objects are now compatible with
dis.distb, improving compatibility with post-mortem debuggers.
(#9599)
* twisted.internet.interfaces.IReactorSSL.listenSSL now has
correct type annotations. (#10274)
* twisted.internet.test.test_glibbase.GlibReactorBaseTests now
passes. (#10317)
* Conch
- twisted.conch.ssh now supports using RSA keys with SHA-2
signatures (RFC 8332) when acting as a server. The
rsa-sha2-512 and rsa-sha2-256 public key signature algorithms
are automatically preferred over ssh-rsa if the client
advertises support for them; the actual public keys do not
need to change. (#9765)
- twisted.conch.ssh now has an alternative Ed25519
implementation using PyNaCl, in order to support platforms
that lack OpenSSL >= 1.1.1b. The new "conch_nacl" extra has
the necessary dependency. (#10208)
* Web
- Twisted is now compatible with h2 4.x.x. (#10182)
- twisted.web.http had several several defects in HTTP request
parsing that could permit HTTP request smuggling. It now
disallows signed Content-Length headers, forbids illegal
characters in chunked extensions, forbids a ``0x`` prefix to
chunk lengths, and only strips spaces and horizontal tab
characters from header values. These changes address
CVE-2022-24801 and GHSA-c2jg-hw38-jrqq. (#10323)
* Mail
- twisted.mail.pop3.APOPCredentials is now correctly marked as
implementing twisted.cred.credentials.IUsernamHashedPassword,
rather than IUsernamePassword. (#10305)
* Trial
- `trial --until-failure --jobs=N` now reports the number of
each test pass as it begins. (#10312)
- twisted.trial.unittest.TestCase now discards cleanup
functions after running them. Notably, this prevents them
from being run an ever growing number of times with trial -u
.... (#10320)
- Drop CVE-2022-24801-http-1.1-leniency.patch fixed upstream
- Refresh remove-dependency-version-upper-bounds.patch
- Move extra_requires optional dependencies to meta sub packages
- Create :test multibuild flavor
OBS-URL: https://build.opensuse.org/request/show/984263
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=123
- Update to 22.2.0:
* Bugfixes
+ twisted.internet.gireactor.PortableGIReactor.simulate and
twisted.internet.gtk2reactor.PortableGtkReactor.simulate no longer
raises TypeError when there are no delayed called. This was a
regression introduced with the migration to Python 3 in which the
builtin min function no longer accepts None as an argument. (#9660)
+ twisted.conch.ssh.transport.SSHTransportBase now disconnects the
remote peer if the SSH version string is not sent in the first
4096 bytes. (#10284, CVE-2022-21716, GHSA-rv6r-3f5q-9rgx)
* Improved Documentation
+ Add type annotations for twisted.web.http.Request.getHeader. (#10270)
* Deprecations and Removals
+ Support for Python 3.6, which is EoL as of 2021-09-04, has been
deprecated. (#10303)
- Add patch CVE-2022-24801-http-1.1-leniency.patch:
* Be stricter about HTTP/1.1 headers. (bsc#1198086)
OBS-URL: https://build.opensuse.org/request/show/967387
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Twisted?expand=0&rev=54
* Bugfixes
+ twisted.internet.gireactor.PortableGIReactor.simulate and
twisted.internet.gtk2reactor.PortableGtkReactor.simulate no longer
raises TypeError when there are no delayed called. This was a
regression introduced with the migration to Python 3 in which the
builtin min function no longer accepts None as an argument. (#9660)
+ twisted.conch.ssh.transport.SSHTransportBase now disconnects the
remote peer if the SSH version string is not sent in the first
4096 bytes. (#10284, CVE-2022-21716, GHSA-rv6r-3f5q-9rgx)
(bsc#1198086)
* Improved Documentation
+ Add type annotations for twisted.web.http.Request.getHeader. (#10270)
* Deprecations and Removals
+ Support for Python 3.6, which is EoL as of 2021-09-04, has been
deprecated. (#10303)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=117