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 24.7.0 to 24.10.0 #17878

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Oct 28, 2024

Bumps twisted from 24.7.0 to 24.10.0.

Release notes

Sourced from twisted's releases.

Twisted 24.10.0 (2024-10-28)

Features

  • Python 3.13 is now supported. (#11750)
  • twisted.internet.defer.succeed() is significantly faster, and awaiting Deferred has also been sped up. (#12225)
  • 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. (#12230)
  • 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. (#12234)
  • twisted.internet.defer APIs are 2%-4% faster in many cases. (#12237)
  • twisted.internet.defer.Deferred runs callbacks with chained Deferreds a little faster. (#12284)
  • The reactor now will use a little less CPU when events have been scheduled with callLater(). (#12286)
  • Creation of twisted.python.failure.Failure is now faster. (#12288)
  • twisted.web.server is 1-2% faster in some cases. (#12318)

Bugfixes

  • Fixed unreleased regression caused by PR 12109. (#12279)
  • twisted.logger.eventAsText can now format the output having types/classes as input. This was a regression introduced in Twisted 24.3.0. (#12323)
  • 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. (#12325)
  • The URLs from README and pyproject.toml were updated. (#12327)

Misc

Conch

Features

... (truncated)

Changelog

Sourced from twisted's changelog.

Twisted 24.10.0 (2024-10-28)

No changes since 24.10.0.rc1.

Features

  • Python 3.13 is now supported. (#11750)
  • twisted.internet.defer.succeed() is significantly faster, and awaiting Deferred has also been sped up. (#12225)
  • 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. (#12230)
  • 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. (#12234)
  • twisted.internet.defer APIs are 2%-4% faster in many cases. (#12237)
  • twisted.internet.defer.Deferred runs callbacks with chained Deferreds a little faster. (#12284)
  • The reactor now will use a little less CPU when events have been scheduled with callLater(). (#12286)
  • Creation of twisted.python.failure.Failure is now faster. (#12288)

Bugfixes

  • Fixed unreleased regression caused by PR 12109. (#12279)
  • twisted.logger.eventAsText can now format the output having types/classes as input. This was a regression introduced in Twisted 24.3.0. (#12323)
  • 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. (#12325)
  • The URLs from README and pyproject.toml were updated. (#12327)

Misc

Conch

Features


- twisted.conch.ssh.keys.Key can now load public blob keys of type sk-ssh-ed25519@openssh.com and sk-ecdsa-sha2-nistp256@openssh.com. ([#12211](https://github.com/twisted/twisted/issues/12211))

Bugfixes

  • twisted.conch tests no longer rely on OpenSSH supporting DSA keys, fixing compatibility with OpenSSH >= 9.8. (#12273)
  • twisted.conch.ssh.SSHCiphers no longer supports the cast128-ctr, cast128-cbc, blowfish-ctr, and blowfish-cbc ciphers. The Blowfish and CAST5 ciphers were removed as they were deprecated by the Python cryptography library. (#12308)

... (truncated)

Commits
  • ee3de52 Update release date.
  • 89ef7de python -m incremental.update Twisted --newversion 24.10.0
  • 1a143dc Fix twisted web news fragment.
  • 217830b Update NEWS.rst
  • dff70a8 tox -e towncrier
  • 6b9062d python -m incremental.update Twisted --rc
  • 6466160 #12325 fix TLS client endpoint parser handling of bindAddress= (#12326)
  • 416b31c replace old nativeString() with simple decode()
  • 3ccd7a5 apply review feedback
  • 21181c1 fix TLS client endpoint parser handling of bindAddress= (#12325)
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR 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)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot requested a review from a team as a code owner October 28, 2024 10:26
@Yushu2606 Yushu2606 mentioned this pull request Oct 30, 2024
3 tasks
@S7evinK
Copy link
Contributor

S7evinK commented Nov 5, 2024

@dependabot rebase

@dependabot dependabot bot force-pushed the dependabot/pip/twisted-24.10.0 branch from 0f73c75 to 4f50cf7 Compare November 5, 2024 08:03
Bumps [twisted](https://github.com/twisted/twisted) from 24.7.0 to 24.10.0.
- [Release notes](https://github.com/twisted/twisted/releases)
- [Changelog](https://github.com/twisted/twisted/blob/trunk/NEWS.rst)
- [Commits](twisted/twisted@twisted-24.7.0...twisted-24.10.0)

---
updated-dependencies:
- dependency-name: twisted
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/pip/twisted-24.10.0 branch from 4f50cf7 to 216b1a4 Compare November 6, 2024 19:38
@arkamar
Copy link
Contributor

arkamar commented Nov 27, 2024

I am not sure if that helps, but I have bisected twisted. The tests.storage.databases.main.test_events_worker.DatabaseOutageTestCase.test_recovery test failure is related to a commit twisted/twisted@ece4381, which is the first commit, where the test does not pass:

Running 12 tests.
tests.storage.databases.main.test_events_worker
  EventCacheTestCase
    test_event_ref ...                                                     [OK]
  DatabaseOutageTestCase
    test_failure ...                                                       [OK]
  GetEventCancellationTestCase
    test_second_get_event_cancelled ...                                    [OK]
  EventCacheTestCase
    test_dedupe ...                                                        [OK]
  DatabaseOutageTestCase
    test_recovery ...                                                   [ERROR]
  EventCacheTestCase
    test_simple ...                                                        [OK]
  GetEventCancellationTestCase
    test_first_get_event_cancelled ...                                     [OK]
  HaveSeenEventsTestCase
    test_invalidate_cache_by_room_id ...                                   [OK]
    test_simple ...                                                        [OK]
    test_persisting_event_invalidates_cache ...                            [OK]
    test_persisting_event_prefills_get_event_cache ...                     [OK]
  GetEventsTestCase
    test_get_lots_of_messages ...                                          [OK]

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/lib/python3.13/site-packages/twisted/trial/__main__.py", line 9, in <module>
    sys.exit(run())
             ~~~^^
  File "/usr/lib/python3.13/site-packages/twisted/scripts/trial.py", line 647, in run
    testResult = trialRunner.run(suite)
  File "/usr/lib/python3.13/site-packages/twisted/trial/_dist/disttrial.py", line 504, in run
    return self._run(test, untilFailure=False)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/twisted/trial/_dist/disttrial.py", line 487, in _run
    result.raiseException()
    ~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/twisted/python/failure.py", line 498, in raiseException
    raise self.value.with_traceback(self.tb)
  File "/usr/lib/python3.13/site-packages/twisted/internet/defer.py", line 2017, in _inlineCallbacks
    result = context.run(gen.send, result)
  File "/usr/lib/python3.13/site-packages/twisted/trial/_dist/disttrial.py", line 449, in runAsync
    return await iterateWhile(condition, runAndReport)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/twisted/trial/_dist/functional.py", line 102, in iterateWhile
    result = await action()
             ^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/twisted/trial/_dist/disttrial.py", line 442, in runAndReport
    self.writeResults(result)
    ~~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/site-packages/twisted/trial/_dist/disttrial.py", line 347, in writeResults
    result.done()
    ~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/twisted/trial/reporter.py", line 733, in done
    self._printErrors()
    ~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/twisted/trial/reporter.py", line 683, in _printErrors
    self._printResults("[ERROR]", self.errors, self._formatFailureTraceback)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/twisted/trial/reporter.py", line 656, in _printResults
    for reason, cases in self._groupResults(errors, formatter):
                         ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/twisted/trial/reporter.py", line 643, in _groupResults
    key = formatter(*outcome)
  File "/usr/lib/python3.13/site-packages/twisted/trial/reporter.py", line 616, in _formatFailureTraceback
    fail.frames, frames = self._trimFrames(fail.frames), fail.frames
    ^^^^^^^^^^^
AttributeError: property 'frames' of 'Failure' object has no setter
 * ERROR: net-im/synapse-1.120.0::gentoo failed (test phase):

Current form of the failure output is produced since commit twisted/twisted@fce2579

Running 12 tests.
tests.storage.databases.main.test_events_worker
  DatabaseOutageTestCase
    test_failure ...                                                       [OK]
  EventCacheTestCase
    test_event_ref ...                                                     [OK]
    test_dedupe ...                                                        [OK]
  GetEventCancellationTestCase
    test_first_get_event_cancelled ...                                     [OK]
  EventCacheTestCase
    test_simple ...                                                        [OK]
  DatabaseOutageTestCase
    test_recovery ...                                                   [ERROR]
  GetEventCancellationTestCase
    test_second_get_event_cancelled ...                                    [OK]
  HaveSeenEventsTestCase
    test_persisting_event_invalidates_cache ...                            [OK]
    test_simple ...                                                        [OK]
    test_invalidate_cache_by_room_id ...                                   [OK]
    test_persisting_event_prefills_get_event_cache ...                     [OK]
  GetEventsTestCase
    test_get_lots_of_messages ...                                          [OK]

===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/twisted/logger/_observer.py", line 81, in __call__
    observer(event)
  File "/usr/lib/python3.13/site-packages/twisted/logger/_legacy.py", line 90, in __call__
    self.legacyObserver(event)
  File "/usr/lib/python3.13/site-packages/twisted/trial/_dist/workertrial.py", line 44, in emit
    self.protocol.callRemote(managercommands.TestWrite, out=text)
  File "/usr/lib/python3.13/site-packages/twisted/protocols/amp.py", line 951, in callRemote
    return co._doCommand(self)
  File "/usr/lib/python3.13/site-packages/twisted/protocols/amp.py", line 1973, in _doCommand
    d = proto._sendBoxCommand(
  File "/usr/lib/python3.13/site-packages/twisted/protocols/amp.py", line 884, in _sendBoxCommand
    box._sendTo(self.boxSender)
  File "/usr/lib/python3.13/site-packages/twisted/protocols/amp.py", line 713, in _sendTo
    proto.sendBox(self)
  File "/usr/lib/python3.13/site-packages/twisted/protocols/amp.py", line 2358, in sendBox
    self.transport.write(box.serialize())
  File "/usr/lib/python3.13/site-packages/twisted/protocols/amp.py", line 692, in serialize
    raise TooLong(False, True, v, k)
twisted.protocols.amp.TooLong:

tests.storage.databases.main.test_events_worker.DatabaseOutageTestCase.test_recovery
-------------------------------------------------------------------------------
Ran 12 tests in 0.738s

FAILED (errors=1, successes=11)
 * ERROR: net-im/synapse-1.120.0::gentoo failed (test phase):

Both commits are part of a PR twisted/twisted#12292.

Copy link
Contributor Author

dependabot bot commented on behalf of github Dec 2, 2024

A newer version of twisted exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

@anoadragon453
Copy link
Member

We should be able to merge this once #17998 is merged.

@anoadragon453 anoadragon453 removed the request for review from a team December 9, 2024 10:52
@csett86
Copy link

csett86 commented Dec 25, 2024

In addition, the usage of the removed private Twisted method Headers()._encodeName has to be fixed as well before or as part of this upgrade (see #17882 for more details)

@Mic92
Copy link
Contributor

Mic92 commented Jan 7, 2025

We should be able to merge this once #17998 is merged.

The test failure in tests.storage.databases.main.test_events_worker.DatabaseOutageTestCase.test_recovery still persists after your fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants