Commit graph

77 commits

Author SHA1 Message Date
adam
77c4c44e10 py-twisted: fix pkglint warnings 2020-02-06 15:46:13 +00:00
adam
f5c5b2308c py-twisted: updated to 19.10.0
Twisted 19.10.0:

Features
- twisted.trial.successResultOf, twisted.trial.failureResultOf, and
  twisted.trial.assertNoResult accept coroutines as well as Deferreds.

Bugfixes
- Fixed circular import in twisted.trial.reporter, introduced in Twisted 16.0.0.
- The POP3 server implemented by twisted.mail.pop3 now accepts passwords that contain spaces.
- Incoming HTTP/2 connections will now not time out if they persist for longer than one minute.
- The serial extra now requires pywin32 on Windows enabling use of twisted.internet.serialport without specifying the windows_platform extra.

Bugfixes
- twisted.conch.ssh.keys now correctly writes the "iqmp" parameter in serialized RSA private keys as q^-1 mod p rather than p^-1 mod q.

Features
- twisted.web.server.Request will now use twisted.web.server.Site.getContentFile, if it exists, to get a file into which to write request content.  If getContentFile is not provided by the site, it will fall back to the previous behavior of using io.BytesIO for small requests and tempfile.TemporaryFile for large ones.

Bugfixes
- twisted.web.client.FileBodyProducer will now stop producing when the Deferred returned by FileBodyProducer.startProducing is cancelled.
- The HTTP/2 server implementation now enforces TCP flow control on control frame messages and times out clients that send invalid data without reading responses.  This closes CVE-2019-9512 (Ping Flood), CVE-2019-9514 (Reset Flood), and CVE-2019-9515 (Settings Flood).  Thanks to Jonathan Looney and Piotr Sikora.


Twisted 19.7.0:

Features
- The callable argument to twisted.internet.task.deferLater() is no longer required.
- Twisted's minimum Cryptography requirement is now 2.5.
- twisted.internet.utils.getProcessOutputAndValue now accepts `stdinBytes` to write to the child process's standard input.
- Add new twisted.logger.capturedLogs context manager for capturing observed log events in tests.
- twisted.internet.base.PluggableResolverMixin, which implements the pluggable resolver interfaces for easier re-use in other reactors, has been factored out of ReactorBase.
- The PyPI page for Twisted has been enhanced to include more information and useful links.

Bugfixes
- twisted.internet.endpoints is now importable on Windows when pywin32 is not installed.
- twisted.conch.ssh now generates correct keys when using hmac-sha2-512 with SHA1 based KEX algorithms.
- twisted.internet.iocpreactor.abstract.FileHandle no longer duplicates/looses outgoing data when .write() is called in rapid succession with large payloads
- twisted.application.backoffPolicy will not fail on connection attempts > 1750 with default settings.
- Trial on Python 3 will now properly re-raise ImportErrors that occur during the import of a module, rather than saying the module doesn't exist.
- twisted.internet.process does not fail on import when the process has more than 1024 file descriptors opened.
- Add the stackLevel keyword argument to twisted.logger.STDLibLogObserver._findCaller to fix an incompatibility with Python 3.8.

Improved Documentation
- Fix the incorrect docstring for twisted.python.components.Componentized.addComponent which stated that the function returned a list of interfaces, even though the function doesn't actually do so.


Deprecations and Removals
- twisted.test.proto_helpers has moved to twisted.internet.testing. twisted.test.proto_helpers has been deprecated.
- twisted.protocols.mice, deprecated since Twisted 16.0, has been removed.
- twisted.conch.insults.client and twisted.conch.insults.colors, deprecated since Twisted 10.1, have been removed.
- The __version__ attribute of Twisted submodules that were previously packaged separately, deprecated since Twisted 16.0, has been removed.
- Python 3.4 is no longer supported.
- twisted.python.compat.OrderedDict, an alias for collections.OrderedDict and deprecated since Twisted 15.5, has been removed.

Bugfixes
- t.c.ssh.connection.SSHConnection now fails channels that are in the process of opening when the connection is lost.

Features
- twisted.web.tap, the module that is run by `twist web`, now accepts --display-tracebacks to render tracebacks on uncaught exceptions.

Bugfixes
- twisted.web.http.Request.write after the channel is disconnected will no longer raise AttributeError.
- twisted.web.client.Agent.request() and twisted.web.client.ProxyAgent.request() now produce TypeError when the method argument is not bytes, rather than failing to generate the request.
- twisted.web.http.HTTPChannel no longer raises TypeError internally when receiving a line-folded HTTP header on Python 3.
- All HTTP clients in twisted.web.client now raise a ValueError when called with a method and/or URL that contain invalid characters.  This mitigates CVE-2019-12387.  Thanks to Alex Brasetvik for reporting this vulnerability.
- twisted.web.server.Site's instance variable displayTracebacks is now set to False by default.

Improved Documentation
- twisted.web.iweb.IRequest's "prepath" and "postpath" attributes, which have existed for a long time, are now documented.
- The documented type of t.w.iweb.IRequest's "method" and "uri" attributes on Python 3 has been corrected to match the implementation.
- t.w.iweb.IRequest's "args" attribute is now correctly documented to be bytes.
- The API documentation of twisted.web.iweb.IRequest and twisted.web.http.Request has been updated and extended to match the implementation.

Deprecations and Removals
- Passing a path argument to twisted.web.resource.Resource.putChild which is not of type bytes is now deprecated.  In the future, passing a non-bytes argument to putChild will return an error.
- Passing --notracebacks/-n to twisted.web.tap, the module that is run by `twist web`, is now deprecated due to traceback rendering being disabled by default.

Features
- twisted.words.protocols.jabber.xmlstream.TLSInitiatingInitializer and twisted.words.protocols.jabber.client.XMPPClientFactory now take an optional configurationForTLS for customizing certificate options for StartTLS.

Bugfixes
- twisted.words.protocols.jabber.xmlstream.TLSInitiatingInitializer now properly verifies the server's certificate against platform CAs and the stream's domain, mitigating CVE-2019-12855.

Bugfixes
- twisted.names.client.Resolver will no longer infinite loop if it cannot bind a UDP port to use for resolving.


Twisted 19.2.0:
This is the final release that will support Python 3.4.

Features
- twisted.internet.ssl.CertificateOptions now uses 32 random bytes instead of an MD5 hash for the ssl session identifier context.
- DeferredLock and DeferredSemaphore can be used as asynchronous context
  managers on Python 3.5+.
- t.i.b.BaseConnector has custom __repr__
- twisted.internet.ssl.optionsForClientTLS now supports validating IP addresses from the certificate subjectAltName
- Twisted's minimum Cryptography requirement is now 2.5.

Bugfixes
- twisted.web.proxy.ReverseProxyResource fixed documentation and example snippet
- twisted.python.failure.Failure.getTracebackObject now returns traceback objects whose frames can be passed into traceback.print_stack for better debugging of where the exception came from.
- twisted.internet.ssl.KeyPair.generate: No longer generate 1024-bit RSA keys by default. Anyone who generated a key with this method using the default value should move to replace it immediately.
- The message of twisted.internet.error.ConnectionAborted is no longer truncated.
- twisted.enterprise.adbapi.ConnectionPool.connect now logs only the dbapiName and not the connection arguments, which may contain credentials
- twisted.python.runtime.Platform.supportsINotify no longer considers the result of isDocker for its own result.

Improved Documentation
- The documentation for the the twisted.internet.interfaces.IConsumer, IProducer, and IPullProducer interfaces is more detailed.
- The errback example in the docstring of twisted.logger.Logger.failure has been corrected.
- The sample code in the "Twisted Web In 60 Seconds" tutorial runs on Python 3.

Features
- twisted.conch.ssh.keys can now read private keys in the new "openssh-key-v1" format, introduced in OpenSSH 6.5 and made the default in OpenSSH 7.8.

Bugfixes
- Conch now uses pyca/cryptography for Diffie-Hellman key generation and agreement.

Features
- twisted.web.client.HostnameCachingHTTPSPolicy was added as a new contextFactory option.  The policy caches a specified number of twisted.internet.interfaces.IOpenSSLClientConnectionCreator instances to to avoid the cost of instantiating a connection creator for multiple requests to the same host.

Bugfixes
- twisted.web.http.Request.cookies, twisted.web.http.HTTPChannel.writeHeaders, and twisted.web.http_headers.Headers were all vulnerable to header injection attacks.  They now replace linear whitespace ('\r', '\n', and '\r\n') with a single space.  twisted.web.http.Reqeuest.cookies also replaces semicolons (';') with a single space.
- twisted.web.client.Request and twisted.web.client.HTTPClient were both vulnerable to header injection attacks.  They now replace linear whitespace ('\r', '\n', and '\r\n') with a single space.

Features
- twisted.names.dns now has IRecord implementations for the SSHFP and TSIG record types.
2020-02-06 15:44:57 +00:00
wiz
84e123ddd2 Bump PKGREVISIONs for perl 5.30.0 2019-08-11 13:17:48 +00:00
adam
b2ca3536c1 py-twisted: updated to 18.9.0
Twisted 18.9.0:

Features
--------
twisted.internet._sslverify.ClientTLSOptions no longer raises IDNAError when given an IPv6 address as a hostname in a HTTPS URL.
The repr() of a twisted.internet.base.DelayedCall now encodes the same information as its str(), exposing details of its scheduling and target callable.
Python 3.7 is now supported.

Bugfixes
--------
twisted.logger.LogBeginner's default critical observer now prints tracebacks for new and legacy log system events through the use of the new eventAsText API. This API also does not raise an error for non-ascii encoded data in Python2, it attempts as well as possible to format the traceback.
Syntax error under Python 3.7 fixed for twisted.conch.manhole and twisted.main.imap4.
trial -j reports tracebacks on test failures under Python 3.
Properly format multi-byte and non-ascii encoded data in a traceback.
twisted.python.rebuild now functions on Python 3.7.
HTTP/2 server connections will no longer time out active downloads that take too long.

Improved Documentation
----------------------
Several minor formatting problems in the API documentation have been corrected.
The documentation of twisted.internet.defer.Deferred.fromFuture() has been updated to reflect upstream changes.

Deprecations and Removals
-------------------------
async keyword argument is deprecated in twisted.conch.manhole (ManholeInterpreter.write and Manhole.add) and in twisted.main.imap4.IMAP4Server.sendUntaggedResponse, isAsync keyword argument is introduced instead.
2018-10-16 09:44:51 +00:00
wiz
93b46879c7 Recursive bump for perl5-5.28.0 2018-08-22 09:43:40 +00:00
adam
bedf68c99e py-twisted: updated to 18.7.0
Twisted 18.7.0:

