Skip to content

Twisted 23.10.0.rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@adiroiban adiroiban released this 24 Oct 22:53

Twisted 23.10.0.rc1 (2023-10-24)

Features

  • twisted.python.filepath.FilePath and related classes (twisted.python.filepath.IFilepath, twisted.python.filepath.AbstractFilePath, twisted.python.zippath.ZipPath, and twisted.python.zippath.ZipArchive) now have type annotations. Additionally, FilePath is now generic, describing its mode, so you can annotate variables as FilePath[str] or FilePath[bytes] depending on the types that you wish to get back from the 'path' attribute and related methods like 'basename'. (#11822)
  • 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)

Bugfixes

  • Fix TypeError on t.i.cfreactor due to 3.10 type annotation syntax (#11965)
  • Fix the type annotations of DeferredLock.run, DeferredSemaphore.run, maybeDeferred, ensureDeferred, inlineCallbacks and fromCoroutine that used to return Deferred[Any] to return the result of the passed Coroutine/Coroutine function (#11985)
  • Fixed significant performance overhead (CPU and bandwidth) when doing small writes to a TLS transport. Specifically, small writes to a TLS transport are now buffered until the next reactor iteration. (#11989)
  • fix mypy due to hypothesis 6.85 (#11995)

Improved Documentation

  • The search and version navigation for the documentation hosted on
    Read The Docs was fixed.
    This was a regression introduced with 23.8.0. (#12012)

Deprecations and Removals

  • Drop support for Python 3.7. Remove twisted[contextvars] extra (contextvars are always available in Python 3.7+) (#11913)

Misc

Conch

No significant changes.

Web

Bugfixes


- 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. (#11976)


Deprecations and Removals
  • twisted.dom.microdom and twisted.web.domhelpers are now deprecated. (#3651)

Mail

No significant changes.

Words

No significant changes.

Names

No significant changes.

Trial

Misc


- #10115