Release 22.4.0rc1
Pre-release
Pre-release
Twisted 22.4.0.rc1 (2022-04-04)
Features
- 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)
Bugfixes
- Correct type annotations for IReactorSSL.listenSSL. (#10274)
- twisted.internet.test.test_glibbase.GlibReactorBaseTests now passes. (#10317)
Conch
Features
- 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)
Bugfixes
- twisted.conch.ssh.session.SSHSession now cleans up both the client transport and the ISession adapter if both are set. Previously, a subsystem's connectionLost method was not called if a environment variable passing request was also sent on the same channel. (#10308)
- (#10313)
Web
Features
- Twisted is now compatible with h2 4.x.x. (#10182)
Bugfixes
- 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 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)
Bugfixes
- twisted.mail.pop3.APOPCredentials is now correctly marked as implementing twisted.cred.credentials.IUsernamHashedPassword, rather than IUsernamePassword. (#10305)
Words
-----
No significant changes.
Names
-----
No significant changes.
Trial
-----
Features
trial --until-failure --jobs=Nnow reports the number of each test pass as it begins. (#10312)
Bugfixes
- 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)
Misc
~~~~
- #10315, #10321, #10322