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

Bump twisted from 23.8.0 to 23.10.0 #1637

Merged
merged 1 commit into from
Feb 11, 2024
Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 20, 2024

Bumps twisted from 23.8.0 to 23.10.0.

Release notes

Sourced from twisted's releases.

Twisted 23.10.0 (2023-10-31)

No changes since 23.10.0.rc1.

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

... (truncated)

Changelog

Sourced from twisted's changelog.

Twisted 23.10.0 (2023-10-31)

No changes since 23.10.0.rc1.

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

... (truncated)

Commits
  • f3f3389 python -m incremental.update Twisted --newversion
  • 2d15c00 Add CVE id to bug.
  • 61c46d4 tox -e towncrier
  • 650c59d python -m incremental.update Twisted --rc
  • 157cd8e #11985 fix DeferredLock.run/Semaphore.run/maybeDeferred/ensureDeferred/inline...
  • ed25d4a [pre-commit.ci] auto fixes from pre-commit.com hooks
  • 5eb2078 Merge branch 'trunk' into fix-concurrency-primative-type
  • 2df4c76 Update src/twisted/test/test_defer.py
  • 105a9f5 #11989 Lots of small writes to the TLS transport use a lot of cpu (#11996)
  • 524a2fa Fix lint
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jan 20, 2024
@kristapsk
Copy link
Member

This fixes CVE-2023-46137, which affects JM, as clients could do multiple HTTP requests in a single TCP packet to wallet RPC and then response order is undefined.

Twisted is an event-based framework for internet applications. Prior to version 23.10.0rc1, when sending multiple HTTP requests in one TCP packet, twisted.web will process the requests asynchronously without guaranteeing the response order. If one of the endpoints is controlled by an attacker, the attacker can delay the response on purpose to manipulate the response of the second request when a victim launched two requests using HTTP pipeline. Version 23.10.0rc1 contains a patch for this issue.

@kristapsk
Copy link
Member

Ok, there is a problem, this requires Python 3.8+. Will open separate PR for dropping Python 3.7, which is EOL since 27 Jun 2023, for discussion. Until then, converting this to draft.

@kristapsk kristapsk marked this pull request as draft January 20, 2024 09:28
@kristapsk
Copy link
Member

Related - #1608 and #1582 (comment) (had already forgotten about these).

@kristapsk
Copy link
Member

@theborakompanioni Would not hurt to test this with Jam. Your regtest environment uses Python 3.11, so this should work.

@theborakompanioni
Copy link
Contributor

@theborakompanioni Would not hurt to test this with Jam. Your regtest environment uses Python 3.11, so this should work.

Works as expected (:= as before).

kristapsk added a commit that referenced this pull request Jan 30, 2024
204f117 Drop Python 3.7 support (Kristaps Kaupe)

Pull request description:

  It's EOL since 27 Jun 2023 and 3.8+ is required for #1637.

  Also mentioned in docs that JoinMarket is currently not compatible with 3.12 (#1589).

ACKs for top commit:
  AdamISZ:
    utACK 204f117
  roshii:
    utACK 204f117

Tree-SHA512: 39ee96aca5e305b894e97a2a843d748a645becbfca1bc9e35f02f33c4634a4f7fee37fd36115510cc052e1d11497dceee2d0fafa12d006dd005d050e5ea1cc9f
@kristapsk kristapsk marked this pull request as ready for review February 1, 2024 12:26
@kristapsk
Copy link
Member

@dependabot rebase

@dependabot dependabot bot force-pushed the dependabot/pip/twisted-23.10.0 branch from e036b2e to cb0849f Compare February 1, 2024 12:27
Bumps [twisted](https://github.com/twisted/twisted) from 23.8.0 to 23.10.0.
- [Release notes](https://github.com/twisted/twisted/releases)
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst)
- [Commits](twisted/twisted@twisted-23.8.0...twisted-23.10.0)

---
updated-dependencies:
- dependency-name: twisted
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@kristapsk
Copy link
Member

Merging this. On top of test suite passing and @theborakompanioni testing with Jam, did some manual testing on signet with cli tools, including successful coinjoin by running both maker and taker sides.

@kristapsk kristapsk merged commit f3d9b6d into master Feb 11, 2024
18 checks passed
@kristapsk kristapsk deleted the dependabot/pip/twisted-23.10.0 branch February 11, 2024 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file RPC-API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants