./net/py-twisted, Framework for writing networked applications

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 24.10.0, Package name: py312-twisted-24.10.0, Maintainer: pkgsrc-users

Twisted is a framework, written in Python, for writing networked applications.
It includes implementations of a number of commonly used network services such
as a web server, an IRC chat server, a mail server, a relational database
interface and an object broker. Developers can build applications using all of
these services as well as custom services that they write themselves. Twisted
also includes a user authentication system that controls access to services
and provides services with user context information to implement their own
security models.

Note that while this package provides most of Twisted, Twisted Conch
(SSH client/server) only functions if security/py-amkCrypto is also
installed.


Required to run:
[security/py-OpenSSL] [devel/py-setuptools] [devel/py-ZopeInterface] [www/py-idna] [security/py-service_identity] [devel/py-attrs] [devel/py-incremental] [devel/py-constantly] [devel/py-automat] [www/py-hyperlink] [lang/python37] [devel/py-hamcrest]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 3443.358 KB

Version history: (Expand)


CVS history: (Expand)


   2024-04-05 19:31:54 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-twisted: updated to 24.3.0

Twisted 24.3.0 (2024-03-01)
===========================

This release supports PyPy v7.3.14.

Bugfixes
--------

- twisted.logger.formatEvent now honors dotted method names, not just flat
  function names, in format strings, as it has long been explicitly documented to
  do.  So, you will now get the expected result from `formatEvent("here's the
  result of calling a method at log-format time: {obj.method()}", obj=...)`
- twisted.web.http.HTTPChannel now ignores the trailer headers provided in the \ 
last chunk of a chunked encoded response, rather than raising an exception.
- twisted.protocols.tls.BufferingTLSTransport, used by default by \ 
twisted.protocols.tls.TLSMemoryBIOFactory, was refactored for improved \ 
performance when doing a high number of small writes.
- twisted.python.failure.Failure now throws exception for generators without \ 
triggering a deprecation warnings on Python 3.12.
- twisted.internet.process.Process, used by ``reactor.spawnProcess``, now copies \ 
the parent environment when the `env=None` argument is passed on Posix systems \ 
and ``os.posix_spawnp`` is used internally.
- twisted.internet.defer.inlineCallbacks.returnValue's stack introspection was \ 
adjusted for the latest PyPy 7.3.14 release, allowing legacy @inlineCallbacks to \ 
run on new PyPY versions.

Deprecations and Removals
-------------------------

- twisted.trial.reporter.TestRun.startTest() is no longer called for tests
  with skip annotation or skip attribute for Python 3.12.1 or newer.
  This is the result of upstream Python gh-106584 change.
  The behavior is not change in 3.12.0 or older.

Conch
-----

No significant changes.

Web
---

Bugfixes
~~~~~~~~

- The documentation for twisted.web.client.CookieAgent no longer references
  long-deprecated ``cookielib`` and ``urllib2`` standard library modules.

Deprecations and Removals
~~~~~~~~~~~~~~~~~~~~~~~~~

- twisted.web.http.Request now parses the `multipart/form-data` using \ 
`email.message_from_bytes`.
  The usage of `cgi.parse_multipart` was removed as the `cgi` module will be \ 
removed in Python 3.13.

Mail
----

No significant changes.

Words
-----

Improved Documentation
~~~~~~~~~~~~~~~~~~~~~~

- The documented IRC example was updated for Python3 usage.

Names
-----

No significant changes.

Trial
-----

No significant changes.
   2023-11-05 11:38:35 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
py-twisted: update to 23.10.0

Twisted 23.10.0 (2023-10-31)
============================

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)
   2023-06-18 07:39:38 by Adam Ciarcinski | Files touched by this commit (20)
Log message:
py-ZopeInterface: moved to py-zope.interface
   2022-11-27 11:44:20 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-twisted: updated to 22.10.0

Twisted 22.10.0 (2022-10-30)
============================

This release contains a security fix for CVE-2022-39348.
This is a low-severity security bug.

