2.2.0 (2006-02-12) ================== Features -------- - Twisted no longer works with Python 2.2 - FTP server supports more clients - Process support on Windows - twisted.internet.stdio improved (including Windows support!) - Trial: - Continued Trial refactoring - Default trial reporter is verbose black&white when color isn't supported - Deferreds returned in trial tests that don't fire before the unittest timeout now have their errback fired with a TimeoutError - raising SkipTest in setUp and setUpClass skips tests - Test suites are failed if there are import errors Fixes ----- - iocpreactor fixes - Threadpool fixes - Fixed infinite loops in datagramReceived edge cases - Issues resolved: 654, 773, 998, 1005, 1008, 1116, 1123, 1198, 1221, 1232, 1233, 1236, 1240, 1244, 1258, 1263, 1265, 1266, 1271, 1275, 1293, 1294, 1298, 1308, 1316, 1317, 1321, 1341, 1344, 1353, 1359, 1372, 1374, 1377, 1379, 1380, 1385, 1388, 1389, 1413, 1422, 1426, 1434, 1435, 1448, 1449, 1456 Deprecations ------------ - Trial: - spinWhile and spinUntil - util.wait - extract_tb and format_exception - util.suppressWarnings - runReactor is gone 2.1.0 (2005-11-06) ================== Features -------- - threadedselectreactor, a reactor which potentially makes integration with foreign event loops much simpler. - major improvements to twisted.conch.insults, including many new widgets. - adbapi ConnectionPools now have 'runWithConnection' which is similar to runInteraction but gives you a connection object instead of a transaction. [975] - __file__ is now usable in tac files - twisted.cred.pamauth now contains a PAM checker (moved from twisted.conch) - twisted.protocols.policies.LimitTotalConnectionsFactory now exists, which does as the name suggests - twisted.protocols.ident now uses /proc/net/tcp on Linux [233] - trial now recurses packages by default (a la the old -R parameter) - (PB) Calling a remote method that doesn't exist now raises NoSuchMethod instead of AttributeError. Fixes ----- - FTP client and server improvements - Trial improvements: The code is now much simpler, and more stable. - twisted.protocols.basic.FileSender now works with empty files - Twisted should now be much more usable on Pythons without thread support. - minor improvements to process code in win32eventreactor - twistd -y (--python) now implies -o (--nosave). [539] - improved lockfile handling especially with respect to unix sockets. - deferredGenerator now no longer overuses the stack, which sometimes caused stack overflows. - Failure.raiseException now at least always raises the correct Exception. - minor improvements to serialport code Deprecations ------------ - twisted.python.componts.getAdapter. Use IFoo(o) instead. - Adapter persistence (IFoo(x, persist=True)). Just don't use it. - log.debug. It was equivalent to log.msg(), just use that. - twisted.protocols.telnet. twisted.conch.telnet replaces it. - Setting a trial reporter using a flag to 'trial'. Instead of 'trial --bwverbose', for example, use 'trial --reporter=bwverbose'. - trial --coverage will become a flag in Twisted 2.2. - passing a fully-qualified python name to --reporter is deprecated. Pass only names of Reporter plugins. - trial --psyco. - trial -R (--recurse) is now the default, so passing it is deprecated. - trial --reporter-args. Use the plugin system to do this sort of thing. - trial.assertions.assertionMethod and trial.unittest.assertionMethod are both deprecated. Use instance methods on TestCases instead. - trial's deferredResult, deferredError, and wait functions. Return Deferreds from your test methods instead of using them. - Raising unittest.SkipTest with no arguments. Give a reason for your skip. - The Failure returned from a gatherResults and DeferredList is now of type FirstError instead of a tuple of (Exception, index). It supports a firstError[idx] syntax but that is deprecated. Use firstError.subFailure and firstError.index instead. - whenThreaded now simply calls the passed function synchronously. 2.0.1 (2005-05-09) =================== Minor bug fix release. SVN rev (file) - [bug number] description ----------------------------------------- 13307 (twisted/topfiles/README) - Mention support for python 2.4, too 13324 (twisted/internet/defer.py) - [947] Fix DeferredQueue backlog/size limit. 13354 (twisted/plugins/__init__.py) - Correct maintainer address. 13355 (twisted/test/test_defer.py) - improvements to DeferredQueue test case 13387 (setup.py) - add news to list of subprojects to install 13332 (twisted/internet/posixbase.py) - Fix spelling error 13366 (twisted/internet/qtreactor.py) - [957] [954] reactor.iterate fixes 13368 (twisted/test/test_internet.py) - Fix DelayedCall test case 13422 (twisted/internet/posixbase.py) - Remove log from _Win32Waker creation. 13437 (twisted/plugin.py) - [958] Only write cache if there were changes. 13666 (twisted/internet/gtkreactor.py,gtk2reactor.py) - Don't run callbacks until the reactor is actually up and running 13748 (twisted/internet/gtk2reactor.py) - [552] [994] Initialize threading properly. 2.0.0 (2005-03-25) ================== Major new features ------------------ - Replaced home-grown components system with zope.interface. - Split Twisted into multiple pieces. - Relicensed: Now under the MIT license, rather than LGPL. - Python 2.4 compatibility fixes - Major efficiency improvements in TCP buffering algorithm. - Major efficiency improvements in reactor.callLater/DelayedCall. - Half-close support for TCP/SSL. (loseWriteConnection). Miscellaneous features/fixes ---------------------------- - New plugin system: twisted.plugin - Better debugging support. Control-C will break you into PDB. - The twistd command has --uid --gid command line arguments. - *Incompatibility: mktap defaults to not change UID/GID, instead of saving the invoking user's UID/GID. - Removed some functions that were deprecated since Twisted 1.0. - ZSH tab-completion for twisted commands. - More correct daemonization in twistd. - twisted.python.log: do not close the log because of invalid format string. - Disabled automatic import of cBanana. - Boolean support for twisted.persisted.marmalade. - Refactor of plugin and application HOWTO documentation - Async HOWTO expanded greatly. - twisted.python.usage outputs the actual defaults, not passed in values. twisted.trial ------------- - Rewritten, a bunch of bugs fixed, a few more added. twisted.internet ---------------- - Multi-listen UDP multicast support - protocol.ClientCreator has a connectSSL. - defer.deferredGenerator: allows you to write Deferred code w/o callbacks. - Deferred.setTimeout is now deprecated. - New defer.DeferredLock/DeferredSemaphore/DeferredQueue. - Add utils.getProcessOutputAndValue to get stdout/err/value. - Default DNS resolver is now non-blocking. - Increased default TCP accept backlog from 5 to 50. - Make buffering large amounts of TCP data work on Windows. - Fixed SSL disconnect to not wait for remote host. Fixes issue with firefox. - Separate state for Deferred finalization so that GC-loops preventing finalization don't occur. - Many Process bugfixes - Processes spawned on windows can successfully use sockets - gtk2reactor can optionally use glib event loop instead of gtk - gtk2reactor notifies gobject to initialize thread support - Fix registering a streaming producer on a transport. - Close client sockets explicitly after failed connections. - ReconnectingClientFactory now continues attempting to reconnect after all errors, not just those which are not UserErrors. twisted.protocols ----------------- - Portforward doesn't start reading from a client until a connection is made. - Bugfixes in twisted.protocols.loopback - Improve speed of twisted.protocols.LineReceiver. - LineReceiver implements IProducer. (stop/pause/resumeProducing) - SOCKSv4 properly closes connections twisted.enterprise ------------------ - Add "new connection" callback to adbapi.ConnectionPool to allow for custom db connection setup (cp_openfun) - adbapi.ConnectionPool automatic reconnection support - Don't log exceptions extraneously 1.3.0 (2004-05-14) ================== - Address objects for IPv4 and Unix addresses throughout twisted.internet. - Improved connected UDP APIs. - Refactored SSH client support. - Initial implementation of Windows I/O Completion Ports event loop. - Bug fixes and feature enhancements. - Nevow support for Lore (so your Lore documents can use Nevow directives). - This is the last release before Twisted begins splitting up.