Wednesday, May 18, 2016

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.
For more information, check the NEWS file (link provided below).

You can find the downloads on PyPI (or alternatively our website). The NEWS file is also available on GitHub.

Many thanks to everyone who had a part in this release - the supporters of the Twisted Software Foundation, the developers who contributed code as well as documentation, and all the people building great things with Twisted!

Twisted Regards,
Amber Brown (HawkOwl)

Monday, April 4, 2016

Twisted 16.1 Released

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

This release is hot off the heels of 16.0 released last month, including some nice little tidbits. The highlights include:
  • twisted.application.internet.ClientService, a service that maintains a persistent outgoing endpoint-based connection -- a replacement for ReconnectingClientFactory that uses modern APIs;
  • A large (77% on one benchmark) performance improvement when using twisted.web's client on PyPy;
  • A few conch modules have been ported to Python 3, in preparation for further porting of the SSH functionality;
  • Full support for OpenSSL 1.0.2f and above;
  • t.web.http.Request.addCookie now accepts Unicode and bytes keys/values;
  • twistd manhole no longer uses a hard-coded SSH host key, and will generate one for you on the fly (this adds a 'appdirs' PyPI dependency, installing with [conch] will add it automatically);
  • Over eighteen tickets overall closed since 16.0.
For more information, check the NEWS file (link provided below).

You can find the downloads on PyPI (or alternatively our website). The NEWS file is also available on GitHub.

Many thanks to everyone who had a part in this release - the supporters of the Twisted Software Foundation, the developers who contributed code as well as documentation, and all the people building great things with Twisted!

Twisted Regards,
Amber Brown (HawkOwl)

Monday, March 14, 2016

Twisted 16.0 Released

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

Twisted 16.0 brings some important changes, and some nice-to-haves as well. The major things are:
  • TLS endpoints have arrived! They're like the old `ssl:` endpoints, but support faster IPv4/IPv6 connections (using HostnameEndpoint) and always do hostname verification.
  • Conch now uses Cryptography instead of PyCrypto for underlying cryptographic operations. This means it'll work much better on PyPy!
  • Headers objects (notably used by t.web.server.Request) now support Unicode for the vast majority of cases, encoding keys to ISO-8859-1 and values to UTF-8.
  • WSGI support and AMP have been ported to Python 3, along with a handful of other modules.
  • More shedding of the past, with the GTK+ 1 reactor being removed.
  • Over 45 tickets have been closed since 15.5.
For more information, check the NEWS file (link provided below).

You can find the downloads at on PyPI (or alternatively our website). The NEWS file is also available.

Many thanks to everyone who had a part in this release - the supporters of the Twisted Software Foundation, the developers who contributed code as well as documentation, and all the people building great things with Twisted!

Twisted Regards,

Amber Brown (HawkOwl)
Twisted Release Manager

Friday, February 5, 2016

Jan '16 SFC Sponsored Development (HawkOwl)

Hi everyone!

The Twisted Fellowship, for this time, has come to an end, and as such, here is my final report.

Tickets reviewed/merged:
  • #8140 (merged): DummyRequest is out of sync with the real Request
  • #7943 (reviewed, merged): Remove usage of microdom
  • #8132 (reviewed, merged): Port twisted.web.vhost to Python 3
  • #7993 (reviewed, merged): Port twisted.web.wsgi to Python 3
  • #8173 (merged): Twisted does not have a code of conduct

Tickets triaged:
  • (braid) #66 - Drop the Fedora 17 and Fedora 18 builders
  • (braid) #22 - Properly install twisted's trac plugins
  • - #7813 (closed, already done) - twisted.trial.test.test_doctest should be ported to python3
Tickets worked on:
  • (braid) #168 (done on branch) - Install Trac GitHub plugin
  • (braid) #169 (done on branch) - In 'staging' GitHub repo add the webhook to poke the 'staging' Trac
  • (braid) #167 (done on branch) - Create staging Trac
  • (braid) #139 (done on branch) - Manage git mirror repo used by Trac using braid
  • (braid) #1 (done on branch) - Use virtualenvs in deployment
  • (braid) #164 (work in progress) - Migrate Twisted SVN accounts to GitHub twisted/twisted
  • (braid) #178 (work in progress) - Migrate to BuildBot Nine
  • (braid) #142 (work in progress) - Migrate IRC announcements from Kenaan
  • (braid) #185 (merged) - Add dns entry for staging.twistedmatrix.com
Even though we didn't get the Git migration done in time for the end of the fellowship, I am happy to report that it is in a much closer and much better known state than before. If you would like to assist in getting some of the work done above reviewed and merged, drop by https://github.com/twisted-infra/braid/pulls !

- Amber

Tuesday, February 2, 2016

January 2016 - SFC Sponsored Development