Twisted 22.10.0rc1 release candidate was released on 2022-10-26 and there are
no changes between the release candidate and the final release.

Features
--------
- The ``systemd:`` endpoint parser now supports "named" file \ 
descriptors.  This is a more reliable mechanism for choosing among several \ 
inherited descriptors.

Improved Documentation
----------------------
- The ``systemd`` endpoint parser's ``index`` parameter is now documented as \ 
leading to non-deterministic results in which descriptor is selected.  The new \ 
``name`` parameter is now documented as preferred.
- The implementers of Zope interfaces are once more displayed in the documentations.

Deprecations and Removals
-------------------------
- twisted.protocols.dict, which was deprecated in 17.9, has been removed.

Conch
-----

Bugfixes
~~~~~~~~
- twisted.conch.manhole.ManholeInterpreter now captures tracebacks even if \ 
sys.excepthook has been modified.

Web
---

Features
~~~~~~~~
- The twisted.web.pages.errorPage, notFound, and forbidden each return an \ 
IResource that displays an HTML error pages safely rendered using \ 
twisted.web.template.

Bugfixes
~~~~~~~~
- twisted.web.error.Error.__str__ no longer raises an exception when the error's \ 
message attribute is None. Additionally, it validates that code is a plausible \ 
3-digit HTTP status code.
- The typing of the twisted.web.http_headers.Headers methods addRawHeader() and \ 
setRawHeaders() now allow mixing str and bytes, matching the runtime behavior.
- twisted.web.vhost.NameVirtualHost no longer echoes HTML received in the Host \ 
header without escaping it (CVE-2022-39348, GHSA-vg46-2rrj-3647).

Deprecations and Removals
~~~~~~~~~~~~~~~~~~~~~~~~~
- twisted.web.resource.Resource.putChild now raises TypeError when the path \ 
argument is not bytes, rather than issuing a deprecation warning.
- The twisted.web.resource.ErrorPage, NoResource, and ForbiddenResource classes \ 
have been deprecated in favor of new implementations twisted.web.pages module \ 
because they permit HTML injection.

Mail
----

Bugfixes
~~~~~~~~
- emailserver.tac now runs under python3.x
   2022-10-25 20:21:27 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-twisted: updated to 22.8.0

Twisted 22.8.0 (2022-09-06)
===========================

Twisted 22.8.0rc1 release candidate was released on 2022-08-28 and there are
no changes between the release candidate and the final release.

Features
--------
- twisted.internet.defer.maybeDeferred will now schedule a coroutine result as \ 
asynchronous operation and return a Deferred that fires with the result of the \ 
coroutine.
- Twisted now works with Cryptography versions 37 and above, and as a result, \ 
its minimum TLS protocol version has been upgraded to TLSv1.2.

Bugfixes
--------
- ``twisted.internet.base.DelayedCall.__repr__`` will no longer raise \ 
``AttributeError`` if the ``DelayedCall`` was created before debug mode was \ 
enabled.  As a side-effect, ``twisted.internet.base.DelayedCall.creator`` is now \ 
defined as ``None`` in cases where previously it was undefined.
- twisted.internet.iocpreactor.udp now properly re-queues its listener when \ 
there is a failure condition on the read from the socket.
- twisted.internet.defer.inlineCallbacks no longer causes confusing \ 
StopIteration tracebacks to be added to the top of tracebacks originating in \ 
triggered callbacks
- The typing of twisted.internet.task.react no longer constrains the type of argv.
- `ContextVar.reset()` now works correctly inside `inlineCallbacks` functions \ 
and coroutines.
- Implement twisted.python.failure._Code.co_positions for compatibility with \ 
Python 3.11.
- twisted.pair.tuntap._TUNSETIFF and ._TUNGETIFF values are now correct parisc, \ 
powerpc and sparc architectures.

Improved Documentation
----------------------
- The release process documentation was updated to include information about
  doing a security release.
- The development and policy documentation pages were moved into the same
  directory that is now placed inside the documentation root directory.

