[Python-modules-commits] [twisted] 05/06: Imported Upstream version 16.4.1

Free Ekanayaka freee at moszumanska.debian.org
Wed Oct 19 18:55:02 UTC 2016


This is an automated email from the git hooks/post-receive script.

freee pushed a commit to branch master
in repository twisted.

commit e0abaf77451c446ceaa882b20d3578a4641f1c8d
Author: Free Ekanayaka <free.ekanayaka at gmail.com>
Date:   Wed Oct 19 18:22:41 2016 +0000

    Imported Upstream version 16.4.1
---
 .coveragerc                                        |    1 +
 CONTRIBUTING                                       |    6 +-
 LICENSE                                            |    1 +
 MANIFEST.in                                        |   15 +-
 NEWS                                               |  353 +-
 PKG-INFO                                           |    3 +-
 README.rst                                         |   19 +-
 Twisted.egg-info/PKG-INFO                          |    3 +-
 Twisted.egg-info/SOURCES.txt                       |   33 +-
 Twisted.egg-info/entry_points.txt                  |   11 +
 Twisted.egg-info/requires.txt                      |   12 +-
 bin/cftp                                           |   15 -
 bin/ckeygen                                        |   15 -
 bin/conch                                          |   15 -
 bin/mailmail                                       |   20 -
 bin/pyhtmlizer                                     |   12 -
 bin/tkconch                                        |   15 -
 bin/trial                                          |   22 -
 bin/twistd                                         |   18 -
 docs/conch/examples/sshsimpleserver.py             |    5 +-
 docs/conch/howto/conch_client.rst                  |    2 +-
 docs/conch/man/cftp.1                              |    7 +-
 docs/conch/man/ckeygen.1                           |    2 +-
 docs/conch/man/conch.1                             |    2 +-
 docs/conch/man/tkconch.1                           |    2 +-
 docs/conf.py                                       |    2 +-
 docs/core/benchmarks/banana.py                     |    3 +-
 docs/core/benchmarks/deferreds.py                  |    5 +-
 docs/core/benchmarks/failure.py                    |    8 +-
 docs/core/benchmarks/linereceiver.py               |   10 +-
 docs/core/benchmarks/netstringreceiver.py          |    9 +-
 docs/core/benchmarks/task.py                       |    3 +-
 docs/core/benchmarks/timer.py                      |    3 +-
 docs/core/benchmarks/tpclient.py                   |    3 +-
 docs/core/benchmarks/tpclient_nt.py                |    3 +-
 docs/core/benchmarks/tpserver_nt.py                |    3 +-
 docs/core/development/policy/coding-standard.rst   |   11 +-
 .../development/policy/compatibility-policy.rst    |    2 +-
 docs/core/development/policy/release-process.rst   |   66 +-
 docs/core/development/policy/test-standard.rst     |    6 +-
 docs/core/development/policy/writing-standard.rst  |    8 +-
 docs/core/examples/courier.py                      |   30 +-
 docs/core/examples/cred.py                         |   14 +-
 docs/core/examples/dbcred.py                       |    5 +-
 docs/core/examples/filewatch.py                    |    2 +-
 docs/core/examples/pbbenchserver.py                |    5 +-
 docs/core/examples/pbecho.py                       |    5 +-
 docs/core/examples/ptyserv.py                      |    2 +-
 docs/core/examples/recvfd.py                       |    4 +-
 docs/core/examples/streaming.py                    |    5 +-
 docs/core/examples/tls_alpn_npn_client.py          |    2 +-
 docs/core/howto/amp.rst                            |    5 +-
 docs/core/howto/cred.rst                           |   12 +-
 docs/core/howto/defer-intro.rst                    |   62 +
 docs/core/howto/defer.rst                          |    2 +-
 docs/core/howto/dirdbm.rst                         |    4 +-
 docs/core/howto/glossary.rst                       |    2 +-
 docs/core/howto/listings/TwistedQuotes/quoters.py  |   14 +-
 docs/core/howto/listings/amp/command_client.py     |    3 +-
 docs/core/howto/listings/logger/analyze.py         |    2 +
 docs/core/howto/listings/logger/loader-math.py     |    2 +
 docs/core/howto/listings/pb/cache_classes.py       |   10 +-
 docs/core/howto/listings/pb/cache_receiver.py      |    8 +-
 docs/core/howto/listings/pb/chatclient.py          |    8 +-
 docs/core/howto/listings/pb/chatserver.py          |    4 +-
 docs/core/howto/listings/pb/copy2_receiver.py      |    6 +-
 docs/core/howto/listings/pb/copy2_sender.py        |   12 +-
 docs/core/howto/listings/pb/copy_receiver.tac      |    6 +-
 docs/core/howto/listings/pb/copy_sender.py         |   14 +-
 docs/core/howto/listings/pb/exc_client.py          |   12 +-
 docs/core/howto/listings/pb/exc_server.py          |    6 +-
 docs/core/howto/listings/pb/pb1client.py           |   12 +-
 docs/core/howto/listings/pb/pb1server.py           |    6 +-
 docs/core/howto/listings/pb/pb2client.py           |   12 +-
 docs/core/howto/listings/pb/pb2server.py           |   12 +-
 docs/core/howto/listings/pb/pb3client.py           |    8 +-
 docs/core/howto/listings/pb/pb3server.py           |    6 +-
 docs/core/howto/listings/pb/pb4client.py           |   14 +-
 docs/core/howto/listings/pb/pb5client.py           |    6 +-
 docs/core/howto/listings/pb/pb5server.py           |    8 +-
 docs/core/howto/listings/pb/pb6client1.py          |    6 +-
 docs/core/howto/listings/pb/pb6client2.py          |    6 +-
 docs/core/howto/listings/pb/pb6server.py           |    8 +-
 docs/core/howto/listings/pb/pb7client.py           |    6 +-
 docs/core/howto/listings/pb/pbAnonClient.py        |    6 +-
 docs/core/howto/listings/pb/pbAnonServer.py        |   11 +-
 docs/core/howto/listings/pb/trap_client.py         |   28 +-
 docs/core/howto/listings/positioning/nmealogger.py |    4 +-
 docs/core/howto/listings/process/process.py        |   24 +-
 docs/core/howto/listings/process/trueandfalse.py   |    6 +-
 .../howto/listings/ssl/check_echo_certificate.py   |    5 +-
 docs/core/howto/listings/udp/MulticastClient.py    |    2 +
 docs/core/howto/listings/udp/MulticastServer.py    |    2 +
 .../core/howto/listings/udp/adopt_datagram_port.py |    2 +
 docs/core/howto/listings/udp/basic_example.py      |    2 +
 docs/core/howto/listings/udp/connected_udp.py      |    4 +-
 docs/core/howto/listings/udp/getting_ip.py         |    2 +
 docs/core/howto/listings/udp/ipv6_listen.py        |    2 +
 docs/core/howto/pb-clients.rst                     |   24 +-
 docs/core/howto/plugin.rst                         |    5 +-
 docs/core/howto/tap.rst                            |    6 +-
 docs/core/howto/tutorial/client.rst                |    7 +
 docs/core/howto/tutorial/components.rst            |    2 +-
 docs/core/howto/tutorial/factory.rst               |   17 +-
 docs/core/howto/tutorial/intro.rst                 |   54 +-
 docs/core/howto/tutorial/library.rst               |    6 +-
 .../tutorial/listings/finger/finger/finger.py      |   67 +-
 .../howto/tutorial/listings/finger/finger02.py     |    5 +-
 .../howto/tutorial/listings/finger/finger03.py     |    5 +-
 .../howto/tutorial/listings/finger/finger04.py     |    5 +-
 .../howto/tutorial/listings/finger/finger05.py     |    5 +-
 .../howto/tutorial/listings/finger/finger06.py     |    5 +-
 .../howto/tutorial/listings/finger/finger07.py     |    5 +-
 .../howto/tutorial/listings/finger/finger08.py     |    5 +-
 .../howto/tutorial/listings/finger/finger09.py     |    5 +-
 .../howto/tutorial/listings/finger/finger10.py     |    9 +-
 .../howto/tutorial/listings/finger/finger11.tac    |    4 +-
 .../howto/tutorial/listings/finger/finger12.tac    |   10 +-
 .../howto/tutorial/listings/finger/finger13.tac    |    6 +-
 .../howto/tutorial/listings/finger/finger14.tac    |   15 +-
 .../howto/tutorial/listings/finger/finger15.tac    |   17 +-
 .../howto/tutorial/listings/finger/finger16.tac    |   26 +-
 .../howto/tutorial/listings/finger/finger17.tac    |   26 +-
 .../howto/tutorial/listings/finger/finger18.tac    |   26 +-
 .../howto/tutorial/listings/finger/finger19.tac    |   44 +-
 .../howto/tutorial/listings/finger/finger19a.tac   |   37 +-
 .../tutorial/listings/finger/finger19a_changes.py  |    6 +-
 .../howto/tutorial/listings/finger/finger19b.tac   |   50 +-
 .../tutorial/listings/finger/finger19b_changes.py  |    4 +-
 .../howto/tutorial/listings/finger/finger19c.tac   |   52 +-
 .../tutorial/listings/finger/finger19c_changes.py  |   10 +-
 .../howto/tutorial/listings/finger/finger20.tac    |   42 +-
 .../howto/tutorial/listings/finger/finger21.tac    |   47 +-
 .../howto/tutorial/listings/finger/finger22.py     |   63 +-
 .../tutorial/listings/finger/fingerPBclient.py     |   19 +-
 .../tutorial/listings/finger/fingerXRclient.py     |    4 +-
 .../tutorial/listings/finger/finger_config.py      |   19 +-
 .../howto/tutorial/listings/finger/fingerproxy.tac |   32 +-
 .../tutorial/listings/finger/organized-finger.tac  |   15 +-
 docs/core/howto/tutorial/protocol.rst              |   24 +-
 docs/fun/Twisted.Quotes                            |    1 -
 docs/historic/Quotes/Twisted-16.4                  |    5 +
 docs/installation/howto/optional.rst               |   12 +-
 docs/mail/examples/emailserver.tac                 |    5 +-
 docs/mail/examples/imap4client.py                  |   30 +-
 docs/mail/examples/smtpclient_simple.py            |    4 +-
 docs/mail/examples/smtpclient_tls.py               |   14 +-
 docs/mail/howto/sending-mail.rst                   |    2 +-
 docs/mail/man/mailmail.1                           |    2 +-
 docs/mail/tutorial/smtpclient/smtpclient-10.tac    |    3 +-
 docs/mail/tutorial/smtpclient/smtpclient-11.tac    |    3 +-
 docs/mail/tutorial/smtpclient/smtpclient-7.tac     |    3 +-
 docs/mail/tutorial/smtpclient/smtpclient-8.tac     |    3 +-
 docs/mail/tutorial/smtpclient/smtpclient-9.tac     |    3 +-
 docs/mail/tutorial/smtpclient/smtpclient.rst       |    4 +-
 docs/mail/tutorial/smtpserver/smtpserver-5.tac     |    2 +-
 docs/mail/tutorial/smtpserver/smtpserver-6.tac     |    2 +-
 docs/mail/tutorial/smtpserver/smtpserver-7.tac     |    2 +-
 docs/mail/tutorial/smtpserver/smtpserver-8.tac     |    2 +-
 docs/names/howto/client-tour.rst                   |    2 +-
 docs/names/howto/listings/names/reverse_lookup.py  |    2 +
 docs/pair/examples/pairudp.py                      |    4 +-
 docs/web/examples/advogato.py                      |    9 +-
 docs/web/examples/httpclient.py                    |   10 +-
 docs/web/examples/logging-proxy.py                 |    8 +-
 docs/web/examples/webguard.py                      |    5 +-
 docs/web/examples/xmlrpcclient.py                  |    8 +-
 docs/web/howto/client.rst                          |   57 +-
 docs/web/howto/listings/client/cookies.py          |   10 +-
 docs/web/howto/listings/client/filesendbody.py     |    4 +-
 docs/web/howto/listings/client/gzipdecoder.py      |    8 +-
 docs/web/howto/listings/client/request.py          |    4 +-
 docs/web/howto/listings/client/response.py         |   18 +-
 docs/web/howto/listings/client/responseBody.py     |   16 +-
 docs/web/howto/listings/client/sendbody.py         |    4 +-
 docs/web/howto/listings/client/stringprod.py       |    5 +-
 docs/web/howto/listings/iteration-1.py             |    4 +-
 docs/web/howto/listings/render_1.py                |    4 +-
 docs/web/howto/listings/render_2.py                |    4 +-
 docs/web/howto/listings/render_3.py                |    4 +-
 docs/web/howto/listings/render_quoting.py          |    4 +-
 docs/web/howto/listings/render_slots_attrs.py      |    4 +-
 docs/web/howto/listings/render_transparent.py      |    4 +-
 docs/web/howto/listings/subviews-1.py              |    4 +-
 docs/web/howto/listings/xmlAndSoapQuote.py         |    7 +-
 docs/web/howto/listings/xmlrpc-customized.py       |    4 +-
 docs/web/howto/using-twistedweb.rst                |  303 +-
 docs/web/howto/web-development.rst                 |   19 +-
 docs/web/howto/web-in-60/access-logging.rst        |    5 +-
 docs/web/howto/web-in-60/custom-codes.rst          |   24 +-
 docs/web/howto/web-in-60/dynamic-content.rst       |   32 +-
 docs/web/howto/web-in-60/dynamic-dispatch.rst      |   38 +-
 docs/web/howto/web-in-60/error-handling.rst        |   27 +-
 docs/web/howto/web-in-60/handling-posts.rst        |   36 +-
 docs/web/howto/web-in-60/http-auth.rst             |    9 +-
 docs/web/howto/web-in-60/other-request-bodies.rst  |   21 +-
 docs/web/howto/web-in-60/rpy-scripts.rst           |   16 +-
 docs/web/howto/web-in-60/session-endings.rst       |   43 +-
 docs/web/howto/web-in-60/session-store.rst         |   14 +-
 docs/web/howto/web-in-60/static-content.rst        |   12 +-
 docs/web/howto/web-in-60/static-dispatch.rst       |   30 +-
 docs/web/howto/xmlrpc.rst                          |   96 +-
 docs/words/examples/index.rst                      |    1 -
 docs/words/examples/ircLogBot.py                   |    2 +-
 docs/words/examples/jabber_client.py               |   39 -
 docs/words/examples/oscardemo.py                   |    2 +-
 docs/words/examples/xmpp_client.py                 |    4 +-
 setup.py                                           |   42 +-
 setup3.py                                          |   74 -
 tox.ini                                            |   91 +-
 twisted/_threads/_team.py                          |    4 +-
 twisted/_version.py                                |    2 +-
 twisted/application/app.py                         |   23 +-
 twisted/application/internet.py                    |    7 +-
 twisted/application/runner/__init__.py             |    7 +
 twisted/application/runner/_exit.py                |  138 +
 twisted/application/runner/_runner.py              |  244 +
 twisted/application/runner/test/__init__.py        |    7 +
 twisted/application/runner/test/test_exit.py       |  104 +
 twisted/application/runner/test/test_runner.py     |  460 ++
 twisted/application/service.py                     |   18 +-
 twisted/application/strports.py                    |    8 +-
 twisted/application/test/test_internet.py          |   25 +-
 twisted/application/twist/__init__.py              |    7 +
 twisted/application/twist/_options.py              |  194 +
 twisted/application/twist/_twist.py                |  141 +
 twisted/application/twist/test/__init__.py         |    7 +
 twisted/application/twist/test/test_options.py     |  370 +
 twisted/application/twist/test/test_twist.py       |  201 +
 twisted/conch/avatar.py                            |    5 +-
 twisted/conch/checkers.py                          |   23 +-
 twisted/conch/client/agent.py                      |    2 +-
 twisted/conch/client/connect.py                    |    2 +-
 twisted/conch/client/default.py                    |  150 +-
 twisted/conch/client/knownhosts.py                 |   90 +-
 twisted/conch/endpoints.py                         |   34 +-
 twisted/conch/insults/helper.py                    |   96 +-
 twisted/conch/insults/insults.py                   |  686 +-
 twisted/conch/insults/text.py                      |    8 +-
 twisted/conch/insults/window.py                    |  128 +-
 twisted/conch/interfaces.py                        |   12 +-
 twisted/conch/ls.py                                |   67 +-
 twisted/conch/manhole.py                           |   28 +-
 twisted/conch/manhole_ssh.py                       |    2 +-
 twisted/conch/manhole_tap.py                       |    6 +-
 twisted/conch/mixin.py                             |   18 +-
 twisted/conch/openssh_compat/primes.py             |    6 +-
 twisted/conch/recvline.py                          |   76 +-
 twisted/conch/scripts/cftp.py                      |   32 +-
 twisted/conch/scripts/ckeygen.py                   |    2 +-
 twisted/conch/scripts/conch.py                     |    2 +-
 twisted/conch/scripts/tkconch.py                   |    7 +-
 twisted/conch/ssh/_cryptography_backports.py       |   10 +-
 twisted/conch/ssh/_kex.py                          |   41 +-
 twisted/conch/ssh/address.py                       |    7 +-
 twisted/conch/ssh/agent.py                         |   64 +-
 twisted/conch/ssh/channel.py                       |   81 +-
 twisted/conch/ssh/connection.py                    |   97 +-
 twisted/conch/ssh/factory.py                       |   28 +-
 twisted/conch/ssh/filetransfer.py                  |  169 +-
 twisted/conch/ssh/forwarding.py                    |   26 +-
 twisted/conch/ssh/keys.py                          |   68 +-
 twisted/conch/ssh/service.py                       |    4 +-
 twisted/conch/ssh/session.py                       |   32 +-
 twisted/conch/ssh/transport.py                     |  107 +-
 twisted/conch/ssh/userauth.py                      |  117 +-
 twisted/conch/stdio.py                             |   39 +-
 twisted/conch/tap.py                               |    5 +-
 twisted/conch/telnet.py                            |  213 +-
 twisted/conch/test/keydata.py                      |   10 +-
 twisted/conch/test/loopback.py                     |   28 +
 twisted/conch/test/test_address.py                 |    3 +-
 twisted/conch/test/test_agent.py                   |   57 +-
 twisted/conch/test/test_cftp.py                    |   74 +-
 twisted/conch/test/test_channel.py                 |  124 +-
 twisted/conch/test/test_checkers.py                |   12 +-
 twisted/conch/test/test_conch.py                   |   55 +-
 twisted/conch/test/test_connection.py              |  272 +-
 twisted/conch/test/test_default.py                 |  174 +-
 twisted/conch/test/test_endpoints.py               |   66 +-
 twisted/conch/test/test_filetransfer.py            |  159 +-
 twisted/conch/test/test_forwarding.py              |    4 +-
 twisted/conch/test/test_helper.py                  |  327 +-
 twisted/conch/test/test_insults.py                 |  124 +-
 twisted/conch/test/test_keys.py                    |    2 +-
 twisted/conch/test/test_knownhosts.py              |  364 +-
 twisted/conch/test/test_manhole.py                 |   24 +-
 twisted/conch/test/test_mixin.py                   |    8 +-
 twisted/conch/test/test_openssh_compat.py          |   36 +-
 twisted/conch/test/test_recvline.py                |  416 +-
 twisted/conch/test/test_session.py                 |  334 +-
 twisted/conch/test/test_ssh.py                     |  147 +-
 twisted/conch/test/test_tap.py                     |    5 +-
 twisted/conch/test/test_telnet.py                  |  150 +-
 twisted/conch/test/test_transport.py               |  104 +-
 twisted/conch/test/test_userauth.py                |   17 +-
 twisted/conch/unix.py                              |    5 +-
 twisted/cred/_digest.py                            |    4 +-
 twisted/cred/checkers.py                           |    2 +-
 twisted/cred/credentials.py                        |    8 +-
 twisted/cred/strcred.py                            |    2 +-
 twisted/cred/test/test_cred.py                     |   27 +-
 twisted/cred/test/test_digestauth.py               |    8 +-
 twisted/enterprise/adbapi.py                       |   10 +-
 twisted/internet/_dumbwin32proc.py                 |   10 +-
 twisted/internet/_newtls.py                        |    4 +-
 twisted/internet/_pollingfile.py                   |    6 +-
 twisted/internet/_sslverify.py                     |   83 +-
 twisted/internet/abstract.py                       |    4 +-
 twisted/internet/base.py                           |    5 +-
 twisted/internet/cfreactor.py                      |   35 +-
 twisted/internet/defer.py                          |  144 +-
 twisted/internet/endpoints.py                      |   38 +-
 twisted/internet/epollreactor.py                   |    4 +-
 twisted/internet/error.py                          |    8 +-
 twisted/internet/inotify.py                        |   42 +-
 twisted/internet/interfaces.py                     |  107 +-
 twisted/internet/iocpreactor/abstract.py           |    5 +-
 .../internet/iocpreactor/iocpsupport/acceptex.pxi  |    3 +-
 .../internet/iocpreactor/iocpsupport/iocpsupport.c | 8206 +++++++++++++-------
 .../iocpreactor/iocpsupport/iocpsupport.pyx        |   25 +-
 .../iocpreactor/iocpsupport/winsock_pointers.c     |   18 +-
 .../iocpreactor/iocpsupport/winsock_pointers.h     |    2 +-
 twisted/internet/iocpreactor/tcp.py                |    8 +-
 twisted/internet/iocpreactor/udp.py                |    5 +-
 twisted/internet/kqreactor.py                      |    2 +-
 twisted/internet/pollreactor.py                    |    4 +-
 twisted/internet/posixbase.py                      |    2 +-
 twisted/internet/process.py                        |   11 +-
 twisted/internet/protocol.py                       |    4 +-
 twisted/internet/ssl.py                            |    5 +
 twisted/internet/task.py                           |    2 +-
 twisted/internet/tcp.py                            |   15 +-
 twisted/internet/test/_awaittests.py.3only         |  134 +
 twisted/internet/test/connectionmixins.py          |    2 +-
 twisted/internet/test/reactormixins.py             |    6 +-
 twisted/internet/test/test_address.py              |   16 +-
 twisted/internet/test/test_await.py                |   40 +
 twisted/internet/test/test_core.py                 |    2 +-
 twisted/internet/test/test_endpoints.py            |   62 +-
 twisted/internet/test/test_epollreactor.py         |   20 +-
 twisted/internet/test/test_filedescriptor.py       |    4 +-
 twisted/internet/test/test_glibbase.py             |    2 +-
 twisted/internet/test/test_inlinecb.py             |    2 +-
 twisted/internet/test/test_inotify.py              |   39 +-
 twisted/internet/test/test_kqueuereactor.py        |    2 +-
 twisted/internet/test/test_posixbase.py            |   10 +-
 twisted/internet/test/test_posixprocess.py         |    8 +
 twisted/internet/test/test_process.py              |   11 +-
 twisted/internet/test/test_protocol.py             |    2 +-
 twisted/internet/test/test_tcp.py                  |   12 +-
 twisted/internet/test/test_threads.py              |    8 +-
 twisted/internet/test/test_time.py                 |    4 +-
 twisted/internet/test/test_udp.py                  |   36 +-
 twisted/internet/test/test_unix.py                 |    4 +-
 twisted/internet/test/test_win32events.py          |   17 +-
 twisted/internet/udp.py                            |   61 +-
 twisted/internet/utils.py                          |   12 +-
 twisted/internet/win32eventreactor.py              |   18 +-
 twisted/logger/_buffer.py                          |    2 +-
 twisted/logger/_file.py                            |    4 +-
 twisted/logger/_filter.py                          |    2 +-
 twisted/logger/_flatten.py                         |    4 +-
 twisted/logger/_format.py                          |    8 +-
 twisted/logger/_global.py                          |   10 +-
 twisted/logger/_io.py                              |    6 +-
 twisted/logger/_json.py                            |    6 +-
 twisted/logger/_levels.py                          |    3 +-
 twisted/logger/_logger.py                          |    8 +-
 twisted/logger/test/test_file.py                   |    2 +-
 twisted/logger/test/test_flatten.py                |   11 +-
 twisted/logger/test/test_format.py                 |    4 +-
 twisted/logger/test/test_global.py                 |    4 +-
 twisted/logger/test/test_io.py                     |    8 +-
 twisted/logger/test/test_legacy.py                 |    4 +-
 twisted/logger/test/test_logger.py                 |   12 +-
 twisted/logger/test/test_stdlib.py                 |    6 +-
 twisted/mail/alias.py                              |   95 +-
 twisted/mail/bounce.py                             |    5 +-
 twisted/mail/imap4.py                              |   77 +-
 twisted/mail/mail.py                               |   42 +-
 twisted/mail/maildir.py                            |   22 +-
 twisted/mail/pb.py                                 |    5 +-
 twisted/mail/pop3.py                               |   41 +-
 twisted/mail/pop3client.py                         |   76 +-
 twisted/mail/protocols.py                          |   70 +-
 twisted/mail/relay.py                              |   17 +-
 twisted/mail/relaymanager.py                       |   34 +-
 twisted/mail/scripts/mailmail.py                   |    4 +-
 twisted/mail/smtp.py                               |   22 +-
 twisted/mail/tap.py                                |   10 +-
 twisted/mail/test/test_bounce.py                   |    7 +-
 twisted/mail/test/test_imap.py                     |   77 +-
 twisted/mail/test/test_mail.py                     |   86 +-
 twisted/mail/test/test_options.py                  |    5 +-
 twisted/mail/test/test_pop3.py                     |    5 +-
 twisted/mail/test/test_smtp.py                     |   17 +-
 twisted/names/authority.py                         |    2 +-
 twisted/names/cache.py                             |    2 +-
 twisted/names/client.py                            |   34 +-
 twisted/names/dns.py                               |   84 +-
 twisted/names/error.py                             |   10 +-
 twisted/names/hosts.py                             |    4 +-
 twisted/names/root.py                              |   14 +-
 twisted/names/secondary.py                         |    2 +-
 twisted/names/server.py                            |    8 +-
 twisted/names/srvconnect.py                        |   98 +-
 twisted/names/test/test_client.py                  |   10 +-
 twisted/names/test/test_dns.py                     |   10 +-
 twisted/names/test/test_examples.py                |    5 +-
 twisted/names/test/test_hosts.py                   |    4 +-
 twisted/names/test/test_names.py                   |    3 +-
 twisted/names/test/test_rootresolve.py             |   84 +-
 twisted/names/test/test_server.py                  |    8 +-
 twisted/names/test/test_srvconnect.py              |  144 +-
 twisted/names/test/test_tap.py                     |   36 +-
 twisted/names/test/test_util.py                    |    2 +-
 twisted/news/database.py                           |   22 +-
 twisted/news/tap.py                                |   35 +-
 twisted/pair/ethernet.py                           |    8 +-
 twisted/pair/ip.py                                 |    5 +-
 twisted/pair/raw.py                                |   13 +-
 twisted/pair/rawudp.py                             |   14 +-
 twisted/pair/test/test_ethernet.py                 |    5 +-
 twisted/pair/test/test_ip.py                       |    3 +-
 twisted/pair/test/test_rawudp.py                   |  324 +-
 twisted/pair/test/test_tuntap.py                   |   10 +-
 twisted/persisted/dirdbm.py                        |   27 +-
 twisted/persisted/sob.py                           |   27 +-
 twisted/persisted/styles.py                        |   30 +-
 twisted/persisted/test/test_styles.py              |   42 +-
 twisted/plugin.py                                  |    2 +-
 twisted/plugins/cred_memory.py                     |    2 +-
 twisted/positioning/_sentence.py                   |    7 +-
 twisted/positioning/base.py                        |   76 +-
 twisted/positioning/ipositioning.py                |    2 +-
 twisted/positioning/nmea.py                        |   10 +-
 twisted/positioning/test/test_base.py              |   44 +-
 twisted/positioning/test/test_nmea.py              |    4 +-
 twisted/positioning/test/test_sentence.py          |   19 +-
 twisted/protocols/amp.py                           |   97 +-
 twisted/protocols/basic.py                         |    6 +-
 twisted/protocols/dict.py                          |   97 +-
 twisted/protocols/ftp.py                           |   57 +-
 twisted/protocols/haproxy/test/test_parser.py      |    2 +-
 twisted/protocols/haproxy/test/test_v1parser.py    |   10 +-
 twisted/protocols/haproxy/test/test_v2parser.py    |   12 +-
 twisted/protocols/htb.py                           |   10 +-
 twisted/protocols/ident.py                         |   37 +-
 twisted/protocols/loopback.py                      |    8 +-
 twisted/protocols/memcache.py                      |  206 +-
 twisted/protocols/pcp.py                           |    5 +-
 twisted/protocols/policies.py                      |   32 +-
 twisted/protocols/portforward.py                   |   14 +-
 twisted/protocols/postfix.py                       |   71 +-
 twisted/protocols/sip.py                           |    6 +-
 twisted/protocols/socks.py                         |   65 +-
 twisted/protocols/stateful.py                      |    7 +-
 twisted/protocols/telnet.py                        |    4 +-
 twisted/protocols/test/test_basic.py               |    6 +-
 twisted/protocols/test/test_tls.py                 |  382 +-
 twisted/protocols/tls.py                           |  203 +-
 twisted/protocols/wire.py                          |   59 +-
 twisted/python/_inotify.py                         |   11 +-
 twisted/python/_oldstyle.py                        |   25 +-
 twisted/python/_pydoctor.py                        |  264 +
 twisted/python/_pydoctortemplates/common.html      |  108 +
 twisted/python/_pydoctortemplates/index.html       |  106 +
 twisted/python/_pydoctortemplates/summary.html     |   62 +
 twisted/python/_release.py                         |  131 +-
 twisted/python/_shellcomp.py                       |   55 +-
 twisted/python/_textattributes.py                  |   14 +-
 twisted/python/_tzhelper.py                        |    2 +-
 twisted/python/_url.py                             |    8 +-
 twisted/python/compat.py                           |  101 +-
 twisted/python/components.py                       |   14 +-
 twisted/python/constants.py                        |    4 +-
 twisted/python/deprecate.py                        |   10 +-
 twisted/python/dist.py                             |   89 +-
 twisted/python/dist3.py                            |  276 +-
 twisted/python/failure.py                          |    8 +-
 twisted/python/filepath.py                         |   69 +-
 twisted/python/htmlizer.py                         |    5 +-
 twisted/python/lockfile.py                         |    4 +-
 twisted/python/log.py                              |   10 +-
 twisted/python/logfile.py                          |   11 +-
 twisted/python/modules.py                          |    3 +
 twisted/python/reflect.py                          |    8 +-
 twisted/python/runtime.py                          |   11 +-
 twisted/python/sendmsg.py                          |   10 +-
 twisted/python/systemd.py                          |    4 +-
 twisted/python/test/test_components.py             |   44 +-
 twisted/python/test/test_constants.py              |   78 +-
 twisted/python/test/test_deprecate.py              |    8 +-
 twisted/python/test/test_dist.py                   |   80 +-
 twisted/python/test/test_inotify.py                |    3 +-
 twisted/python/test/test_pydoctor.py               |  271 +
 twisted/python/test/test_release.py                |  123 +-
 twisted/python/test/test_runtime.py                |    2 +-
 twisted/python/test/test_sendmsg.py                |   41 +-
 twisted/python/test/test_shellcomp.py              |   24 +-
 twisted/python/test/test_url.py                    |    8 +-
 twisted/python/test/test_util.py                   |    4 +-
 twisted/python/test/test_versions.py               |    2 +-
 twisted/python/test/test_zippath.py                |   14 +-
 twisted/python/test/test_zipstream.py              |  197 +-
 twisted/python/text.py                             |    2 +-
 twisted/python/threadpool.py                       |    6 +-
 twisted/python/usage.py                            |   22 +-
 twisted/python/util.py                             |   12 +-
 twisted/python/versions.py                         |    5 +-
 twisted/python/win32.py                            |    2 +-
 twisted/python/zipstream.py                        |   73 +-
 twisted/runner/inetdconf.py                        |  114 +-
 twisted/runner/inetdtap.py                         |    3 +-
 twisted/runner/procmon.py                          |    6 +-
 twisted/runner/test/test_inetdconf.py              |   55 +
 twisted/runner/test/test_procmon.py                |    2 +-
 twisted/scripts/_twistd_unix.py                    |   79 +-
 twisted/scripts/htmlizer.py                        |    9 +-
 twisted/scripts/test/test_scripts.py               |   11 +-
 twisted/scripts/trial.py                           |   13 +-
 twisted/spread/banana.py                           |  117 +-
 twisted/spread/flavors.py                          |   25 +-
 twisted/spread/jelly.py                            |  110 +-
 twisted/spread/pb.py                               |    8 +-
 twisted/spread/publish.py                          |   10 +-
 twisted/test/crash_test_dummy.py                   |    5 +-
 twisted/test/iosim.py                              |   33 +-
 twisted/test/process_tty.py                        |    7 +-
 twisted/test/process_twisted.py                    |    2 +-
 twisted/test/proto_helpers.py                      |  223 +-
 twisted/test/raiser.c                              | 2445 ++++--
 twisted/test/ssl_helpers.py                        |    5 +-
 twisted/test/test_adbapi.py                        |    2 +-
 twisted/test/test_amp.py                           |   62 +-
 twisted/test/test_application.py                   |  105 +-
 twisted/test/test_banana.py                        |   91 +-
 twisted/test/test_compat.py                        |  167 +-
 twisted/test/test_context.py                       |    6 +-
 twisted/test/test_cooperator.py                    |   14 +-
 twisted/test/test_defer.py                         |   72 +-
 twisted/test/test_dict.py                          |    4 +-
 twisted/test/test_dirdbm.py                        |   24 +-
 twisted/test/test_error.py                         |    2 +-
 twisted/test/test_factories.py                     |    8 +-
 twisted/test/test_failure.py                       |   44 +-
 twisted/test/test_fdesc.py                         |    2 +-
 twisted/test/test_formmethod.py                    |    2 +-
 twisted/test/test_ftp.py                           |   27 +-
 twisted/test/test_htb.py                           |   25 +-
 twisted/test/test_ident.py                         |   41 +-
 twisted/test/test_internet.py                      |   23 +-
 twisted/test/test_iutils.py                        |   31 +-
 twisted/test/test_jelly.py                         |   93 +-
 twisted/test/test_log.py                           |   16 +-
 twisted/test/test_logfile.py                       |  156 +-
 twisted/test/test_loopback.py                      |   52 +-
 twisted/test/test_memcache.py                      |  283 +-
 twisted/test/test_modules.py                       |    8 +-
 twisted/test/test_nooldstyle.py                    |   15 +-
 twisted/test/test_paths.py                         |  186 +-
 twisted/test/test_pb.py                            |   55 +-
 twisted/test/test_pbfailure.py                     |   34 +-
 twisted/test/test_persisted.py                     |    2 +-
 twisted/test/test_plugin.py                        |    6 +-
 twisted/test/test_policies.py                      |   68 +-
 twisted/test/test_postfix.py                       |   38 +-
 twisted/test/test_process.py                       |   78 +-
 twisted/test/test_protocols.py                     |   39 +-
 twisted/test/test_rebuild.py                       |    8 +-
 twisted/test/test_reflect.py                       |   16 +-
 twisted/test/test_roots.py                         |    6 +-
 twisted/test/test_shortcut.py                      |    4 +-
 twisted/test/test_sip.py                           |   38 +-
 twisted/test/test_socks.py                         |  174 +-
 twisted/test/test_ssl.py                           |    4 +-
 twisted/test/test_sslverify.py                     |   76 +-
 twisted/test/test_stateful.py                      |   17 +-
 twisted/test/test_stdio.py                         |    6 +-
 twisted/test/test_strerror.py                      |    2 +-
 twisted/test/test_stringtransport.py               |   22 +-
 twisted/test/test_strports.py                      |    8 +-
 twisted/test/test_task.py                          |   10 +-
 twisted/test/test_tcp.py                           |   26 +-
 twisted/test/test_tcp_internals.py                 |    6 +-
 twisted/test/test_text.py                          |   42 +-
 twisted/test/test_threadable.py                    |    2 +-
 twisted/test/test_threadpool.py                    |   16 +-
 twisted/test/test_threads.py                       |   11 +-
 twisted/test/test_tpfile.py                        |   19 +-
 twisted/test/test_twistd.py                        |  279 +-
 twisted/test/test_twisted.py                       |   30 +-
 twisted/test/test_unix.py                          |    3 +-
 twisted/test/test_usage.py                         |   54 +-
 twisted/trial/__main__.py                          |   10 +
 twisted/trial/_dist/distreporter.py                |    2 +-
 twisted/trial/_dist/disttrial.py                   |    2 +-
 twisted/trial/_dist/test/test_disttrial.py         |    2 +-
 twisted/trial/_dist/worker.py                      |    6 +-
 twisted/trial/_dist/workerreporter.py              |    4 +-
 twisted/trial/_dist/workertrial.py                 |    3 +-
 twisted/trial/_synctest.py                         |   24 +-
 twisted/trial/itrial.py                            |    8 +-
 twisted/trial/reporter.py                          |   12 +-
 twisted/trial/runner.py                            |    5 +-
 twisted/trial/test/test_assertions.py              |    2 +-
 twisted/trial/test/test_loader.py                  |   52 +-
 twisted/trial/test/test_pyunitcompat.py            |   27 -
 twisted/trial/test/test_runner.py                  |   16 +
 twisted/trial/test/test_script.py                  |    8 +-
 twisted/trial/test/test_tests.py                   |    4 +-
 twisted/trial/test/test_warning.py                 |    2 +-
 twisted/trial/util.py                              |    4 +-
 twisted/web/_auth/digest.py                        |    6 +-
 twisted/web/_auth/wrapper.py                       |    2 +-
 twisted/web/_element.py                            |    4 +-
 twisted/web/_flatten.py                            |   24 +-
 twisted/web/_http2.py                              |  114 +-
 twisted/web/_newclient.py                          |   33 +-
 twisted/web/_stan.py                               |   32 +-
 twisted/web/client.py                              |   27 +-
 twisted/web/distrib.py                             |    5 +-
 twisted/web/domhelpers.py                          |    2 +-
 twisted/web/http.py                                |   38 +-
 twisted/web/http_headers.py                        |    6 +-
 twisted/web/iweb.py                                |   24 +-
 twisted/web/resource.py                            |    2 +-
 twisted/web/script.py                              |    3 +-
 twisted/web/server.py                              |   90 +-
 twisted/web/static.py                              |   28 +-
 twisted/web/tap.py                                 |    5 +-
 twisted/web/template.py                            |   11 +-
 twisted/web/test/requesthelper.py                  |   10 +-
 twisted/web/test/test_agent.py                     |    8 +-
 twisted/web/test/test_cgi.py                       |   61 +-
 twisted/web/test/test_error.py                     |    6 +-
 twisted/web/test/test_http.py                      |  146 +-
 twisted/web/test/test_http2.py                     |  585 +-
 twisted/web/test/test_http_headers.py              |    8 +-
 twisted/web/test/test_httpauth.py                  |    2 +-
 twisted/web/test/test_newclient.py                 |    2 +-
 twisted/web/test/test_proxy.py                     |    2 +-
 twisted/web/test/test_static.py                    |   23 +-
 twisted/web/test/test_tap.py                       |    8 +-
 twisted/web/test/test_template.py                  |    8 +-
 twisted/web/test/test_vhost.py                     |    8 +-
 twisted/web/test/test_web.py                       |  128 +-
 twisted/web/test/test_webclient.py                 |   35 +-
 twisted/web/test/test_wsgi.py                      |   14 +-
 twisted/web/test/test_xml.py                       |   48 +-
 twisted/web/test/test_xmlrpc.py                    |    4 +-
 twisted/web/twcgi.py                               |    6 +-
 twisted/web/wsgi.py                                |   19 +-
 twisted/web/xmlrpc.py                              |   17 +-
 twisted/words/im/interfaces.py                     |    2 +-
 twisted/words/im/ircsupport.py                     |    8 +-
 twisted/words/im/pbsupport.py                      |    6 +-
 twisted/words/iwords.py                            |    6 +-
 twisted/words/protocols/irc.py                     |   67 +-
 twisted/words/protocols/jabber/client.py           |   48 +-
 twisted/words/protocols/jabber/component.py        |   31 +-
 twisted/words/protocols/jabber/error.py            |   15 +-
 twisted/words/protocols/jabber/ijabber.py          |   12 +-
 twisted/words/protocols/jabber/jid.py              |   24 +-
 twisted/words/protocols/jabber/jstrports.py        |    2 +
 twisted/words/protocols/jabber/sasl.py             |   17 +-
 twisted/words/protocols/jabber/sasl_mechanisms.py  |  121 +-
 twisted/words/protocols/jabber/xmlstream.py        |   42 +-
 twisted/words/protocols/jabber/xmpp_stringprep.py  |   40 +-
 twisted/words/protocols/oscar.py                   |    5 +-
 twisted/words/service.py                           |   29 +-
 twisted/words/test/test_basesupport.py             |   12 +-
 twisted/words/test/test_domish.py                  |  200 +-
 twisted/words/test/test_irc.py                     |   16 +-
 twisted/words/test/test_jabberclient.py            |   20 +-
 twisted/words/test/test_jabbercomponent.py         |   38 +-
 twisted/words/test/test_jabbererror.py             |   25 +-
 twisted/words/test/test_jabberjid.py               |    5 +-
 twisted/words/test/test_jabberjstrports.py         |    2 +
 twisted/words/test/test_jabbersasl.py              |   82 +-
 twisted/words/test/test_jabbersaslmechanisms.py    |   79 +-
 twisted/words/test/test_jabberxmlstream.py         |   76 +-
 twisted/words/test/test_jabberxmppstringprep.py    |    6 +
 twisted/words/test/test_xishutil.py                |    2 +
 twisted/words/test/test_xmlstream.py               |    6 +-
 twisted/words/test/test_xpath.py                   |   67 +-
 twisted/words/xish/domish.py                       |  160 +-
 twisted/words/xish/utility.py                      |   15 +-
 twisted/words/xish/xmlstream.py                    |   18 +
 twisted/words/xish/xpath.py                        |   28 +-
 twisted/words/xish/xpathparser.g                   |  513 +-
 twisted/words/xish/xpathparser.py                  |  612 +-
 693 files changed, 24105 insertions(+), 12573 deletions(-)

