* Python 3.13 is now supported.
* twisted.internet.defer.succeed() is significantly faster, and
awaiting Deferred has also been sped up.
* twisted.python.failure.Failure creation no longer records the
place where it was created. This reduces creation time by 60%
at least, thereby speeding up Deferred error handling.
* twisted.internet.defer.Deferred no longer removes the
traceback object from Failures. This may result in more
objects staying in memory if you don't clean up failed
Deferreds, but it speeds up error handling and enables
improvements to traceback reporting.
* twisted.internet.defer APIs are 2%-4% faster in many cases.
* twisted.internet.defer.Deferred runs callbacks with chained
Deferreds a little faster.
* The reactor now will use a little less CPU when events have
been scheduled with callLater().
* Creation of twisted.python.failure.Failure is now faster.
* Fixed unreleased regression caused by PR 12109.
* twisted.logger.eventAsText can now format the output having
types/classes as input. This was a regression introduced in
Twisted 24.3.0.
* twisted.internet.endpoints.clientFromString for TLS endpoints
with "bindAddress=" no longer crashes during connect.
twisted.internet.endpoints.HostnameEndpoint() no longer
crashes when given a bindAddress= argument that is just a
string, and that argument now accepts either address strings
or (address, port) tuples.
* The URLs from README and pyproject.toml were updated.
* #11236, #12060, #12062, #12099, #12219, #12290, #12296,
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Twisted?expand=0&rev=157
- 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
* 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