* Add linux inotify support, allowing monitoring of file system
events.
* Deferreds now support cancellation.
* Added new "endpoint" interfaces in twisted.internet.interfaces,
which abstractly describe stream transport endpoints which can be
listened on or connected to. Implementations for TCP and SSL
clients and servers are present in twisted.internet.endpoints.
Notably, client endpoints' connect() methods return cancellable
Deferreds, so code written to use them can bypass the awkward
"ClientFactory.clientConnectionFailed" and
"Connector.stopConnecting" methods, and handle errbacks from or
cancel the returned deferred, respectively.
* twisted.protocols.amp.Integer's documentation now clarifies that
integers of arbitrary size are supported and that the wire format
is a base-10 representation.
* twisted.protocols.amp now includes support for transferring
timestamps (amp.DateTime) and decimal values (amp.Decimal).
* twisted.protocol.ftp.IWriteFile now has a close() method, which can
return a Deferred. Previously a STOR command would finish
immediately upon the receipt of the last byte of the uploaded file.
With close(), the backend can delay the finish until it has
performed some other slow action (like storing the data to a
virtual filesystem).
* FilePath now calls os.stat() only when new status information is
required, rather than immediately when anything changes. For some
applications this may result in fewer stat() calls. Additionally,
FilePath has a new method, 'changed', which applications may use to
indicate that the FilePath may have been changed on disk and
therefore the next status information request must fetch a new
stat result. This is useful if external systems, such as C
libraries, may have changed files that Twisted applications are
referencing via a FilePath.
* Documentation improvements are now summarized in the NEWS file.
* twisted.internet.task.deferLater now returns a cancellable
Deferred.
* The connect methods of twisted.internet.protocol.ClientCreator now
return cancellable Deferreds.
* twisted.spread.pb now has documentation covering some of its
limitations.
* twisted.spread.jelly now supports jellying and unjellying classes
defined with slots if they also implement __getstate__ and
__setstate__.
* twisted.protocols.amp.ListOf arguments can now be specified as
optional.
* Bugfixes