diff --git a/.coveragerc b/.coveragerc
index 8b3669e..4a15f4a 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -7,6 +7,7 @@ source = twisted
 source=
    twisted
    build/*/lib/python*/site-packages/twisted
+   build/*/Lib/site-packages/twisted
    build/pypy*/site-packages/twisted
 
 [report]
diff --git a/CONTRIBUTING b/CONTRIBUTING
index ac39475..8b8ca45 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -24,5 +24,9 @@ https://twistedmatrix.com/trac/newticket
 Twisted uses Trac to keep track of bugs, feature requests, and associated
 patches because GitHub doesn't provide adequate tooling for its community.
 
-For a PR to be accepted it needs to have at least all Travis CI tests passing.
+For a PR to be accepted it needs to have:
+
+* all Travis CI tests passing
+* patch coverage of 100% as reported by codecov.io
+
 The Travis CI tests currently represent only a subset of the all the platforms Twisted supports, so the buildbot tests are still the actual gate for PR acceptance.
diff --git a/LICENSE b/LICENSE
index 8d5ca38..d2476e2 100644
--- a/LICENSE
+++ b/LICENSE
@@ -9,6 +9,7 @@ Ashwini Oruganti
 Benjamin Bruheim
 Bob Ippolito
 Canonical Limited
+Charmander
 Christopher Armstrong
 David Reid
 Divmod Inc.