This is my report for the work done in January 2016 as part of the Twisted Maintainer Fellowship program.
It is my last report of the Twisted Maintainer Fellowship 2015 program.

With this fellowship the review queue size was reduced and the review round-trips were done much quicker.
This fellowship has produced the Git/GitHub migration plan but has failed to finalize its execution.

Tickets reviewed and merged

* #7671 - It is way too hard to specify a trust root combining multiple certificates, especially to HTTP
* #7993 - Port twisted.web.wsgi to Python 3
* #8140 - twisted.web.test.requesthelper.DummyRequest is out of sync with the real Request
* #8148 - Deprecate twisted.protocols.mice
* #8173 - Twisted does not have a code of conduct
* #8180 - Conch integration tests fail because DSA is deprecated in OpenSSH 7.
* #8187 - Use a less ancient OpenSSL method in twisted.test.test_sslverify

Tickets reviewed and not merged yet

* #7889 - replace win32api.OpenProcess and win32api.FormatMessage with cffi
* #8150 - twisted.internet.ssl.KeyPair should provide loadPEM
* #8159 - twisted.internet._win32serialport incompatible with pyserial 3.x
* #8169 - t.w.static.addSlash does not work on Python 3
* #8188 - Advertise H2 via ALPN/NPN when available.

Thanks to the Software Freedom Conservancy and all of the sponsors who made this possible, as well as to all the other Twisted developers who helped out by writing or reviewing code.

Saturday, January 9, 2016

December 2015 second half - SFC Sponsored Development

This is my report for the work done in the second half of December as part of the 2015 Twisted Maintainer Fellowship program.

Important changes made in these weeks

* The Git migration plan was approved.

Git Migration tasks

* Update and add new tickets in twisted-infra/braid for the Git migration plan
* twisted-infra/braid #164- Plan SVN account migration

Tickets reviewed and merged

* #8129 - twisted.web.http_headers.Headers should work on bytes and Unicode
* #8138 - twisted.conch.endpoints._NewConnectionHelper leaks agent connection
* #8145 - Remove the deprecated gtkreactor
* #8154 - Update doc references to new logger

Tickets reviewed and not merged yet

* #7671 - it is way too hard to specify a trust root combining multiple certificates, especially to HTTP
* #7993 - 'twisted.web.wsgi' should be ported to Python 3
* #8025 - Make Trial work on Windows+Python3
* #8143- HTTP/2 Part 1: New IRequest interface
* #8160 - twisted.conch.ssh.agent is missing some request and response types

Thanks to the Software Freedom Conservancy and all of the sponsors who made this possible, as well as to all the other Twisted developers who helped out by writing or reviewing code.

Wednesday, December 30, 2015

Twisted 15.5 Released

(This was queued but not actually posted, sorry everybody!)

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

The sixth (!!) release in 2015 has quite a few goodies in it -- incrementalism is the name of the game here, and everything is just a little better than it was before. Some of the highlights of this release are:

  • Python 3.5 support on POSIX was added, and Python 2.6 support was dropped. We also only support x64 Python on Windows 7 now.
  • More than nine additional modules have been ported to Python 3, ranging from Twisted Web's Agent and downloadPage, twisted.python.logfile, and many others, as well as...
  • twistd is ported to Python 3, and its first plugin, web, is ported.
  • twisted.python.url, a new URL/IRI abstraction, has been introduced to answer the question "just what IS a URL" in Twisted, once and for all.
  • NPN and ALPN support has been added to Twisted's TLS implementation, paving the way for HTTP/2.
  • Conch now supports the DH group14-sha1 and group-exchange-sha256 key exchange algorithms, as well as hmac-sha2-256 and hmac-sha2-512 MAC algorithms. Conch also works nicer with newer OpenSSH implementations.
  • Twisted's IRC support now has a sendCommand() method, which enables the use of sending messages with tags.
  • 55+ closed tickets overall.
For more information, check the NEWS file (link provided below).

You can find the downloads at on PyPI (or alternatively our website) .
The NEWS file is also available at https://github.com/twisted/twisted/blob/twisted-15.5.0/NEWS.

Also worth noting is the two Twisted fellows -- Adi Roiban and myself -- who have been able to dedicate time to reviewing tickets and generally pushing things along in the process. We're funded by the Software Freedom Conservancy (through what is known as the "Twisted Software Foundation"), which is, in turn, funded by donators and sponsors -- potentially like you! If you would like to know how you can assist in the continued funding of the Fellowship program, see our website: https://twistedmatrix.com/trac/wiki/TwistedSoftwareFoundation#BenefitsofSponsorship

Many thanks to everyone who had a part in this release - the supporters of the Twisted Software Foundation, the developers who contributed code as well as documentation, and all the people building great things with Twisted!

Twisted Regards,

Amber "Hawkie" Brown
Twisted Release Manager, Twisted Fellow