This is the last release with support for Python 3.7.
No changes since 23.8.0.rc1.
Features
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.Deferred.fromFuture now has a more precise type annotation. (#11753)
twisted.internet.defer._ConcurrencyPrimitive.aexit now has a more precise type annotation. (#11795)
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)
Bugfixes
twisted.conch.scripts.ckeygen now substitutes a default of "~/.ssh/id_rsa" if no keyfile is specified. (#6607)
Correct type hints for IHostnameResolver.resolveHostName and IResolverSimple.getHostByName. (#10276)
twist conch --auth=sshkey can now authenticate users without a traceback again, thanks to twisted.conch.unix.UnixConchUser no longer being incorrectly instantiated with bytes. In the course of this fix, some type hinting has also been applied to twisted.cred.portal. (#11626)
twisted.internet.gireactor now works with Gtk4, and is tested and supported in CI again. (#11705)
When interrupted with control-C, trial -j no longer obscures tracebacks for
any errors caused by that interruption with an UnboundLocalError due to a bug
in its own implementation. Note that there are still several internal
tracebacks that will be emitted upon exiting, because tearing down the test
runner mid-suite is still not an entirely clean operation, but it should at
least be possible to see errors reported from, for example, a test that is
hanging more clearly. (#11707)
PortableGIReactor and PortableGtkReactor are no longer necessary and are now aliases of GIReactor and Gtk2Reactor respectively, improving the performance of any applications using them. (#11738)
The Twisted package dependencies were updated to minimum versions that
will work with latest Twisted codebase. (#11740)
Deferred's type annotations have been made more comprehensive, precise, correct, and strict. You may notice new type errors in your applications; be sure to check on those because they may represent real type errors! (#11772)
To prevent parsing errors and ensure validity when serializing HTML comments, twisted.web.template.flattenString has been updated to escape the --> sequence within comments. (#11804)
BadZipfile (with a small f) has been deprecated since Python 3.2,
use BadZipFile (big F) instead, added in 3.2. (#11821)
twisted.web.template now avoids unnecessary copying and is faster, particularly for templates with deep nesting. (#11834)
twisted.web.template now avoids some unecessary evaluation of type annotations and is faster. (#11835)
utcfromtimestamp has been deprecated since Python 3.12,
use fromtimestamp(x, timezone.utc).replace(tzinfo=None) instead. (#11908)
Deprecations and Removals
Optional dependency "extras" names like conch_nacl now use hyphens rather than underscores to comply with PEP 685. The old names will be supported until the end of 2023. (#11655)
This is the last release with support for Python 3.7.
No changes since 23.8.0.rc1.
Features
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.Deferred.fromFuture now has a more precise type annotation. (#11753)
twisted.internet.defer._ConcurrencyPrimitive.aexit now has a more precise type annotation. (#11795)
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)
Bugfixes
twisted.conch.scripts.ckeygen now substitutes a default of "~/.ssh/id_rsa" if no keyfile is specified. (#6607)
Correct type hints for IHostnameResolver.resolveHostName and IResolverSimple.getHostByName. (#10276)
twist conch --auth=sshkey can now authenticate users without a traceback again, thanks to twisted.conch.unix.UnixConchUser no longer being incorrectly instantiated with bytes. In the course of this fix, some type hinting has also been applied to twisted.cred.portal. (#11626)
twisted.internet.gireactor now works with Gtk4, and is tested and supported in CI again. (#11705)
When interrupted with control-C, trial -j no longer obscures tracebacks for
any errors caused by that interruption with an UnboundLocalError due to a bug
in its own implementation. Note that there are still several internal
tracebacks that will be emitted upon exiting, because tearing down the test
runner mid-suite is still not an entirely clean operation, but it should at
least be possible to see errors reported from, for example, a test that is
hanging more clearly. (#11707)
PortableGIReactor and PortableGtkReactor are no longer necessary and are now aliases of GIReactor and Gtk2Reactor respectively, improving the performance of any applications using them. (#11738)
The Twisted package dependencies were updated to minimum versions that
will work with latest Twisted codebase. (#11740)
Deferred's type annotations have been made more comprehensive, precise, correct, and strict. You may notice new type errors in your applications; be sure to check on those because they may represent real type errors! (#11772)
To prevent parsing errors and ensure validity when serializing HTML comments, twisted.web.template.flattenString has been updated to escape the --> sequence within comments. (#11804)
BadZipfile (with a small f) has been deprecated since Python 3.2,
... (truncated)
Commits
f3cf543 Revert "No need to get the trunk branch, as this is done by actions/checkout."
b3fbaec No need to get the trunk branch, as this is done by actions/checkout.
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 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](https://github.com/ibm-functions/runtime-python/network/alerts).
Bumps twisted from 20.3.0 to 23.8.0.
Release notes
Sourced from twisted's releases.
... (truncated)
Changelog
Sourced from twisted's changelog.
... (truncated)
Commits
f3cf543
Revert "No need to get the trunk branch, as this is done by actions/checkout."b3fbaec
No need to get the trunk branch, as this is done by actions/checkout.da5a16a
Run tests on push for release branches.a1019a3
Update final release version.bd63ecd
Get full git history.2431593
use towncrier checks instead of custom code.6e9ea35
Add info about python 3.7 support.7f7f423
tox -e towncrie30f014a
python -m incremental.update Twisted --rc9a2ea00
#11857 test on py 3.12rc (#11910)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