Features
--------
- Cancelling a Deferred returned by twisted.internet.defer.inlineCallbacks now cancels the Deferred it is waiting on.
- twisted.application.internet.ClientService now accepts a function to initialize or validate a connection before it is returned by the whenConnected method as the prepareConnection argument.
- Traceback generated for twisted.internet.defer.inlineCallbacks now includes the full stack of inlineCallbacks generators between catcher and raiser (before it only contained raiser's stack).
- Add optional cwd argument to twisted.runner.procmon.ProcMon.addProcess
- twisted.python.failure.Failure tracebacks generated by coroutines scheduled with twisted.internet.defer.ensureDeferred - i.e. any Deferred-awaiting coroutine - now contain fewer extraneous frames from the trampoline implementation, and correctly indicate the source of exceptions raised in other call stacks - i.e. the function that raised the exception.  In other words: if you 'await' a function that raises an exception, you'll be able to see where the error came from.


Bugfixes
--------
- On UNIX-like platforms, Twisted attempts to recover from EMFILE when accepting connections on TCP and UNIX ports by shedding incoming clients.
- The documentation of IReactorTime.getDelayedCalls() has been corrected to indicate that the method returns a list, not a tuple.
- "python -m twisted web --help" now refers to "--listen" instead of the non-existing "--http"
- twisted.python.htmlizer.TokenPrinter now explicitly works on bytestrings.
- twisted.enterprise.adbapi.ConnectionPool.runWithConnection and runInteraction now use the reactor that is passed to ConnectionPool's constructor.

Improved Documentation
----------------------
- The Twisted Coding Standard now contains examples of how to mark up a feature as added in the next Twisted release.

Deprecations and Removals
-------------------------
- Deprecate direct introspection of ProcMon's processes: processes should not be directly accessed or pickled.
- twisted.internet.address.IPv4Address._bwHack and twisted.internet.address.UNIXAddress._bwHack, as well as the parameters to the constructors, deprecated since Twisted 11.0, have been removed.
2018-07-24 15:10:04 +00:00
wiedi
13ccff35a1 py-twisted: allow building with a c99 compiler on SunOS 2017-12-24 13:44:56 +00:00
joerg
a6ec034f5d Fix location of py-idna. 2017-12-03 00:12:35 +00:00
adam
11e11f1a13 py-twisted: update to 17.9.0
Twisted 17.9.0:

Features
--------
- twisted.python.failure.Failure is now a new-style class which subclasses
  BaseException.
- twisted.internet.posixbase.PosixReactorBase.adoptStreamPort and
  twisted.internet.posixbase.PosixReactorBase.adoptStreamConnection now support
  AF_UNIX SOCK_STREAM sockets.
-
- t.protocol.policies.TimeoutMixin.setTimeout and
  t.protocol.policies.TimeoutProtocol.cancelTimeout (used in
  t.protocol.policies.TimeoutFactory) no longer raise a
  t.internet.error.AlreadyCancelled exception when calling them for an already
  cancelled timeout.
- twisted.web.template.flatten now supports coroutines that yield Deferreds.

- twisted.web.client.HTTPConnectionPool passes the repr() of the endpoint to
  the client protocol factory, and the protocol factory adds that to its own
  repr(). This makes logs more useful.
- Python 3.6 is now supported

Bugfixes
--------
- twisted.python.logfile.BaseLogFile and subclasses now always open the file in
  binary mode, and will process text as UTF-8.
- The `ssl:` endpoint now accepts `certKey` PEM files without trailing
  newlines.
- Logger.__init__ sets the namespace to "<unknown>" instead of raising KeyError
  when unable to determine the namespace from the calling context.
- twisted.internet._win32serialport updated to support pySerial 3.x and dropped
  pySerial 2.x support.
- twisted.python.rebuild now works on Python 3.
- twisted.web.server.Request.notifyFinish will now once again promptly notify
  applications of client disconnection (assuming that the client doesn't send a
  large amount of pipelined request data) rather than waiting for the timeout;
  this fixes a bug introduced in Twisted 16.3.0.
- twisted.web.guard.HTTPAuthSessionWrapper configured with
  DigestCredentialFactory now works on both Python 2 and 3.
- Detect when we’re being run using “-m twisted” or “-m twisted.trial” and use
  it to build an accurate usage message.
- twisted.protocols.tls.TLSMemoryBIOProtocol now allows unregisterProducer to
  be called when no producer is registered, bringing it in line with other
  transports.
- twisted.web web servers no longer print tracebacks when they timeout clients
  that do not respond to TLS CLOSE_NOTIFY messages.
- twisted.mail.imap4 now works on Python 3.
- twisted.python.shortcut now works on Python 3 in Windows.
- Fix traceback forwarding with inlineCallbacks on python 3.
- twisted.mail.imap4.MessageSet now treats * as larger than every message ID,
  leading to more consistent and robust behavior.
- The following plugins can now be used on Python 3 with twistd: dns, inetd,
  portforward, procmon, socks, and words.
- twisted.internet._win32serialport now uses serial.serialutil.to_bytes() to
  provide bytes in Python 3.
- twisted.internet.reactor.spawnProcess() now does not fail on Python 3 in
  Windows if passed a bytes-encoded path argument.
- twisted.protocols.ident now works on Python 3.
- Ignore PyPy's implementation differences in base object class.
- twisted.python.test.test_setup now passes with setuptools 36.2.1
- twisted.internet._win32serialport SerialPort._clearCommError() no longer
  raises AttributeError
- twisted.trial.unittest.SynchronousTestCase and
  twisted.trial.unittest.TestCase now always run their tearDown methods, even
  when a test method fails with an exception. They also flush all errors logged
  by a test method before running another, ensuring the logged errors are
  associated with their originating test method.
2017-10-19 08:50:34 +00:00
adam
13f514f86f Twisted 17.5.0:
Bugfixes:

spawnProcess no longer opens an unwanted console on Windows
The transition to the hyperlink package adds IPv6 support to twisted.python.url.URL. This is now deprecated and new code should use hyperlink directly
twisted.logger now buffers only 200 events by default (reduced from 65536) while waiting for observers to be configured.
The transition of twisted.python.url to using the hyperlink package enables a URL.click() with no arguments (or 0-length string argument) to resolve dot segments in the path.
twisted.protocols.finger now works on Python 3.
TLS-related tests now pass when run with OpenSSL 1.1.0. This makes tests pass again on macOS and Windows, as cryptography 1.8 and later include OpenSSL 1.1.0.
UNIX socket endpoints now process all messages from recvmsg's ancillary data via twisted.internet.unix.Server.doRead/twisted.internet.unix.Client.doRead, while discarding and logging ones that don't contain file descriptors.
twisted.internet.endpoints.HostnameEndpoint and twisted.web.client.Agent work again with reactors that do not provide IReactorPluggableNameResolver. This undoes the changes that broke downstream users such as treq.testing. Note that passing reactors that do not provide IReactorPluggableNameResolver to either is deprecated.
A Python 3 Perspective Broker server which receives a remote call with keyword arguments from a Python 2 client will now decode any keys which are binary to strings instead of crashing. This fixes interoperability between Python 2 Buildbot clients and Python 3 Buildbot servers.
twisted.internet._threadedselect now works on both Python 2 and 3.
twisted.internet.interfaces.IResolverSimple implementers will now always be passed bytes, properly IDNA encoded if required, on Python 2. On Python 3, they will now be passed correctly IDNA-encoded Unicode forms of the domain, taking advantage of the idna library from PyPI if possible. This is to avoid Python's standard library (which has an out of date idna module) from mis- encoding domain names when non-ASCII Unicode is passed to it.
2017-06-21 18:35:35 +00:00
wiz
bc6bcf9875 Bump PKGREVISION for py-automat dependency. 2017-02-16 11:10:21 +00:00
adam
f42f867662 Added devel/py-automat dependency 2017-02-16 08:46:07 +00:00
adam
15bcff571e Twisted Core 17.1.0 (2017-02-04)
================================

Features
--------
 - Added a new interface,
   twisted.internet.interfaces.IHostnameResolver, which is an
   improvement to twisted.internet.interfaces.IResolverSimple that
   supports resolving multiple addresses as well as resolving IPv6
   addresses.  This is a native, asynchronous, Twisted analogue to
   getaddrinfo. (bug-4362)
 - twisted.web.client.Agent now uses HostnameEndpoint internally; as a
   consequence, it now supports IPv6, as well as making connections
   faster and more reliably to hosts that have more than one DNS name.
   (bug-6712)
 - twisted.internet.ssl.CertificateOptions now has the new constructor
   argument 'raiseMinimumTo', allowing you to increase the minimum TLS
   version to this version or Twisted's default, whichever is higher.
   The additional new constructor arguments 'lowerMaximumSecurityTo'
   and 'insecurelyLowerMinimumTo' allow finer grained control over
   negotiated versions that don't honour Twisted's defaults, for
   working around broken peers, at the cost of reducing the security
   of the TLS it will negotiate. (bug-6800)
 - twisted.internet.ssl.CertificateOptions now sets the OpenSSL
   context's mode to MODE_RELEASE_BUFFERS, which will free the
   read/write buffers on idle TLS connections to save memory. (bug-8247)
 - trial --help-reactors will only list reactors which can be
   imported.  (bug-8745)
 - twisted.internet.endpoints.HostnameEndpoint now uses the passed
   reactor's implementation of
   twisted.internet.interfaces.IReactorPluggableResolver to resolve
   hostnames rather than its own deferToThread/getaddrinfo wrapper;
   this makes its hostname resolution pluggable via a public API.
   (bug-8922)
 - twisted.internet.reactor.spawnProcess now does not emit a
   deprecation warning on Unicode arguments. It will encode Unicode
   arguments down to bytes using the filesystem encoding on UNIX and
   Python 2 on Windows, and pass Unicode through unchanged on Python 3
   on Windows. (bug-8941)
 - twisted.trial._dist.test.test_distreporter now works on Python 3.
   (bug-8943)

Bugfixes
--------
 - trial --help-reactors will now display iocp and win32er reactors
   with Python 3. (bug-8745)
 - twisted.logger._flatten.flattenEvent now handles log_format being
   None instead of assuming the value is always a string. (bug-8860)
 - twisted.protocol.ftp is now Python 3 compatible (bug-8865)
 - twisted.names.client.Resolver can now resolve names with IPv6 DNS
   servers. (bug-8877)
 - twisted.application.internet.ClientService now waits for existing
   connections to disconnect before trying to connect again when
   restarting. (bug-8899)
 - twisted.internet.unix.Server.doRead and
   twisted.internet.unix.Client.doRead no longer fail if recvmsg's
   ancilliary data contains more than one file descriptor. (bug-8911)
 - twist on Python 3 now correctly prints the help text when given no
   plugin to run. (bug-8918)
 - twisted.python.sendmsg.sendmsg no longer segfaults on Linux +
   Python 2. (bug-8969)
 - IHandshakeListener providers connected via SSL4ClientEndpoint will
   now have their handshakeCompleted methods called. (bug-8973)
 - The twist script now respects the --reactor option. (bug-8983)
 - Fix crash when using SynchronousTestCase with Warning object which
   does not store a string as its first argument (like
   libmysqlclient). (bug-9005)
 - twisted.python.compat.execfile() does not open files with the
   deprecated 'U' flag on Python 3. (bug-9012)

Deprecations and Removals
-------------------------
 - twisted.internet.ssl.CertificateOption's 'method' constructor
   argument is now deprecated, in favour of the new 'raiseMinimumTo',
   'lowerMaximumSecurityTo', and 'insecurelyLowerMinimumTo' arguments.
   (bug-6800)
 - twisted.protocols.telnet (not to be confused with the supported
   twisted.conch.telnet), deprecated since Twisted 2.5, has been
   removed. (bug-8925)
 - twisted.application.strports.parse, as well as the deprecated
   default arguments in strports.service/listen, deprecated since
   Twisted 10.2, has been removed. (bug-8926)
 - twisted.web.client.getPage and twisted.web.client.downloadPage have
   been deprecated in favour of https://pypi.org/project/treq and
   twisted.web.client.Agent. (bug-8960)
 - twisted.internet.defer.timeout is deprecated in favor of
   twisted.internet.defer.Deferred.addTimeout (bug-8971)
2017-02-13 18:59:04 +00:00
wiz
7f84153239 Add python-3.6 to incompatible versions. 2017-01-01 14:43:22 +00:00
wiz
d38ca9052f Add missing py-constantly dependency.
Fixes games/kajongg's twisted detection.

Bump PKGREVISION.
2016-11-30 12:28:50 +00:00
wiz
f694dfc278 Updated py-twisted to 16.6.0.
Twisted Core 16.6.0 (2016-11-17)
================================

Features
--------
 - The twist script can now be run by invoking python -m twisted.
   (#8657)
 - twisted.protocols.sip has been ported to Python 3. (#8669)
 - twisted.persisted.dirdbm has been ported to Python 3. (#8888)

Bugfixes
--------
 - twisted.internet.defer.Deferred now implements send, not __send__,
   which means that it is now a conforming generator. (#8861)
 - The IOCP reactor no longer transmits the contents of uninitialized
   memory when writing large amounts of data. (#8870)
 - Deferreds awaited/yielded from in a
   twisted.internet.defer.ensureDeferred wrapped coroutine will now
   properly raise exceptions. Additionally, it more closely models
   asyncio.ensure_future and will pass through Deferreds. (#8878)
 - Deferreds that are paused or chained on other Deferreds will now
   return a result when yielded/awaited in a twisted.internet.defer
   .ensureDeferred-wrapped coroutine, instead of returning the
   Deferred it was chained to. (#8890)

Improved Documentation
----------------------
 - twisted.test.proto_helpers is now explicitly covered by the
   compatibility policy. (#8857)

Other
-----
 - #8281, #8823, #8862


Twisted Conch 16.6.0 (2016-11-17)
=================================

Features
--------
 - twisted.conch.ssh.keys supports ECDSA keys (#8798)
 - scripts/ckeygen can now generate ecdsa keys. (#8828)
 - ckeygen has been ported to Python 3 (#8855)

Deprecations and Removals
-------------------------
 - twisted.conch.ssh no longer uses gmpy, if available. gmpy is
   unmaintained, does not have binary wheels for any platforms, and an
   alternative for higher performance is available in the form of
   PyPy. (#8079)


Twisted Web 16.6.0 (2016-11-17)
===============================

Features
--------
 - twisted.web.server.Site's HTTP/2 server support now emits vastly
   fewer WINDOW_UPDATE frames than previously. (#8681)

Bugfixes
--------
 - twisted.web.Agent now tolerates receiving unexpected status codes
   in the 100 range by discarding them, which is what RFC 7231
   recommends doing. (#8885)
 - twisted.web._http.H2Stream's getHost and getPeer implementations
   now actually return the host and peer instead of None. (#8893)


Twisted Words 16.6.0 (2016-11-17)
=================================

Features
--------
 - twisted.words.protocols.irc has been ported to Python 3 (#6320)
2016-11-28 13:55:50 +00:00
wiz
ebf729a944 Fix pattern. 2016-11-20 10:47:36 +00:00
wiz
ec46460814 Update python-3.x state comment. 2016-11-01 15:58:02 +00:00
wiz
2a2a2256bd Updated py-twisted to 16.5.0.
Twisted Core 16.5.0 (2016-10-28)
================================

Features
--------
 - Added twisted.internet.defer.Deferred.addTimeout method to enable
   timeouts of deferreds. (#5786)
 - Perspective Broker (the twisted.spread package) has been ported to
   Python 3 (#7598)
 - 'yield from' can now be used on Deferreds inside generators, when
   the generator is wrapped with
   twisted.internet.defer.ensureDeferred. (#8087)
 - twisted.internet.asyncioreactor has been added, which is a Twisted
   reactor on top of Python 3.4+'s native asyncio reactor. It can be
   selected by passing "--reactor=asyncio" to Twisted tools (twistd,
   Trial, etc) on platforms that support it (Python 3.4+). (#8367)
 - twisted.python.zippath now works on Windows with Python 3. (#8747)
 - twisted.internet.cfreactor is ported to Python 3 and supported on
   2.7 and 3.5+. (#8838)

Bugfixes
--------
 - twisted.internet.test.test_iocp and twisted.internet.test.test_tcp
   have been fixed to work under Python 3 with the Windows IOCP
   reactor (#8631)
 - Arguments to processes on Windows are now passed mbcs-encoded
   arguments.  This prevents process-related tests from hanging on
   Windows with Python 3. (#8735)
 - Client and server TLS connections made via the client TLS endpoint
   and the server SSL endpoint, as well as any other code that uses
   twisted.internet.ssl.CertificateOptions, no longer accept 3DES-
   based cipher suites by default, to defend against SWEET32. (#8781)
 - twisted.logger.jsonFileLogObserver no longer emits non-JSON
   tracebacks into its file; additionally,
   twisted.logger.formatEventAsClassicLogText now includes traceback
   information for the log event it formats. (#8858)
 - twisted.python.version now exports a version of Incremental that is
   16.10.1 or higher, making t.p.v.Version package name comparisons
   case-insensitive. (#8863)
 - twisted.python.reflect.safe_str encodes unicode as ascii with
   backslashreplace error handling on Python 2. (#8864)

Improved Documentation
----------------------
 - The twisted.internet.interfaces.IProtocol.dataReceived() method
   takes one parameter of type bytes.  This has been clarified in the
   doc string. (#8763)

Deprecations and Removals
-------------------------
 - twisted.python.constants is deprecated in preference to constantly
   on PyPI, which is the same code rolled into its own package.
   (#7351)
 - twisted.python.dist3 has been made private API. (#8761)
 - When the source code is checked out, bin/trial is no longer in the
   tree.  Developers working on the Twisted source code itself should
   either (1) run all tests under tox, or (2) run 'python setup.py
   develop' to install trial before running any tests. (#8765)
 - twisted.protocols.gps, deprecated since Twisted 15.2, has been
   removed. (#8787)

Other
-----
 - #4926, #7868, #8209, #8214, #8271, #8308, #8324, #8348, #8367,
   #8377, #8378, #8379, #8380, #8381, #8383, #8385, #8387, #8388,
   #8389, #8391, #8392, #8393, #8394, #8397, #8406, #8410, #8412,
   #8413, #8414, #8421, #8425, #8426, #8430, #8432, #8434, #8435,
   #8437, #8438, #8439, #8444, #8451, #8452, #8453, #8454, #8456,
   #8457, #8459, #8462, #8463, #8465, #8468, #8469, #8479, #8482,
   #8483, #8486, #8490, #8493, #8494, #8496, #8497, #8498, #8499,
   #8501, #8503, #8504, #8507, #8508, #8510, #8513, #8514, #8515,
   #8516, #8517, #8520, #8521, #8522, #8523, #8524, #8527, #8528,
   #8529, #8531, #8532, #8534, #8536, #8537, #8538, #8543, #8544,
   #8548, #8552, #8553, #8554, #8555, #8557, #8560, #8563, #8565,
   #8568, #8569, #8572, #8573, #8574, #8580, #8581, #8582, #8586,
   #8589, #8590, #8592, #8593, #8598, #8603, #8604, #8606, #8609,
   #8615, #8616, #8617, #8618, #8619, #8621, #8622, #8624, #8627,
   #8628, #8630, #8632, #8634, #8640, #8644, #8645, #8646, #8647,
   #8662, #8664, #8666, #8668, #8671, #8672, #8677, #8678, #8684,
   #8691, #8702, #8705, #8706, #8716, #8719, #8724, #8725, #8727,
   #8734, #8741, #8749, #8752, #8754, #8755, #8756, #8757, #8758,
   #8767, #8773, #8776, #8779, #8780, #8785, #8788, #8789, #8790,
   #8792, #8793, #8799, #8808, #8817, #8839, #8845, #8852


Twisted Conch 16.5.0 (2016-10-28)
=================================

Features
--------
 - SSH key fingerprints can be generated using base64 encoded SHA256
   hashes. (#8701)

Bugfixes
--------
 - SSHUserAuthServer does not crash on keyboard interactive
   authentication when running on Python 3 (#8771)
 - twisted.conch.insults.insults.ServerProtocol no longer corrupts a
   client's display when attempting to set the cursor position, and
   its ECMA-48 terminal manipulation works on Python 3. (#8803)

Other
-----
 - #8495, #8511, #8715, #8851


Twisted Mail 16.5.0 (2016-10-28)
================================

Deprecations and Removals
-------------------------
 - twisted.mail.protocols.DomainSMTP and DomainESMTP, deprecated since
   2003, have been removed. (#8772)

Other
-----
 - #6289, #8525, #8786, #8830


Twisted Names 16.5.0 (2016-10-28)
=================================

No significant changes have been made for this release.

Other
-----
 - #8625, #8663


Twisted Pair 16.5.0 (2016-10-28)
================================

Features
--------
 - twisted.pair has been ported to Python 3 (#8744)


Twisted Web 16.5.0 (2016-10-28)
===============================

Bugfixes
--------
 - twisted.web.client.HTTPConnectionPool and anything that uses it,
   like twisted.web.client.Agent, have had their logic for resuming
   transports changed so that transports are resumed after state
   machine transitions are complete, rather than before. This change
   allows the HTTP client infrastructure to work with alternative HTTP
   implementations such as HTTP/2 which may be able to deliver a
   complete response synchronously when producing is resumed. (#8720)

Other
-----
 - #8519, #8530, #8629, #8707, #8777, #8778, #8844


Twisted Words 16.5.0 (2016-10-28)
=================================

No significant changes have been made for this release.

Other
-----
 - #8360, #8460
2016-11-01 15:55:46 +00:00
wiz
3d441fe375 Update python3 state comment. 2016-09-20 14:45:56 +00:00
wiz
2ee897e91a Update py-twisted to 16.4.1.
Twisted Core 16.4.1 (2016-09-07)
================================

Features
--------
 - Client and server TLS connections made via the client TLS endpoint
   and the server SSL endpoint, as well as any other code that uses
   twisted.internet.ssl.CertificateOptions, now support ChaCha20
   ciphers when available from the OpenSSL on the system. (#8760)

Bugfixes
--------
 - Client and server TLS connections made via the client TLS endpoint
   and the server SSL endpoint, as well as any other code that uses
   twisted.internet.ssl.CertificateOptions, no longer accept 3DES-
   based cipher suites by default, to defend against SWEET32. (#8781)
2016-09-18 22:21:26 +00:00
wiz
b890cf084a Add ALTERNATIVES file. 2016-08-31 09:10:14 +00:00
wiz
b5e70df68b Updated py-twisted{,-docs} to 16.4.0.
Twisted Core 16.4.0 (2016-08-25)
================================

Features
--------
 - Add twisted.application.twist, meant to eventually replace twistd
   with a simpler interface.  Add twisted.application.runner API,
   currently private, which twist is built on. (#5705)
 - The new interface IHandshakeListener that can be implemented by any
   Protocol provides a callback that is called when the TLS handshake
   has been completed, allowing Protocols to make decisions about the
   TLS configuration before application data is sent. (#6024)
 - twisted.python.syslog has been ported to Python 3. (#7957)
 - twisted.internet.defer.ensureDeferred has been added, similar to
   asyncio's ensure_future. Wrapping a coroutine (the result of a
   function defined using async def, available only on Python 3.5+)
   with it allows you to use the "await" keyword with Deferreds inside
   the coroutine, similar to "yield" when using inlineCallbacks.
   (#8088)
 - twisted.internet.inotify have been ported to Python 3 (#8211)
 - twisted.enterprise has been ported to Python 3. The third-party
   pysqlite2 package has not been ported to Python 3, so any database
   connector based on pysqlite2 cannot be used. Instead the sqlite3
   module included with Python 3 should be used. (#8303)
 - Scripts such as cftp, ckeygen, conch, mailmail, pyhtmlizer,
   tkconch, twistd and trial have been updated to be setuptools
   console scripts.  (#8491)
 - twisted.pair.raw and twisted.pair.rawudp have been ported to Python
   3 (#8545)
 - twisted.internet.baseprocess has been ported to Python 3. (#8546)
 - twisted.python.dist has been ported to Python 3 (#8556)
 - twisted.internet.interfaces.IOpenSSLContextFactory has been added,
   which defines the interface provided both by the old-style
   twisted.internet.ssl.ContextFactory class and the newer
   twisted.interface.ssl.CertificateOptions class. This is a precursor
   to formally deprecating the former class in favour of the latter.
   (#8597)
 - twisted.python.zipstream has been ported to Python 3 (#8607)
 - Zip file entries returned by ChunkingZipFile.readfile() are now
   context managers. (#8641)
 - twisted.protocols.socks has been ported to Python 3 (#8665)
 - twisted.spread.banana has been ported to Python 3 (#8667)
 - Trial can now be invoked via "python -m twisted.trial". (#8712)
 - twisted.protocols.postfix has been ported to Python 3 (#8713)
 - twisted.protocols.wire and twisted.protocols.portforwarding have
   been ported to Python 3 (#8717)
 - twisted.protocols.stateful has been ported to Python 3 (#8718)
 - twisted.protocols.memcache is now compatible with Python 3. (#8726)
 - twisted.protocols.dict has been ported to Python 3 (#8732)

Bugfixes
--------
 - pip install -e ".[dev]" now works on Python 3, but it will not
   install twistedchecker or pydoctor, which have not yet been ported.
   (#7807)
 - twistd can now properly daemonize on Linux/Unix when run under
   Python3 and will not hang indefinitely. (#8155)
 - tox can now be used to run Twisted's tests on Windows (#8578)
 - twisted.python.filepath.setContent() and
   twisted.python.filepath.moveTo() now work on Windows with Python 3
   (#8610)
 - twisted.internet.win32eventreactor works on Python 3 in Windows
   (#8626)
 - The TLS payload buffer size was reduced in
   twisted.protocols.tls.TLSMemoryBIOProtocol.  This fixes writing of
   very long strings using the TLSv1_1 method from the OpenSSL
   library. (#8693)
 - twisted.logger._flatten.flattenEvent() now does not crash if passed
   a unicode string. (#8699)
 - twisted.application.strports.service (and thus twistd) no longer
   swallow asynchronous exceptions from IStreamServerEndpoint.listen.
   (#8710)
 - _twistd_unix now reports the name and encoded message of an
   exception raised during daemonization on Python 2 and 3. (#8731)
 - twisted.protocols.amp now handles floats on Python 3. Previously,
   sending a float would raise a ValueError. (#8746)

Improved Documentation
----------------------
 - Some broken links to xprogramming in the unit test documentation
   have been fixed. (#8579)
 - The Twisted Tutorial "The Evolution of Finger" has been updated to
   use endpoints throughout. (#8588)
 - Updated the mail examples to use endpoints and better TLS. (#8595)
 - Changed the Twisted Web howto to use endpoints and modern TLS.
   (#8596)
 - Updated bug report URL in man pages. (#8600)
 - In twisted.internet.udp.Port, write() takes a parameter of type
   bytes.  This is clarified in the docstring. (#8635)
 - twisted.internet.interfaces.ITransport.write() and
   twisted.internet.interfaces.ITransport.writeSequence() take bytes
   parameters. (#8636)
 - twisted.python.filepath.AbstractFilePath.getContent() returns
   bytes.  The docstring was updated to clarify this. (#8637)
 - Updated release notes to reflect that 15.4 is the last version that
   supported Python 2.6, not 15.5. (#8651)
 - A missing space in defer.rst resulted in badly rendered output. The
   space was added. (#8723)

Deprecations and Removals
-------------------------
 - Dropped support for pyOpenSSL versions less than 16.0.0. (#8441)

Other
-----
 - #4926, #7868, #8209, #8271, #8276, #8308, #8324, #8348, #8367,
   #8377, #8378, #8379, #8380, #8381, #8383, #8385, #8386, #8387,
   #8388, #8389, #8391, #8392, #8393, #8394, #8397, #8406, #8410,
   #8412, #8413, #8414, #8421, #8425, #8426, #8428, #8429, #8430,
   #8432, #8434, #8435, #8437, #8438, #8439, #8444, #8451, #8452,
   #8453, #8454, #8456, #8457, #8459, #8462, #8463, #8465, #8468,
   #8469, #8479, #8482, #8483, #8486, #8490, #8493, #8494, #8496,
   #8497, #8498, #8499, #8501, #8503, #8504, #8507, #8508, #8510,
   #8513, #8514, #8515, #8516, #8517, #8520, #8521, #8522, #8523,
   #8524, #8527, #8528, #8529, #8531, #8532, #8534, #8536, #8537,
   #8538, #8540, #8541, #8543, #8548, #8552, #8553, #8554, #8555,
   #8557, #8560, #8563, #8565, #8568, #8569, #8572, #8573, #8574,
   #8577, #8580, #8581, #8582, #8584, #8586, #8589, #8590, #8592,
   #8593, #8598, #8603, #8604, #8606, #8609, #8615, #8616, #8617,
   #8618, #8619, #8621, #8624, #8627, #8628, #8630, #8632, #8634,
   #8640, #8644, #8645, #8646, #8647, #8648, #8662, #8664, #8666,
   #8668, #8671, #8672, #8684, #8691, #8702, #8703, #8705, #8706,
   #8716, #8719, #8724, #8725, #8727, #8733, #8734, #8741


Twisted Conch 16.4.0 (2016-08-25)
=================================

Features
--------
 - twisted.conch.ssh.address is now ported to Python 3. (#8495)
 - twisted.conch.ssh.transport is now ported to Python 3. (#8638)
 - twisted.conch.ssh.channel is now ported to Python 3. (#8649)
 - twisted.conch.ssh.userauth is now ported to Python 3. (#8654)
 - twisted.conch.ssh.connection is now ported to Python 3. (#8660)
 - twisted.conch.ssh.session is now ported to Python 3. (#8661)
 - twisted.conch.ssh.filetransfer is now ported to Python 3. (#8675)
 - twisted.conch.ssh.agent is now ported to Python 3. (#8686)
 - twisted.conch.ssh is now ported to Python 3. (#8690)
 - twisted.conch.openssh_compat.* is now ported to Python 3. (#8694)
 - twisted.conch.client.knownhosts is now ported to Python 3. (#8697)
 - twisted.conch.insults.insults has been ported to Python 3 (#8698)
 - twisted.conch.client.default is now ported to Python 3. (#8700)
 - twisted.conch.recvline has been ported to Python 3 (#8709)
 - twisted.conch.endpoints is now ported to Python 3. (#8722)

Bugfixes
--------
 - The SSHService is now a bytestring (#8653)
 - The name field in SShChannel is now a bytestring (#8683)

Improved Documentation
----------------------
 - Fixed syntax errors in cftp man page. (#8601)

Other
-----
 - #8495, #8511, #8715


Twisted Mail 16.4.0 (2016-08-25)
================================

Deprecations and Removals
-------------------------
 - twisted.mail.mail.DomainWithDefaultDict.has_key is now deprecated
   in favor of the `in` keyword. (#8361)
 - twisted.mail.protocols.SSLContextFactory, deprecated since Twisted
   12.0, has been removed. (#8591)

Other
-----
 - #8525


Twisted Names 16.4.0 (2016-08-25)
=================================

Features
--------
 - twisted.names.srvconnect is now ported to Python 3. (#8262)
 - twisted.names.resolve and twisted.names.tap have been ported to
   Python 3 (#8550)

Other
-----
 - #8625, #8663


Twisted Runner 16.4.0 (2016-08-25)
==================================

Features
--------
 - twisted.runner has been ported to Python 3. (#8739)


Twisted Web 16.4.0 (2016-08-25)
===============================

Features
--------
 - Twisted web HTTP/2 servers now time out HTTP/2 connections in the
   same manner as HTTP/1.1 connections. (#8480)

Bugfixes
--------
 - A bug in twisted.web.server.Site.makeSession which may lead to
   predictable session IDs was fixed.  Session IDs are now generated
   securely using `os.urandom`. (#3460)
 - twisted.web.server.Request.getSession will now, for a request sent
   over HTTPS, set a "Secure" cookie, preventing the secure session
   from being sent over plain-text HTTP. (#3461)
 - If called multiple times, twisted.web.http.Request.setLastModified
   now correctly observes the greatest supplied value. (#3807)
 - The HTTP server now correctly times connections out. (broken in
   16.2) (#8481)
 - Twisted's HTTP/2 support no longer throws priority exceptions when
   WINDOW_UDPATE frames are received after a response has been
   completed. (#8558)
 - twisted.web.twcgi.CGIScript will now not pass the "Proxy" header to
   CGI scripts, as a mitigation to CVE-2016-1000111. (#8623)
 - Twisted Web's HTTP/2 server can now tolerate streams being reset by
   the client midway through a data upload without throwing
   exceptions. (#8682)
 - twisted.web.http.Request now swallows header writes on reset HTTP/2
   streams, rather than erroring out. (#8685)
 - twisted.web's HTTP/2 server now tolerates receiving WINDOW_UPDATE
   frames for streams for which it has no outstanding data to send.
   (#8695)
 - twisted.web.http.HTTPChannel now resumes producing on finished,
   non-persistent connections. This prevents HTTP/1 servers using TLS
   from leaking a CLOSE_WAIT socket per request. (#8766)

Other
-----
 - #8519, #8530, #8629, #8707


Twisted Words 16.4.0 (2016-08-25)
=================================

Features
--------
 - twisted.words.xish is now ported to Python 3 (#8337)
 - twisted.words.protocols.jabber is now ported to Python 3 (#8423)
 - twisted.words.protocols.irc.ERR_TOOMANYMATCHES was introduced
   according to the RFC 2812 errata. (#8585)

Bugfixes
--------
 - twisted.words.protocols.irc.RPL_ADMINLOC was removed and replaced
   with twisted.words.protocols.irc.RPL_ADMINLOC1 and
   twisted.words.protocols.irc.RPL_ADMINLOC2 to match the admin
   commands defined in RFC 2812. (#8585)
 - twisted.words.protocols.jabber.sasl_mechanisms has been fixed for
   Python 3.3 (#8738)

Improved Documentation
----------------------
 - The XMPP client example now works on Python 3. (#8509)

Other
-----
 - #8360, #8460
2016-08-31 09:10:02 +00:00
wiz
9a091ddf79 Updated py-twisted to 16.3.2.
Twisted Web 16.3.2 (2016-08-18)
===============================

Bugfixes
--------
 - twisted.web.http.HTTPChannel now resumes producing on finished,
   non-persistent connections. This prevents HTTP/1 servers using TLS
   from leaking a CLOSE_WAIT socket per request. (#8766)


Twisted Web 16.3.1 (2016-08-15)
===============================

Bugfixes
--------
 - A bug in twisted.web.server.Site.makeSession which may lead to
   predictable session IDs was fixed.  Session IDs are now generated
   securely using `os.urandom`. (#3460)
 - twisted.web.server.Request.getSession will now, for a request sent
   over HTTPS, set a "Secure" cookie, preventing the secure session
   from being sent over plain-text HTTP. (#3461)
 - Twisted's HTTP/2 support no longer throws priority exceptions when
   WINDOW_UDPATE frames are received after a response has been
   completed. (#8558)
 - twisted.web.twcgi.CGIScript will now not pass the "Proxy" header to
   CGI scripts, as a mitigation to CVE-2016-1000111. (#8623)


Twisted Core 16.3.0 (2016-07-05)
================================

Features
--------
 - Defined a new interface, IProtocolNegotiationFactory, that can be
   implemented by IOpenSSLClientConnectionCreator or
   IOpenSSLServerConnectionCreator factories to allow them to offer
   protocols for negotiation using ALPN or NPN during the TLS
   handshake. (#8188)
 - twisted.trial.unittest.SynchronousTestCase.assertRegex is now
   available to provide Python 2.7 and Python 3 compatibility. (#8372)

Improved Documentation
----------------------
 - Development documentation has been updated to refer to Git instead
   of SVN. (#8335)

Deprecations and Removals
-------------------------
 - twisted.python.reflect's deprecated functions have been removed.
   This includes funcinfo (deprecated since Twisted 2.5), allYourBase
   and accumulateBases (deprecated since Twisted 11.0), getcurrent and
   isinst (deprecated since Twisted 14.0). (#8293)
 - twisted.scripts.tap2deb and twisted.scripts.tap2rpm (along with the
   associated executables), deprecated since Twisted 15.2, have now
   been removed. (#8326)
 - twisted.spread.ui has been removed. (#8329)
 - twisted.manhole -- not to be confused with manhole in Conch -- has
   been removed. This includes the semi-functional Glade reactor, the
   manhole application, and the manhole-old twistd plugin. (#8330)
 - twisted.protocols.sip.DigestAuthorizer, BasicAuthorizer, and
   related functions have been removed. (#8445)

Other
-----
 - #7229, #7826, #8290, #8323, #8331, #8336, #8341, #8344, #8345,
   #8347, #8351, #8363, #8365, #8366, #8374, #8382, #8384, #8390,
   #8395, #8396, #8398, #8399, #8400, #8401, #8403, #8404, #8405,
   #8407, #8408, #8409, #8415, #8416, #8417, #8418, #8419, #8420,
   #8427, #8433, #8436, #8461


Twisted Names 16.3.0 (2016-07-05)
=================================

Bugfixes
--------
 - twisted.names.client.Resolver as well as all resolvers inheriting
   from twisted.names.common.ResolverBase can now understand DNS
   answers that come back in a different case than the query. Example:
   querying for www.google.com and the answer comes back with an A
   record for www.google.COM will now work. (#8343)


Twisted Web 16.3.0 (2016-07-05)
===============================

Features
--------
 - twisted.web.http.HTTPChannel now implements ITransport. Along with
   this change, twisted.web.http.Request now directs all its writes to
   the HTTPChannel, rather than to the backing transport. This change
   is required for future HTTP/2 work. (#8191)
 - twisted.web.http.HTTPChannel now has a HTTP/2 implementation which
   will be used if the transport has negotiated using it through
   ALPN/NPN (see #8188). (#8194)

Bugfixes
--------
 - twisted.web.client.Agent and twisted.web.client.ProxyAgent now add
   brackets to IPv6 literal addresses in the host header they send.
   (#8369)
 - The HTTP server now correctly times connections out. (broken in
   16.2) (#8481)

Deprecations and Removals
-------------------------
 - twisted.web would previously dispatch pipelined requests
   simultaneously and queue the responses. This behaviour did not
   enforce any of the guarantees required by RFC 7230 or make it
   possible for users to enforce those requirements. For this reason,
   the parallel dispatch of requests has been removed. Pipelined
   requests are now processed serially. (#8320)
2016-08-24 10:39:04 +00:00
wiz
ad0031c15e Remove python33: adapt all packages that refer to it. 2016-07-09 13:03:30 +00:00
wiz
d9b5abba34 Updated py-twisted to 16.2.0.
Twisted 16.2 Released

On behalf of Twisted Matrix Laboratories, I am honoured to announce
the release of Twisted 16.2!

Just in time for PyCon US, this release brings a few headlining
features (like the haproxy endpoint) and the continuation of the
modernisation of the codebase. More Python 3, less deprecated code,
what's not to like?

    twisted.protocols.haproxy.proxyEndpoint, a wrapper endpoint
    that gives some extra information to the wrapped protocols
    passed by haproxy;
    Migration of twistd and other twisted.application.app users to
    the new logging system (twisted.logger);
    Porting of parts of Twisted Names' server to Python 3;
    The removal of the very old MSN client code and the deprecation
    of the unmaintained ICQ/OSCAR client code;
    More cleanups in Conch in preparation for a Python 3 port and
    cleanups in HTTP code in preparation for HTTP/2 support;
    Over thirty tickets overall closed since 16.1.
2016-05-23 16:54:19 +00:00
wiz
96e160bda8 Update py-twisted to 16.1.1.
Twisted Web 16.1.1 (2016-04-08)
===============================

Bugfixes
--------
 - twisted.web.http.Request once again has a reference to the
   HTTPFactory which created it, the absence of which was preventing
   log messages from being created.  (#8272)


Twisted Core 16.1.0 (2016-04-04)
================================

Features
--------
 - twisted.application.internet.ClientService, a service that
   maintains a persistent outgoing endpoint-based connection; a
   replacement for ReconnectingClientFactory that uses modern APIs.
   (#4735)
 - Twisted now uses setuptools' sdist to build tarballs. (#7985)

Bugfixes
--------
 - Twisted is now compatible with OpenSSL 1.0.2f. (#8189)

Other
-----
 - #4543, #8124, #8193, #8210, #8220, #8223, #8226, #8242


Twisted Conch 16.1.0 (2016-04-04)
=================================

Features
--------
 - twisted.conch.checkers is now ported to Python 3. (#8225)
 - twisted.conch.telnet is now ported to Python 3. (#8228)
 - twisted.conch.manhole_ssh.ConchFactory (used by `twistd manhole`)
   no longer uses a hardcoded SSH server key, and will generate a
   persistent one, saving it in your user appdir. If you use
   ConchFactory, you will now need to provide your own SSH server key.
   (#8229)

Other
-----
 - #8237, #8240


Twisted Web 16.1.0 (2016-04-04)
===============================

Features
--------
 - twisted.web.http.Request.addCookie now supports both unicode and
   bytes arguments, with unicode arguments being encoded to UTF-8.
   (#8067)

Bugfixes
--------
 - twisted.web.util.DeferredResource no longer causes spurious
   "Unhandled error in Deferred" log messages. (#8192)
 - twisted.web.server.site.makeSession now generates an uid of type
   bytes on both Python 2 and 3. (#8215)

Other
-----
 - #8238


Twisted Core 16.0.0 (2016-03-10)
================================

Features
--------
 - todo parameter for IReporter.addExpectedSuccess and
   IReporter.addUnexpectedSuccess is no longer required. If not
   provided, a sensible default will be used instead. (#4811)
 - A new string endpoint type, "tls:", allows for properly-verified
   TLS (unlike "ssl:", always matching hostname resolution with
   certificate hostname verification) with faster IPv4/IPv6
   connections.  This comes with an accompanying function,
   twisted.internet.endpoints.wrapClientTLS, which can wrap an
   arbitrary client endpoint with client TLS. (#5642)
 - twisted.python.filepath.makedirs accepts an ignoreExistingDirectory
   flag which ignore the OSError raised by os.makedirs if requested
   directory already exists. (#5704)
 - twisted.protocols.amp has been ported to Python 3. (#6833)
 - twisted.internet.ssl.trustRootFromCertificates returns an object
   suitable for use as trustRoot= to
   twisted.internet.ssl.optionsForClientTLS that trusts multiple
   certificates. (#7671)
 - twisted.python.roots is now ported to Python 3. (#8131)
 - twisted.cred.strports has been ported to Python 3. (#8216)

Bugfixes
--------
 - Expected failures from standard library unittest no longer fail
   with Trial reporters. (#4811)
 - twisted.internet.endpoints.HostnameEndpoint.connect no longer fails
   with an AlreadyCalledError when the Deferred it returns is
   cancelled after all outgoing connection attempts have been made but
   none have yet succeeded or failed. (#8014)
 - twisted.internet.task.LoopingCall.withCount when run with internal
   of 0, now calls the countCallable with 1, regardless of the time
   passed between calls. (#8125)
 - twisted.internet.endpoints.serverFromString, when parsing a SSL
   strports definition, now gives the correct error message when an
   empty chain file is given. (#8222)

Improved Documentation
----------------------
 - The Twisted Project has adopted the Contributor Covenant as its
   Code of Conduct. (#8173)

Deprecations and Removals
-------------------------
 - twisted.internet.task.LoopingCall.deferred is now deprecated. Use
   the deferred returned by twisted.internet.task.LoopingCall.start()
   (#8116)
 - twisted.internet.gtkreactor, the GTK+ 1 reactor deprecated since
   Twisted 10.1, has been removed. This does not affect the GTK2,
   GLib, GTK3, or GObject-Introspection reactors. (#8145)
 - twisted.protocols.mice, containing a Logitech MouseMan serial
   driver, has been deprecated. (#8148)
 - The __version__ attribute of former subprojects (conch, mail,
   names, news, pair, runner, web, and words) is deprecated in
   preference to the central twisted.__version__. (#8219)

Other
-----
 - #6842, #6978, #7668, #7791, #7881, #7943, #7944, #8050, #8104,
   #8115, #8119, #8122, #8139, #8144, #8154, #8162, #8180, #8187,
   #8220


Twisted Conch 16.0.0 (2016-03-10)
=================================

Features
--------
 - twisted.conch now uses cryptography instead of PyCrypto for its
   underlying crypto operations. (#7413)
 - twisted.conch.ssh.keys is now ported to Python 3. (#7998)

Bugfixes
--------
 - twisted.conch.ssh.channel.SSHChannel's getPeer and getHost methods
   now return an object which provides IAddress instead of an old-
   style tuple address. (#5999)
 - twisted.conch.endpoint.SSHCommandClientEndpoint, when
   authentication is delegated to an SSH agent, no longer leaves the
   agent connection opened when connection to the server is lost.
   (#8138)

Other
-----
 - #7037, #7715, #8200, #8208


Twisted Web 16.0.0 (2016-03-10)
===============================

Features
--------
 - twisted.web.http_headers._DictHeaders now correctly handles
   updating via keyword arguments in Python 3 (therefore
   twisted.web.http_headers is now fully ported to Python 3). (#6082)
 - twisted.web.wsgi has been ported to Python 3. (#7993)
 - twisted.web.http_headers.Headers now accepts both Unicode and
   bytestring keys and values, encoding to iso-8859-1 and utf8
   respectively. (#8129)
 - twisted.web.vhost ported to Python 3. (#8132)

Bugfixes
--------
 - twisted.web.http.HTTPChannel now correctly handles non-ascii method
   name by returning 400. Previously non-ascii method name was causing
   unhandled exceptions. (#8102)
 - twisted.web.static.File on Python 3 now redirects paths to
   directories without a trailing slash, to a path with a trailing
   slash, as on Python 2. (#8169)

Deprecations and Removals
-------------------------
 - twisted.web.http.Request's headers and request_headers attributes,
   deprecated since Twisted 13.2, have been removed. (#8136)
 - twisted.web.static.addSlash is deprecated. (#8169)

Other
-----
 - #8140, #8182
2016-04-13 19:44:49 +00:00
adam
7f3b4730ad Extend PYTHON_VERSIONS_INCOMPATIBLE to 35 2015-12-05 21:25:27 +00:00
wiz
10988d306f Update py-twisted* to 15.5.0.
Twisted Core 15.5.0 (2015-11-28)
================================

This is the last Twisted release where Python 2.6 is supported, on any
platform. Python 3.5 (on POSIX) support has been added.

This release introduces changes that are required for Conch's SSH
implementation to work with OpenSSH 6.9+ servers.

Features
--------
 - twisted.python.url is a new abstraction for URLs, supporting RFC
   3987 IRIs. (#5388)
 - twisted.python.logfile is now ported to Python 3. (#6749)
 - twisted.python.zippath has been ported to Python 3. (#6917)
 - twisted.internet.ssl.CertificateOptions and
   twisted.internet.ssl.optionsForClientTLS now take a
   acceptableProtocols parameter that enables negotiation of the next
   protocol to speak after the TLS handshake has completed. This field
   advertises protocols over both NPN and ALPN. Also added new
   INegotiated interface for TLS interfaces that support protocol
   negotiation. This interface adds a negotiatedProtocol property that
   reports what protocol, if any, was negotiated in the TLS handshake.
   (#7860)
 - twisted.python.urlpath.URLPath now operates correctly on Python 3,
   using bytes instead of strings, and introduces the fromBytes
   constructor to assist with creating them cross-version. (#7994)
 - twisted.application.strports is now ported to Python 3. (#8011)
 - twistd (the Twisted Daemon) is now ported to Python 3. (#8012)
 - Python 3.5 is now supported on POSIX platforms. (#8042)
 - twisted.internet.serialport is now ported on Python 3. (#8099)

Bugfixes
--------
 - twisted.logger.formatEvent now can format an event if it was
   flattened (twisted.logger.eventAsJSON does this) and has text after
   the last replacement field. (#8003)
 - twisted.cred.checkers.FilePasswordDB now logs an error if the
   credentials db file does not exist, no longer raises an unhandled
   error. (#8028)
 - twisted.python.threadpool.ThreadPool now properly starts enough
   threads to do any work scheduled before ThreadPool.start() is
   called, such as when work is scheduled in the reactor via
   reactor.callInThread() before reactor.run(). (#8090)

Improved Documentation
----------------------
 - Twisted Development test standard documentation now contain
   information about avoiding test data files. (#6535)
 - The documentation for twisted.internet.defer.DeferredSemaphore now
   describes the actual usage for limit and tokens instance
   attributes. (#8024)

Deprecations and Removals
-------------------------
 - twisted.python._initgroups, a C extension, has been removed and
   stdlib support is now always used instead. (#5861)
 - Python 2.6 is no longer supported. (#8017)
 - twisted.python.util.OrderedDict is now deprecated, and uses of it
   in Twisted are replaced with collections.OrderedDict. (#8051)
 - twisted.persisted.sob.load, twisted.persisted.sob.loadValueFromFile
   and twisted.persisted.sob.Persistent.save() are now deprecated when
   used with a passphrase. The encyption used by these methods are
   weak. (#8081)
 - twisted.internet.interfaces.IStreamClientEndpointStringParser has
   been removed and Twisted will no longer use parsers implementing
   this interface. (#8094)

Other
-----
 - #5976, #6628, #6894, #6980, #7228, #7693, #7731, #7997, #8046,
   #8054, #8056, #8060, #8063, #8064, #8068, #8072, #8091, #8095,
   #8096, #8098, #8106


Twisted Conch 15.5.0 (2015-11-18)
=================================

Features
--------
 - twisted.conch.ssh now supports the diffie-hellman-group-exchange-
   sha256 key exchange algorithm. (#7672)
 - twisted.conch.ssh now supports the diffie-hellman-group14-sha1 key
   exchange algorithm. (#7717)
 - twisted.conch.ssh.transport.SSHClientTransport now supports Diffie-
   Hellman key exchange using MSG_KEX_DH_GEX_REQUEST as described in
   RFC 4419. (#8100)
 - twisted.conch.ssh now supports the hmac-sha2-256 and hmac-sha2-512
   MAC algorithms. (#8108)

Deprecations and Removals
-------------------------
 - twisted.conch.ssh.keys.objectType is now deprecated. Use
   twisted.conch.ssh.keys.Key.sshType. (#8080)
 - twisted.conch.ssh.transport.SSHClientTransport no longer supports
   Diffie-Hellman key exchange using MSG_KEX_DH_GEX_REQUEST_OLD for
   pre RFC 4419 servers. (#8100)


Twisted Web 15.5.0 (2015-11-18)
================================

Features
--------
 - twisted.web.http.Request.addCookie now supports the httpOnly
   attribute which when set on cookies prevents the browser exposing
   it through channels other than HTTP and HTTPS requests (i.e. they
   will not be accessible through JavaScript). (#5911)
 - twisted.web.client.downloadPage is now ported to Python 3. (#6197)
 - twisted.web.client.Agent is now ported to Python 3. (#7407)
 - twisted.web.tap (ran when calling `twistd web`) has now been ported
   to Python 3. Not all features are enabled -- CGI, WSGI, and
   distributed web serving will be enabled in their respective tickets
   as they are ported. (#8008)

Bugfixes
--------
 - twisted.web.client.URI now supports IPv6 addresses. Previously this
   would mistake the colons used as IPv6 address group separators as
   the start of a port specification. (#7650)
 - twisted.web.util's failure template has been moved inline to work
   around Python 3 distribution issues. (#8047)
 - twisted.web.http.Request on Python 3 now handles multipart/form-
   data requests correctly. (#8052)

Other
-----
 - #8016, #8070


Twisted Words 15.5.0 (2015-11-18)
=================================

Features
--------
 - twisted.words.protocol.irc.IRC now has a sendCommand() method which
   can send messages with tags. (#6667)

Other
-----
 - #8015, #8097
2015-12-04 21:58:53 +00:00
agc
203292f73e Add SHA512 digests for distfiles for net category
Problems found with existing digests:
	Package haproxy distfile haproxy-1.5.14.tar.gz
	159f5beb8fdc6b8059ae51b53dc935d91c0fb51f [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]

Problems found locating distfiles:
	Package bsddip: missing distfile bsddip-1.02.tar.Z
	Package citrix_ica: missing distfile citrix_ica-10.6.115659/en.linuxx86.tar.gz
	Package djbdns: missing distfile djbdns-1.05-test25.diff.bz2
	Package djbdns: missing distfile djbdns-cachestats.patch
	Package djbdns: missing distfile 0002-dnscache-cache-soa-records.patch
	Package gated: missing distfile gated-3-5-11.tar.gz
	Package owncloudclient: missing distfile owncloudclient-2.0.2.tar.xz
	Package poink: missing distfile poink-1.6.tar.gz
	Package ra-rtsp-proxy: missing distfile rtspd-src-1.0.0.0.tar.gz
	Package ucspi-ssl: missing distfile ucspi-ssl-0.70-ucspitls-0.1.patch
	Package waste: missing distfile waste-source.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-04 00:34:51 +00:00
wiz
495f8070e4 Update to 15.4.0:
Twisted Core 15.4.0 (2015-09-04)
================================

Features
--------
 - Trial has been ported to Python 3. (#5965)
 - Twisted now requires setuptools for installation. (#7177)
 - twisted.internet.endpoints.clientFromString is now ported to Python
   3. (#7973)
 - twisted.internet._sslverify now uses SHA256 instead of MD5 for
   certificate request signing by default. (#7979)
 - twisted.internet.endpoints.serverFromString is now ported to Python
   3. (#7982)
 - twisted.positioning is now ported to Python 3. (#7987)
 - twisted.python.failure.Failure's __repr__ now includes the
   exception message. (#8004)

Bugfixes
--------
 - fixed a bug which could lead to a hang at shutdown in
   twisted.python.threadpool. (#2673)
 - twisted.internet.kqreactor on Python 3 now supports EINTR
   (Control-C) gracefully. (#7887)
 - Fix a bug introduced in 15.3.0; pickling a lambda function after
   importing twisted.persisted.styles raises PicklingError rather than
   AttributeError. (#7989)

Other
-----
 - #7902, #7980, #7990, #7992


Twisted Web 15.4.0 (2015-09-04)
===============================

Features
--------
 - twisted.web.proxy is now ported to Python 3. (#7939)
 - twisted.web.guard is now ported to Python 3. (#7974)

Bugfixes
--------
 - twisted.web.http.Request.setResponseCode now only allows bytes
   messages. (#7981)
 - twisted.web.server.Request.processingFailed will now correctly
   write out the traceback on Python 3. (#7996)
2015-09-06 20:35:58 +00:00
wiz
4b32c18dfa Update to 15.3.0:
Twisted Core 15.3.0 (2015-08-04)
================================

Features
--------
 - twisted.application.app is now ported to Python 3 (#6914)
 - twisted.plugin now supports Python 3 (#7182)
 - twisted.cred.checkers is now ported to Python 3. (#7834)
 - twisted.internet.unix is now ported to Python 3. (#7874)
 - twisted.python.sendmsg has now been ported to Python 3, using the
   stdlib sendmsg/recvmsg functionality when available. (#7884)
 - twisted.internet.protocol.Factory now uses the new logging system
   (twisted.logger) for all its logging statements. (#7897)
 - twisted.internet.stdio is now ported to Python 3. (#7899)
 - The isDocker method has been introduced on
   twisted.python.runtime.Platform to detect if the running Python is
   inside a Docker container. Additionally, Platform.supportsINotify()
   now returns False if isDocker() is True, because of many Docker
   storage layers having broken INotify. (#7968)

Bugfixes
--------
 - twisted.logger.LogBeginner.beginLoggingTo now outputs the correct
   warning when it is called more than once. (#7916)

Deprecations and Removals
-------------------------
 - twisted.cred.pamauth (providing PAM support) has been removed due
   to it being unusable in current supported Python versions. (#3728)
 - twisted.application.app.HotshotRunner (twistd's hotshot profiler
   module) is removed and twistd now uses cProfile by default. (#5137)
 - twisted.python.win32.getProgramsMenuPath and
   twisted.python.win32.getProgramFilesPath are now deprecated.
   (#7883)
 - twisted.lore has now been removed, in preference to Sphinx. (#7892)
 - Deprecated zsh tab-complete files are now removed in preference to
   twisted.python.usage's tab-complete functionality. (#7898)
 - twisted.python.hashlib, deprecated since 13.1, has now been
   removed. (#7905)
 - twisted.trial.runner.DryRunVisitor, deprecated in Twisted 13.0, has
   now been removed. (#7919)
 - twisted.trial.util.getPythonContainers, deprecated since Twisted
   12.3, is now removed. (#7920)
 - Twisted no longer supports being packaged as subprojects. (#7964)

Other
-----
 - #6136, #7035, #7803, #7817, #7827, #7844, #7876, #7906, #7908,
   #7915, #7931, #7940, #7967, #7983


Twisted Conch 15.3.0 (2015-08-04)
=================================

Bugfixes
--------
 - The Conch Unix server now sets the HOME environment variable when
   executing commands. (#7936)

Other
-----
 - #7937

Twisted Web 15.3.0 (2015-08-04)
===============================

Features
--------
 - twisted.web.xmlrpc is now ported to Python 3. (#7795)
 - twisted.web.template and twisted.web.util are now ported to Python
   3. (#7811)
 - twisted.web.error is now ported to Python 3. (#7845)

Deprecations and Removals
-------------------------
 - twisted.web.html is now deprecated in favor of
   twisted.web.template. (#4948)

Other
-----
 - #7895, #7942, #7949, #7952, #7975
2015-08-14 20:26:32 +00:00
wiz
716add3f2c Update to 15.2.1:
Twisted Core 15.2.1 (2015-05-23)
================================

Bugfixes
--------
 - twisted.logger now marks the `isError` key correctly on legacy
   events generated by writes to stderr. (#7903)

Improved Documentation
----------------------
 - twisted.logger's documentation is now correctly listed in the table
   of contents. (#7904)
2015-05-31 13:17:12 +00:00
wiz
95711010ab Update to 15.2.0:
Twisted Core 15.2.0 (2015-05-18)
================================

Features
--------
 - twisted.internet.process has now been ported to Python 3. (#5987)
 - twisted.cred.credentials is now ported to Python 3. (#6176)
 - twisted.trial.unittest.TestCase's assertEqual, assertTrue, and
   assertFalse methods now pass through the standard library's more
   informative failure messages. (#6306)
 - The new package twisted.logger provides a new, fully tested, and
   feature-rich logging framework. The old module twisted.python.log
   is now implemented using the new framework. The new logger HOWTO
   documents the new framework. (#6750)
 - twisted.python.modules is now ported to Python 3. (#7804)
 - twisted.python.filepath.FilePath now supports Unicode (text) paths.
   Like the os module, instantiating it with a Unicode path will
   return a Unicode-mode FilePath, instantiating with a bytes path
   will return a bytes-mode FilePath. (#7805)
 - twisted.internet.kqreactor is now ported to Python 3 (#7823)
 - twisted.internet.endpoints.ProcessEndpoint is now ported to Python
   3. (#7824)
 - twisted.python.filepath.FilePath now has asBytesMode and asTextMode
   methods which return a FilePath in the requested mode. (#7830)
 - twisted.python.components.proxyForInterface now creates method
   proxies that can be used with functools.wraps. (#7832)
 - The tls optional dependency will now also install the idna package
   to validate idna2008 names. (#7853)

Bugfixes
--------
 - Don't raise an exception if `DefaultLogObserver.emit()` gets an
   event with a message that raises when `repr()` is called on it.
   Specifically: use `textFromEventDict()` instead of a separate (and
   inferior) message rendering implementation. (#6569)
 - twisted.cred.credentials.DigestedCredentials incorrectly handled
   md5-sess hashing according to the RFC, which has now been fixed.
   (#7835)
 - Fixed an issue with twisted.internet.task.LoopingCall.withCount
   where sometimes the passed callable would be invoked with "0" when
   we got close to tricky floating point boundary conditions. (#7836)
 - twisted.internet.defer now properly works with the new logging
   system. (#7851)
 - Change `messages` key to `log_io` for events generated by
   `LoggingFile`. (#7852)
 - twisted.logger had literal characters in docstrings that are now
   quoted. (#7854)
 - twisted.logger now correctly formats a log event with a key named
   `message` when passed to a legacy log observer. (#7855)
 - twisted.internet.endpoints.HostnameEndpoint now uses getaddrinfo
   properly on Python 3.4 and above. (#7886)

Improved Documentation
----------------------
 - Fix a typo in narrative documentation for logger (#7875)

Deprecations and Removals
-------------------------
 - tkunzip and tapconvert in twisted.scripts were deprecated in 11.0
   and 12.1 respectively, and are now removed. (#6747)
 - twisted.protocols.gps is deprecated in preference to
   twisted.positioning. (#6810)
 - twisted.scripts.tap2deb and twisted.scripts.tap2rpm are now
   deprecated. (#7682)
 - twisted.trial.reporter.TestResult and
   twisted.trial.reporter.Reporter contained deprecated methods (since
   8.0) which have now been removed. (#7815)

Other
-----
 - #6027, #7287, #7701, #7727, #7758, #7776, #7786, #7812, #7819,
   #7831, #7838, #7865, #7866, #7869, #7872, #7877, #7878, #7885


Twisted Conch 15.2.0 (2015-05-18)
=================================

Features
--------
 - twisted.conch.ssh.forwarding now supports local->remote forwarding
   of IPv6 (#7751)


Twisted Mail 15.2.0 (2015-05-18)
================================

Features
--------
 - twisted.mail.smtp.sendmail now uses ESMTP. It will
   opportunistically enable encryption and allow the use of
   authentication. (#7257)


Twisted Web 15.2.0 (2015-05-18)
===============================

Features
--------
 - twisted.web.static is now ported to Python 3. (#6177)
 - twisted.web.server.Site accepts requestFactory as constructor
   argument. (#7016)

Deprecations and Removals
-------------------------
 - twisted.web.util had some HTML generation functions deprecated
   since 12.1 that have now been removed. (#7828)

Other
-----
 - #6927, #7797, #7802, #7846


Twisted Words 15.2.0 (2015-05-18)
=================================

Bugfixes
--------
 - The resumeOffset argument to
   twisted.words.protocol.irc.DccFileReceive now works as it is
   documented. (#7775)
2015-05-28 07:15:53 +00:00
wiz
cd31f5374c Update to 15.1.0:
Twisted Core 15.1.0 (2015-04-02)
================================

Features
--------
 - Optional dependencies can be installed using the extra_requires
   facility provided by setuptools. (#3696)

Improved Documentation
----------------------
 - Twisted Trial's basics documentation now has a link to the
   documentation about how Trial finds tests. (#4526)

Deprecations and Removals
-------------------------
 - twisted.application.internet.UDPClient, deprecated since Twisted
   13.1.0, has been removed. (#7702)

Other
-----
 - #6988, #7005, #7006, #7007, #7008, #7044, #7335, #7666, #7723,
   #7724, #7725, #7748, #7763, #7765, #7766, #7768


Twisted Mail 15.1.0 (2015-04-02)
================================

Bugfixes
--------
 - twisted.mail.smtp.ESMTPClient now does not fall back to plain SMTP
   if authentication or TLS is required and not able to occur. (#7258)

Other
-----
 - #6705


Twisted Names 15.1.0 (2015-04-02)
=================================

No significant changes have been made for this release.

Other
-----
 - #7728


Twisted Runner 15.1.0 (2015-04-02)
==================================

No significant changes have been made for this release.

Other
-----
 - #7726


Twisted Web 15.1.0 (2015-04-02)
===============================

Features
--------
 - twisted.web.static.File allows defining a custom resource for
   rendering forbidden pages. (#6951)

Other
-----
 - #7000, #7485, #7750, #7762


Twisted Words 15.1.0 (2015-04-02)
=================================

Deprecations and Removals
-------------------------
 - twisted.words.protocols.msn is now deprecated (#6395)

Other
-----
 - #6494
2015-04-19 18:27:38 +00:00
wiz
fe0d9a87aa Remove more references to python-2.6. 2015-04-14 11:40:31 +00:00
wiz
d5b0364385 Update to 15.0.0:
Twisted Core 15.0.0 (2015-01-24)
================================

Features
--------
 - twisted.internet.protocol.ClientFactory (and subclasses) may now
   return None from buildProtocol to immediately close the connection.
   (#710)
 - twisted.trial.unittest.SynchronousTestCase.assertRaises can now
   return a context manager. (#5339)
 - Implementations of
   twisted.internet.interfaces.IStreamClientEndpoint included in
   Twisted itself will now handle None being returned from the client
   factory's buildProtocol method by immediately closing the
   connection and firing the waiting Deferred with a Failure. (#6976)
 - inlineCallbacks now supports using the return statement with a
   value on Python 3 (#7624)
 - twisted.spread.banana.Banana.sendEncoded() now raises a more
   informative error message if the user tries to encode objects of
   unsupported type. (#7663)

Bugfixes
--------
 - twisted.internet.interfaces.IReactorMulticast.listenMultiple works
   again RHEL 6's python 2.6. (#7159)
 - Allow much more of the code within Twisted to use ProcessEndpoint
   by adding IPushProducer and IConsumer interfaces to its resulting
   transport. (#7436)
 - twisted.internet.ssl.Certificate(...).getPublicKey().keyHash() now
   produces a stable value regardless of OpenSSL version.
   Unfortunately this means that it is different than the value
   produced by older Twisted versions. (#7651)
 - twisted.python.reflect.safe_str on Python 3 converts utf-8 encoded
   bytes to clean str instead of "b'a'" (#7660)
 - twisted.spread.banana.Banana now raises NotImplementedError when
   receiving pb messages without pb being the selected dialect (#7662)
 - The SSL server string endpoint parser
   (twisted.internet.endpoints.serverFromString) now constructs
   endpoints which, by default, disable the insecure SSLv3 protocol.
   (#7684)
 - The SSL client string endpoint parser
   (twisted.internet.endpoints.clientFromString) now constructs
   endpoints which, by default, disable the insecure SSLv3 protocol.
   (#7686)

Improved Documentation
----------------------
 - inlineCallbacks now has introductory documentation. (#1009)
 - The echoclient example now uses twisted.internet.task.react.
   (#7083)
 - Twisted Trial's how-to documentation now has a link to Twisted's
   contribution guidelines and has been reformatted. (#7475)
 - Fixed a path error in the make.bat file for building Sphinx
   documentation, so that it is now possible to build the documenation
   using make.bat on Windows. (#7542)

Deprecations and Removals
-------------------------
 - twisted.python.filepath.FilePath.statinfo was deprecated. (#4450)
 - twisted.internet.defer.deferredGenerator is now deprecated.
   twisted.internet.defer.inlineCallbacks should be used instead.
   (#6044)
 - Pickling twisted.internet.ssl.OptionSSLCertificationOptions and
   twisted.internet.ssl.Keypair is no longer supported. __getstate__
   and __setstate__ methods of these classes have been deprecated.
   (#6166)
 - twisted.spread.jelly's support for unjellying "instance" atoms is
   now deprecated. (#7653)

Other
-----
 - #3404, #4711, #5730, #6042, #6626, #6947, #6953, #6989, #7032,
   #7038, #7039, #7097, #7098, #7142, #7143, #7154, #7155, #7156,
   #7157, #7158, #7160, #7161, #7162, #7164, #7165, #7176, #7234,
   #7252, #7329, #7333, #7355, #7369, #7370, #7419, #7529, #7531,
   #7534, #7537, #7538, #7620, #7621, #7633, #7636, #7637, #7638,
   #7640, #7641, #7642, #7643, #7665, #7667, #7713, #7719


Twisted Conch 15.0.0 (2015-01-24)
=================================

Features
--------
 - The new APIs: twisted.conch.checkers.IAuthorizedKeysDB,
   twisted.conch.checkers.InMemorySSHKeyDB,
   twisted.conch.checkers.UNIXAuthorizedKeyFiles, and
   twisted.conch.checkers.SSHPublicKeyChecker have been added to
   provide functionality to check the validity of SSH public keys and
   specify where authorized keys are to be found. (#7144)

Deprecations and Removals
-------------------------
 - twisted.conch.checkers.SSHPublicKeyDatabase is now deprecated in
   favor of a twisted.conch.checkers.SSHPublicKeyChecker instantiated
   with a twisted.conch.checkers.UNIXAuthorizedKeyFiles. (#7144)

Other
-----
 - #6626, #7002, #7526, #7532, #7698


Twisted Lore 15.0.0 (2015-01-24)
================================

No significant changes have been made for this release.


Twisted Mail 15.0.0 (2015-01-24)
================================

No significant changes have been made for this release.

Other
-----
 - #6999, #7708


Twisted Names 15.0.0 (2015-01-24)
=================================

Bugfixes
--------
 - twisted.names.secondary.SecondaryAuthority can now answer queries
   again (broken since 13.2.0). (#7408)

Other
-----
 - #7352


Twisted News 15.0.0 (2015-01-24)
================================

No significant changes have been made for this release.

Other
-----
 - #7703


Twisted Pair 15.0.0 (2015-01-24)
================================

No significant changes have been made for this release.

Other
-----
 - #7722


Twisted Runner 15.0.0 (2015-01-24)
==================================

No significant changes have been made for this release.


Twisted Web 15.0.0 (2015-01-24)
===============================

Features
--------
 - twisted.web.client.Agent.usingEndpointFactory allows creating an
   Agent that connects in non-standard ways, e.g. via a proxy or a
   UNIX socket. (#6634)
 - The Deferred returned by twisted.web.client.readBody can now be
   cancelled. (#6686)

Deprecations and Removals
-------------------------
 - twisted.web.iweb.IRequest.getClient is now deprecated.  Its
   implementation in Twisted, twisted.web.http.Request.getClient, is
   also deprecated and will no longer attempt to resolve the client IP
   address to a hostname. (#2252)

Other
-----
 - #7247, #7302, #7680, #7689


Twisted Words 15.0.0 (2015-01-24)
=================================

No significant changes have been made for this release.

Other
-----
 - #6994, #7163, #7622
2015-02-01 19:55:19 +00:00
wiz
9723675b46 Update to 14.0.2. To quote upstream:
"No significant changes have been made for this release."
To my understanding, a test has been fixed.
2014-10-01 12:44:34 +00:00
wiz
c7881c8b13 Update to 14.0.1 -- security update:
On behalf of Twisted Matrix Laboratories, Iâm releasing Twisted
14.0.1, a security release for Twisted 14.0. It is strongly suggested
that users of 14.0.0 upgrade to this release.

This patches a bug in Twisted Webâs Agent, where BrowserLikePolicyForHTTPS
would not honour the trust root given, and would use the system
trust root instead. This would have broken, for example, attempting
to pin the issuer for your HTTPS application because you only trust
one issuer.

Note: on OS X, with the system OpenSSL, you still can't fully rely
on this API for issuer pinning, due to modifications by Apple â
please see https://hynek.me/articles/apple-openssl-verification-surprises/
for more details.
2014-09-17 22:41:06 +00:00
wiz
c32830409c Restore file for python-2.6 build. 2014-07-22 22:33:56 +00:00
wiz
a9a6db78a3 Update to 14.0.0.
Some parts are ported to python-3, but most parts not, so leave
it disabled for now.

Twisted Core 14.0.0 (2014-05-08)
================================

Features
--------
 - twisted.internet.interfaces.IUDPTransport - and that interface's
   implementations in Twisted - now supports enabling broadcasting.
   (#454)
 - trial's TestCase will now report a test method as an error if that
   test method is a generator function, preventing an issue when a
   user forgets to decorate a test method with defer.inlineCallbacks,
   causing the test method to not run. (#3917)
 - twisted.positioning, a new API for positioning systems such as GPS,
   has been added. It comes with an implementation of NMEA, the most
   common wire protocol for GPS devices. It will supersede
   twisted.protoocols.gps. (#3926)
 - The new interface twisted.internet.interfaces.IStreamClientEndpoint
   StringParserWithReactor will supply the reactor to its
   parseStreamClient method, passed along from
   twisted.internet.endpoints.clientFromString. (#5069)
 - IReactorUDP.listenUDP, IUDPTransport.write and
   IUDPTransport.connect now accept ipv6 address literals. (#5086)
 - A new API, twisted.internet.ssl.optionsForClientTLS, allows clients
   to specify and verify the identity of the peer they're communicating
   with.  When used with the service_identity library from PyPI, this
   provides support for service identity verification from RFC 6125, as
   well as server name indication from RFC 6066. (#5190)
 - Twisted's TLS support now provides a way to ask for user-configured
   trust roots rather than having to manually configure such
   certificate authority certificates yourself.
   twisted.internet.ssl.CertificateOptions now accepts a new argument,
   trustRoot, which combines verification flags and trust sources, as
   well as a new function that provides a value for that argument,
   twisted.internet.ssl.platformTrust, which allows using the trusted
   platform certificate authorities from OpenSSL for certificate
   verification. (#5446)
 - Constants are now comparable/orderable based on the order in which
   they are defined. (#6523)
 - "setup.py install" and "pip install" now work on Python 3.3,
   installing the subset of Twisted that has been ported to Python 3.
   (#6539)
 - twisted.internet.ssl.CertificateOptions now supports ECDHE for
   servers by default on pyOpenSSL 0.14 and later, if the underlying
   versions of cryptography.io and OpenSSL support it. (#6586)
 - twisted.internet.ssl.CertificateOptions now allows the user to set
   acceptable ciphers and uses secure ones by default. (#6663)
 - The Deferred returned by
   twisted.internet.defer.DeferredFilesystemLock.deferUntilLocked can
   now be cancelled. (#6720)
 - twisted.internet.ssl.CertificateOptions now enables TLSv1.1 and
   TLSv1.2 by default (in addition to TLSv1.0) if the underlying
   version of OpenSSL supports these protocol versions. (#6772)
 - twisted.internet.ssl.CertificateOptions now supports Diffie-Hellman
   key exchange. (#6799)
 - twisted.internet.ssl.CertificateOptions now disables TLS
   compression to avoid CRIME attacks and, for servers, uses server
   preference to choose the cipher. (#6801)
 - SSL server endpoint string descriptions now support the
   specification of Diffie-Hellman key exchange parameter files.
   (#6924)
 - twisted.python.reflect.requireModule was added to handle
   conditional imports of python modules and work around pyflakes
   warnings of unused imports code. (#7014)

Bugfixes
--------
 - If a ProcessProtocol.processExited method raised an exception a
   broken process handler would be left in the global process state
   leading to errors later on. This has been fixed and now an error
   will be logged instead. (#5151)
 - Twisted now builds on Solaris. Note that lacking a Buildbot slave
   (see http://buildbot.twistedmatrix.com/boxes-supported) Solaris is
   not a supported Twisted platform. (#5728)
 - twisted.internet.utils is now correctly installed on Python 3.
   (#6929)
 - twisted.python.threadpool.ThreadPool no longer starts new workers
   when its pool size is changed while the pool is not running.
   (#7011)

Improved Documentation
----------------------
 - Twisted now uses the Sphinx documentation generator for its
   narrative documentation, which means that the source format for
   narrative documentation has been converted to ReStructuredText.
   (#4500)
 - The Sphinx documentation is now also configured to allow
   intersphinx links to standard library documentation. (#4582)
 - The docstring for twisted.internet.task.react now better documents
   the main parameter (#6071)
 - The writing standard now explicitly mandates the usage of
   ungendered pronouns. (#6858)

Deprecations and Removals
-------------------------
 - test_import.py was removed as it was redundant. (#2053)
 - Support for versions of pyOpenSSL older than 0.10 has been removed.
   Affected users should upgrade pyOpenSSL. (#5014)
 - twisted.internet.interfaces.IStreamClientEndpointStringParser is
   now deprecated in favor of twisted.internet.interfaces.IStreamClien
   tEndpointStringParserWithReactor. (#5069)
 - unsignedID and setIDFunction, previously part of
   twisted.python.util and deprecated since 13.0, have now been
   removed. (#6707)
 - FTPClient.changeDirectory was deprecated in 8.2 and is now removed.
   (#6759)
 - twisted.internet.stdio.StandardIO.closeStdin, an alias for
   loseWriteConnection only available on POSIX and deprecated since
   2.1, has been removed. (#6785)
 - twisted.python.reflect.getcurrent is now deprecated and must not be
   used. twisted.python.reflect.isinst is now deprecated in favor of
   the built-in isinstance. (#6859)

Other
-----
 - #1822, #5929, #6239, #6537, #6565, #6614, #6632, #6690, #6784,
   #6792, #6795, #6821, #6843, #6846, #6854, #6856, #6857, #6872,
   #6892, #6902, #6906, #6922, #6926, #6936, #6941, #6942, #6943,
   #6944, #6945, #6946, #6948, #6979, #7001, #7049, #7051, #7094,
   #7098


Twisted Conch 14.0.0 (2014-05-08)
=================================

Improved Documentation
----------------------
 - The docstring for twisted.conch.ssh.userauth.SSHUserAuthClient is
   now clearer on how the preferredOrder instance variable is handled.
   (#6850)

Other
-----
 - #6696, #6807, #7054


Twisted Lore 14.0.0 (2014-05-08)
================================

Deprecations and Removals
-------------------------
 - twisted.lore is now deprecated in favor of Sphinx. (#6907)

Other
-----
 - #6998


Twisted Mail 14.0.0 (2014-05-08)
================================

Improved Documentation
----------------------
 - twisted.mail.alias now has full API documentation. (#6637)
 - twisted.mail.tap now has full API documentation. (#6648)
 - twisted.mail.maildir now has full API documentation. (#6651)
 - twisted.mail.pop3client now has full API documentation. (#6653)
 - twisted.mail.protocols now has full API documentation.  (#6654)
 - twisted.mail.pop now has full API documentation. (#6666)
 - twisted.mail.relay and twisted.mail.relaymanager now have full API
   documentation. (#6739)
 - twisted.mail.pop3client public classes now appear as part of the
   twisted.mail.pop3 API. (#6761)

Other
-----
 - #6696


Twisted Names 14.0.0 (2014-05-08)
=================================

Features
--------
 - twisted.names.root.Resolver now accepts a resolverFactory argument,
   which makes it possible to control how root.Resolver performs
   iterative queries to authoritative nameservers. (#6095)
 - twisted.names.dns.Message now has a repr method which shows only
   those instance flags, fields and sections which are set to non-
   default values. (#6847)
 - twisted.names.dns.Message now support rich comparison. (#6848)

Bugfixes
--------
 - twisted.names.server.DNSServerFactory now responds with messages
   whose flags and fields are reset to their default values instead of
   copying these from the request. This means that AD and CD flags,
   and EDNS OPT records in the request are no longer mirrored back to
   the client. (#6645)

Improved Documentation
----------------------
 - twisted.names now has narrative documentation showing how to create
   a custom DNS server. (#6864)
 - twisted.names.server now has full API documentation. (#6886)
 - twisted.names now has narrative documentation explaining how to use
   its client APIs. (#6925)
 - twisted.names now has narrative documentation and examples showing
   how to perform reverse DNS lookups. (#6969)

Other
-----
 - #5675, #6222, #6672, #6696, #6887, #6940, #6975, #6990


Twisted News 14.0.0 (2014-05-08)
================================

No significant changes have been made for this release.

Other
-----
 - #6991


Twisted Pair 14.0.0 (2014-05-08)
================================

Features
--------
 - twisted.pair.tuntap now has complete test coverage, basic
   documentation, and works without the difficult-to-find system
   bindings it used to require. (#6169)

Other
-----
 - #6898, #6931, #6993


Twisted Runner 14.0.0 (2014-05-08)
==================================

No significant changes have been made for this release.

Other
-----
 - #6992


Twisted Web 14.0.0 (2014-05-08)
===============================

Features
--------
 - twisted.web.http.proxiedLogFormatter can now be used with
   twisted.web.http.HTTPFactory (and subclasses) to record X
   -Forwarded-For values to the access log when the HTTP server is
   deployed behind a reverse proxy. (#1468)
 - twisted.web.client.Agent now uses
   twisted.internet.ssl.CertificateOptions for SSL/TLS and benefits
   from its continuous improvements. (#6893)

Bugfixes
--------
 - twisted.web.client.Agent now correctly manage flow-control on
   pooled connections, and therefore requests will no longer hang
   sometimes when deliverBody is not called synchronously within the
   callback on Request. (#6751)
 - twisted.web.client.Agent now verifies that the provided server
   certificate in a TLS connection is trusted by the platform. (#7042)
 - When requesting an HTTPS URL with twisted.web.client.Agent, the
   hostname of the presented certificate will be checked against the
   requested hostname; mismatches will now result in an error rather
   than a man-in-the-middle opportunity for attackers.  This may break
   existing code that incorrectly depended on insecure behavior, but
   such code was erroneous and should be updated.  (#4888)

Other
-----
 - #5004, #6881, #6956


Twisted Words 14.0.0 (2014-05-08)
=================================

Bugfixes
--------
 - twisted.words.protocols.jabber.sasl_mechansisms.DigestMD5 now works
   with unicode arguments. (#5066)

Other
-----
 - #6696
2014-07-22 12:08:14 +00:00
wiz
c1b44346cd Mark packages that are not ready for python-3.3 also not ready for 3.4,
until proven otherwise.
2014-05-09 07:36:53 +00:00
wiz
d8befb242e Remove python-2.5 reference. 2014-01-27 18:49:19 +00:00
wiz
aa67e11089 Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE=  33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE=  33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.

Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.

Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.

Whitespace cleanups and other nits corrected, where necessary.
2014-01-25 10:29:56 +00:00
adam
3ab07fe868 Changes 13.2.0:
* Twisted now includes a HostnameEndpoint implementation which uses IPv4 and IPv6 in parallel, speeding up the connection by using whichever connects first (the 'Happy Eyeballs'/RFC 6555 algorithm).
* Improved support for Cancellable Deferreds by kaizhang, our GSoC student.
* Improved Twisted.Mail documentation by shira, our Outreach Program for Women intern.
* twistd now waits for the application to start successfully before exiting after daemonization.
* SSL server endpoint string descriptions now support the specification of chain certificates.
* Over 70 closed tickets since 13.1.0.
2013-11-13 07:06:58 +00:00
adam
8e65477e82 Changes 13.1.0:
- trial now has an --exitfirst flag which stops the test run after
  the first error or failure.
- twisted.internet.ssl.CertificateOptions now supports chain
  certificates.
- twisted.internet.endpoints now provides ProcessEndpoint, a child
  process endpoint.
- Factory now has a forProtocol classmethod that constructs an
  instance and sets its protocol attribute.
- twisted.internet.endpoints.connectProtocol allows connecting to a
  client endpoint using only a protocol instance, rather than
  requiring a factory.
- twisted.trial.unittest.SynchronousTestCase.assertNoResult no longer
  swallows the result, if the assertion succeeds.
- twisted.python.constants.FlagConstant implements __iter__ so that
  it can be iterated upon to find the flags that went into a flag
  set, and implements __nonzero__ to test as false when empty.
- assertIs and assertIsNot have now been added to
  twisted.trial.unittest.TestCase.
- twisted.trial.unittest.TestCase.failureResultOf now takes an
  optional expected failure type argument.
- The POSIX implementation of
  twisted.internet.interfaces.IReactorProcess now does not change the
  parent process UID or GID in order to run child processes with a
  different UID or GID.
2013-08-13 17:47:41 +00:00
gdt
cd59a79ba5 Use -f when removing files pre-install.
Otherwise, they might not be there if install is done twice (e.g.,
while debugging PLIST).
2013-02-27 15:59:59 +00:00
gdt
bba36ef79a Conditionally include a file in PLIST.
In python 2.6 (and presumably earlier), but not in 2.7, twisted
creates a file _initgroups.so.
2013-02-27 15:59:07 +00:00
markd
7867f96ae4 No special linux files in latest py-twisted. 2013-02-24 05:35:48 +00:00
jperkin
0f5dc61d50 Fix build on SunOS. 2013-02-22 19:35:30 +00:00