diff --git a/MANIFEST.in b/MANIFEST.in
index 986606d..0997116 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -17,17 +17,17 @@ recursive-include docs README
 include NEWS README.rst INSTALL.rst CONTRIBUTING LICENSE code_of_conduct.md
 
 # Exclude admin scripts and things only useful when running from a source checkout
-exclude bin/_preamble.py
-exclude admin
-exclude bin/admin
-recursive-exclude admin *
-recursive-exclude bin/admin *
+exclude codecov.yml
+exclude appveyor.yml
+prune bin
+prune admin
+prune .travis
 
 # Include test-running utilities for downstream packagers
 include tox.ini .coveragerc
 
-# Python 3 setup file
-include setup3.py
+# Include our docs templates
+recursive-include twisted/python/_pydoctortemplates *.html
 
 # Some tests stuff
 recursive-include twisted *.pem
@@ -35,6 +35,7 @@ include twisted/internet/test/fake_CAs/*
 include twisted/mail/test/rfc822.message
 
 # Some extras
+recursive-include twisted *.3only
 recursive-include twisted *.glade *.pxi *.h *.c *.bat *.g *.pyx *.zsh *.txt
 
 # Docs
diff --git a/NEWS b/NEWS
index dedcf26..2bf4864 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,351 @@
 Ticket numbers in this file can be looked up by visiting
 http://twistedmatrix.com/trac/ticket/<number>
 
+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)
+
+
+Twisted Conch 16.4.1 (2016-09-07)
+=================================
+
+No significant changes have been made for this release.
+
+
+Twisted Mail 16.4.1 (2016-09-07)
+================================
+
+No significant changes have been made for this release.
+
+
+Twisted Names 16.4.1 (2016-09-07)
+=================================
+
+No significant changes have been made for this release.
+
+
+Twisted News 16.4.1 (2016-09-07)
+================================
+
+No significant changes have been made for this release.
+
+
+Twisted Pair 16.4.1 (2016-09-07)
+================================
+
+No significant changes have been made for this release.
+
+
+Twisted Runner 16.4.1 (2016-09-07)
+==================================
+
+No significant changes have been made for this release.
+
+
+Twisted Web 16.4.1 (2016-09-07)
+===============================
+
+No significant changes have been made for this release.
+
+
+Twisted Words 16.4.1 (2016-09-07)
+=================================
+
+No significant changes have been made for this release.
+
+
+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)
... 77366 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/twisted.git



More information about the Python-modules-commits mailing list