Deprecations and Removals
-------------------------
- Python 3.6 is no longer supported.
  Twisted 22.4.0 was the last version with support for Python 3.6.

Conch
-----

Bugfixes
~~~~~~~~
- twisted.conch.checkers.UNIXAuthorizedKeysFiles now uses the filesystem \ 
encoding to decode usernames before looking them up in the password database, so \ 
it works on Python 3.
- twisted.conch.ssh.SSHSession.request_env no longer gives a warning if the \ 
session does not implement ISessionSetEnv.
- The cftp command line (and \ 
`twisted.conch.scripts.cftp.SSHSession.extReceived`) no longer raises an \ 
unhandled error when receiving data on stderr from the server.

Web
---

Features
~~~~~~~~
- twisted.web.template.renderElement now combines consecutive, \ 
sychronously-available bytes up to a fixed size limit into a single string to \ 
pass to ``IRequest.write`` instead of passing them all separately.  This greatly \ 
reduces the number of chunks in the response.

Mail
----

Bugfixes
~~~~~~~~
- twisted.mail.maildir.MaildirMessage now use byte header to avoid \ 
incompatibility with the FileMessage which writes bytes not strings lines to a \ 
message file

Words
-----

Bugfixes
~~~~~~~~
- twisted.words.protocols.irc.IRCClient now splits overly long NOTICEs and \ 
NOTICEs containing \n before sending.

Names
-----

Bugfixes
~~~~~~~~
- twisted.names.dns logs unparsable messages rather than generating a Failure \ 
instance

Trial
-----

Features
~~~~~~~~
- ``trial --jobs=N --exitfirst`` is now supported.

Bugfixes
~~~~~~~~
- `trial --jobs=N --until-failure ...` now reports the correct number of tests \ 
run after each iteration.
- ``trial -jN ...`` will now pass errors and failures to ``IReporter`` methods \ 
as instances of ``WorkerException`` instead of ``str``.
   2022-10-19 16:25:20 by Nia Alarie | Files touched by this commit (21)
Log message:
fighting a losing battle against the py-cryptography rustification, part 5

Convert py-OpenSSL users to versioned_dependencies.mk
   2022-08-10 10:59:35 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
py-twisted: updated to 22.4.0

Twisted 22.4.0 (2022-04-11)
===========================

Features
--------
- twisted.python.failure.Failure tracebacks now capture module information, \ 
improving compatibility with the Raven Sentry client.
- twisted.python.failure.Failure objects are now compatible with dis.distb, \ 
improving compatibility with post-mortem debuggers.

Bugfixes
- twisted.internet.interfaces.IReactorSSL.listenSSL now has correct type annotations.
- twisted.internet.test.test_glibbase.GlibReactorBaseTests now passes.

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.
- 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.

Web
---

Features
- Twisted is now compatible with h2 4.x.x.

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 a ``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.

Mail
----
Bugfixes
- twisted.mail.pop3.APOPCredentials is now correctly marked as implementing \ 
twisted.cred.credentials.IUsernamHashedPassword, rather than IUsernamePassword.

Trial
-----
Features
- `trial --until-failure --jobs=N` now reports the number of each test pass as \ 
it begins.

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 ...`.

Twisted 22.2.0 (2022-03-01)
===========================

Bugfixes
- twisted.internet.gireactor.PortableGIReactor.simulate and \ 
twisted.internet.gtk2reactor.PortableGtkReactor.simulate no longer raises \ 
TypeError when there are no delayed called. This was a regression introduced \ 
with the migration to Python 3 in which the builtin `min` function no longer \ 
accepts `None` as an argument.
- twisted.conch.ssh.transport.SSHTransportBase now disconnects the remote peer if the
  SSH version string is not sent in the first 4096 bytes.
  GHSA-rv6r-3f5q-9rgx)

Improved Documentation
- Add type annotations for twisted.web.http.Request.getHeader.

Deprecations and Removals
- Support for Python 3.6, which is EoL as of 2021-09-04, has been deprecated.
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36