Project Release Information
This is a major feature release, with several new
features and a great number of bugfixes. The IOCP
reactor is now much improved, and many bugs have
been resolved. Twisted may now be installed with
easy_install. Many improvements were made to
Trial, Twisted's unit testing system. A new
memcache client protocol implementation was added.
Much more was done.
This release includes many fixes for UDP and
multicast stdio on Win32. Many bug fixes were made
for Trial, and its support for a large number of
previously deprecated APIs was dropped. Deferred
Generators no longer leak their final result or
exception. LoopingCall now supports functions
which return Deferreds. A cooperative scheduler
with pluggable policies has been added. Much of
the API documentation has been improved and a new
guide for developing producers and consumers has
been added. This also includes new releases of
Conch, Mail, Names, Words, and Web.
The new DeferredQueue class has been fixed to properly respect all backlog and size limits, as well as had improvements made to its unit tests. The incorrectly omitted twisted.news package now installs properly. The Qt reactor's iterate() method now behaves like other reactors' iterate() methods. The plugin caching mechanism has been changed to only write out changes when changes exist. The Gtk2 reactor now initializes itself properly, preventing certain startup race conditions, and with better supporting threads.
Major new features in this release include the
replacement of the home-grown component system
with zope.interface, a split of subprojects into
separate packages with separate release cycles,
project-wide relicensing to the MIT license,
Python 2.4 compatibility fixes, and major
efficiency improvements in the TCP buffering
algorithm and DelayedCall handling. Many other
minor feature enhancements, bugfixes, and
documentation improvements are also included.
Twisted is an event-based framework for Internet applications. It includes a Web server, an SMTP/POP3 server, a telnet server, an SSH server, an IRC server, a DNS server, a generic client/server pair for remote object access (Perspective Broker), and APIs for creating new protocols. It supports integration with GTK+, GTK+ 2, Qt, Tkinter, wxPython, Mac OS X (PyObjC) and Win32 event loops. It also supports TCP, SSL and TLS, UDP, Unix sockets, multicast, and serial ports. Supported protocols include HTTP, FTP, SMTP, POP3, IMAP, TOC, OSCAR (AIM and ICQ), SSH, DNS, IRC, NNTP, Jabber, SOCKSv4, Telnet, SIP (for VoIP), and XML-RPC and SOAP using external packages. Most protocols are supported as both servers and clients.