1
2005-03-12 Jp Calderone <exarkun@twistedmatrix.com>
3
* twisted/scripts/mktap.py, twisted/scripts/twistd.py,
4
twisted/application/app.py: Changed UID and GID defaults for Process
5
to None. Changed mktap behavior to not specify UID and GID if they
6
are not given on the command line. Changed application startup to
7
not change UID or GID if they are not given. Changed twistd to add
8
UID and GID setting command line arguments.
10
2005-02-10 Jp Calderone <exarkun@twistedmatrix.com>
12
* twisted/internet/defer.py: DeferredLock, DeferredSemaphore, and
15
* twisted/test/test_defer.py: Tests for above mentioned three new
18
2004-11-27 Brian Warner <warner@lothar.com>
20
* util.py (SignalStateManager.save): don't save signal handlers
21
for SIGKILL and SIGSTOP, since we can't set them anyway.
22
Python2.4c1 raises an error when you try.
24
2004-11-07 Brian Warner <warner@lothar.com>
26
* twisted/test/test_internet.py: correctly check for SSL support.
27
Improve timeout for testCallLater and testGetDelayedCalls to avoid
28
spurious failures on slow test systems. Close sockets in
29
PortStringification to fix trial warnings.
31
* twisted/internet/ssl.py: add a comment describing the correct
32
way to import twisted.internet.ssl (since it might partially fail
33
if OpenSSL is not available)
35
2004-11-06 Jp Calderone <exarkun@twistedmatrix.com>
37
* twisted/trial/assertions.py: assertRaises/failUnlessRaises now
38
returns the caught exception to allow tests to inspect the contents.
40
2004-11-02 Brian Warner <warner@lothar.com>
42
* loopback.py (loopbackTCP): use trial's spinWhile and spinUntil
43
primitives instead of doing reactor.iterate() ourselves. Make sure
44
to wait for everything before finishing.
46
2004-10-26 Cory Dodt <corydodt@twistedmatrix.com>
48
* twisted/python/{which,process}.py,
49
twisted/test/{test_wprocess,wprocess_for_testing}.py,
50
twisted/internet/{default,error,wprocess,process}.py: back out
51
wprocess due to test failures in wprocess and new trial. Resolves
54
2004-10-24 Itamar Shtull-Trauring <itamar@itamarst.org>
56
* TCP: Half-close of write and read for TCP connections, including
57
protocol notification for protocols that implement
58
IHalfCloseableProtocol.
60
2004-10-07 Jp Calderone <exarkun@twistedmatrix.com>
62
* Transports: Add a maximum to the number of bytes that will be
63
held in the write buffer even after they have been sent. This
64
puts a maximum on the cost of writing faster than the network
67
2004-10-06 Itamar Shtull-Trauring <itamar@itamarst.org>
69
* Transports: New TCP/SSL/etc. buffering algorithm. All writes are
70
now stored until next iteration before being written, and many
71
small writes are not expensive.
73
2004-09-30 Brian Warner <warner@lothar.com>
75
* glib2reactor.py: new reactor that uses just glib2, not gtk2.
76
This one doesn't require a DISPLAY, and cannot be used for GUI
79
* gtk2reactor.py: import gobject *after* pygtk.require, to make
80
sure we get the same versions of both
82
2004-09-18 Christopher Armstrong <radix@twistedmatrix.com>
84
* twisted/internet/defer.py: Add deferredGenerator and
85
waitForDeferred. This lets you write kinda-sorta
86
synchronous-looking code that uses Deferreds. See the
87
waitForDeferred docstring.
89
2004-09-11 Cory Dodt <corydodt@twistedmatrix.com>
91
* twisted/python/{which,process}.py,
92
twisted/test/{test_wprocess,wprocess_for_testing}.py,
93
twisted/internet/{default,error,wprocess,process}.py: merge the
94
"wprocess" branch which uses Trent Mick's process.py to enable
95
spawnProcess in the default reactor on Windows
97
2004-08-24 Brian Warner <warner@lothar.com>
99
* twisted/application/internet.py (TimerService): make it possible
100
to restart a stopped TimerService. Threw out a lot of (apparently)
101
unnecessary code in the process. Make sure it gets pickled in a
102
not-running state too.
103
* twisted/test/test_application.py (TestInternet2.testTimer): test
104
the changes, and update the way the test peeks inside TimerService
106
2004-07-18 Paul Swartz <z3p@twistedmatrix.com>
108
* twisted/internet/utils.py: By passing errortoo=1, you can get
109
stderr from getProcessOutput
111
2004-07-18 Paul Swartz <z3p@twistedmatrix.com>
113
* twisted/conch/unix.py: if the utmp module is available, record
114
user logins/logouts into utmp/wtmp.
116
2004-06-25 Paul Swartz <z3p@twistedmatrix.com>
117
* twisted/conch/checkers.py: Use functionality of crypt module instead
118
of an external module.
120
2004-06-25 Jp Calderone <exarkun@twistedmatrix.com>
122
* twisted/spread/banana.py: Disabled automatic import and use of
123
cBanana. PB will now use the pure-Python version of banana unless
124
cBanana is manually installed by the application.
126
2004-06-12 Paul Swartz <z3p@twistedmatrix.com>
128
* twisted/conch/client: added -r flag to reconnect to the server if
129
the connection is lost (closes 623).
131
2004-06-06 Dave Peticolas <dave@krondo.com>
133
* twisted/test/test_enterprise.py: test open callback and
136
* twisted/enterprise/adbapi.py: add open callback support
137
and disconnect() method. Issue 480.
139
2004-06-05 Dave Peticolas <dave@krondo.com>
141
* twisted/enterprise/adbapi.py: Don't log sql exceptions (issue 631).
142
Remove deprecated api.
144
* twisted/news/database.py: do not use adbapi.Augmentation
146
2004-06-03 Itamar Shtull-Trauring <itamar@itamarst.org>
148
* twisted/internet/gtk2reactor.py: The choice between glib event
149
loop and gtk+ event loop is determined by argument at reactor
152
2004-05-31 Dave Peticolas <dave@krondo.com>
154
* twisted/enterprise/sqlreflector.py: don't use Augmentation
156
* twisted/enterprise/populate.sql: remove
158
* twisted/enterprise/schema.sql: remove
160
* twisted/enterprise/row.py: remove deprecated classes
162
* twisted/enterprise/dbgadgets.py: remove
164
* twisted/enterprise/dbcred.py: remove
166
* twisted/test/test_enterprise.py: Fix Firebird test case.
168
2004-05-21 Itamar Shtull-Trauring <itamar@itamarst.org>
170
* twisted/internet/gtk2reactor.py: use glib event loop directly
171
instead of gtk2's event loop if possible.
173
2004-05-04 Jp Calderone <exarkun@twistedmatrix.com>
175
* twisted.news, twisted.protocols.nntp: Moved back into trunk
176
pending an alternate split-up strategy.
178
2004-05-04 Itamar Shtull-Trauring <itamar@itamarst.org>
180
* twisted.internet.reactor.listenUDP: transport.write() on UDP
181
ports no longer supports unresolved hostnames (though deprecated
182
support still exists).
184
2004-4-18 Christopher Armstrong <radix@twistedmatrix.com>
186
* twisted/lore/nevowlore.py, twisted/plugins.tml: Added Nevow
187
support for lore. See docstring of twisted.lore.nevowlore.
189
2004-4-18 Christopher Armstrong <radix@twistedmatrix.com>
191
* twisted.news, twisted.protocols.nntp: Moved into a third party
192
package. Deprecated backwards-compatibility exists by importing
193
from the third-party package if available.
195
2004-4-11 Paul Swartz <z3p@twistedmatrix.com>
197
* twisted.conch: refactored the Conch client to separate connecting
198
to a server from user authentication from client-specific actions.
200
2004-03-23 Andrew Bennetts <spiv@twistedmatrix.com>
202
* twisted.protocols.http: Small optimisation to HTTP implementation.
203
This changes return value of toChunk to a tuple of strings, rather
206
2004-4-3 Paul Swartz <z3p@twistedmatrix.com>
208
* twisted.python.lockfile: added lockfile support, based on
210
* twisted.internet.unix.Port: added a wantPID kwarg. If True, it
211
checks for and gets a lockfile for the UNIX socket.
212
* twisted.internet.unix.Connector: added a checkPID kwarg. If True,
213
it checks that the lockfile for the socket is current.
215
2004-03-23 Pavel Pergamenshchik <pp64@cornell.edu>
217
* twisted.internet.iocp: Support for Windows IO Completion Ports.
218
Use with "--reactor=iocp" parameter to twistd or trial.
220
2004-03-20 Itamar Shtull-Trauring <itamar@itamarst.org>
222
* twisted.internet: getHost(), getPeer(), buildProtocol() etc.
223
all use address objects from twisted.internet.address.
225
* twisted/internet/udp.py: Connected UDP support is now part of
226
the standard listenUDP-resulting UDP transport using a connect()
229
2004-03-18 Jp Calderone <exarkun@twistedmatrix.com>
231
* twisted/application/internet.py: Changed TimerService to
232
log errors from the function it calls.
234
* twisted/application/test_application.py: Added test case
235
for logging of exceptions from functions TimerService calls.
237
2004-03-07 Christopher Armstrong <radix@twistedmatrix.com>
239
* .: Releasing Twisted 1.2.1alpha1.
241
2004-03-03 Christopher Armstrong <radix@twistedmatrix.com>
243
* twisted/web/server.py: Fix UnsupportedMethod so that users'
244
allowedMethods are actually honored.
246
* twisted/web/resource.py: (Resource.render) If the resource has
247
an 'allowedMethods' attribute, pass it to UnsupportedMethod.
249
2004-02-27 Andrew Bennetts <spiv@twistedmatrix.com>
251
* twisted/internet/defer.py: Add consumeErrors flag to DeferredList.
252
This takes care of the most common use-case for the recently
253
deprecated addDeferred method.
255
2004-02-28 Dave Peticolas <dave@krondo.com>
257
* setup.py: install tap2rpm as a bin script
259
* twisted/test/test_enterprise.py: Test Firebird db. Fix typos.
261
2004-02-27 Andrew Bennetts <spiv@twistedmatrix.com>
263
* twisted/internet/defer.py: Deprecated DeferredList.addDeferred. It
264
isn't as useful as it looks, and can have surprising behaviour.
266
2004-02-25 Christopher Armstrong <radix@twistedmatrix.com>
268
* twisted/protocols/dns.py: Fixed a bug in TCP support: It
269
wouldn't process any messages after the first, causing AXFR
270
queries to be totally broken (in addition to other problems in the
271
implementation of AXFR).
273
* twisted/names/client.py: Fixed the AXFR client (lookupZone),
274
thanks to DJB's wonderful documentation of the horribleness of
277
2004-02-25 Christopher Armstrong <radix@twistedmatrix.com>
279
* .: Releasing Twisted 1.2.0 final! Same as rc3.
281
2004-02-24 Christopher Armstrong <radix@twistedmatrix.com>
283
* .: Releasing Twisted 1.2.0rc3 (same as rc2, with cBanana bug
286
2004-02-19 Kevin Turner <acapnotic@twistedmatrix.com>
288
* twisted/application/service.py (IService.disownServiceParent)
289
(IServiceCollection.removeService): These may return Deferred if they
290
have asynchronous side effects.
292
2004-02-18 Christopher Armstrong <radix@twistedmatrix.com>
294
* .: Releasing Twisted 1.2.0rc2. Brown-paper bag release bug.
296
2004-02-17 Christopher Armstrong <radix@twistedmatrix.com>
298
* .: Releasing Twisted 1.2.0rc1.
300
2004-02-13 Brian Warner <warner@lothar.com>
302
* doc/howto/faq.xhtml: add entry on transport.getPeer()
304
2004-01-31 Christopher Armstrong <radix@twistedmatrix.com>
306
* .: Releasing Twisted 1.1.2alpha2 (problem with Debian packaging).
308
2004-01-30 Christopher Armstrong <radix@twistedmatrix.com>
310
* .: Releasing Twisted 1.1.2alpha1.
312
2004-01-23 Christopher Armstrong <radix@twistedmatrix.com>
314
* twisted/scripts/trial.py: trial now supports a --coverage
315
option, requiring Python 2.3.3. Give it a directory name (relative
316
to _trial_temp) to put code-coverage info in. It uses the stdlib
319
2004-01-21 Pavel Pergamenshchik <pp64@cornell.edu>
321
* twisted/protocols/stateful.py: A new way to write protocols!
322
Current state is encoded as a pair (func, len). As soon as len
323
of data arrives, func is called with that amount of data. New
324
state is returned from func.
325
* twisted/test/test_stateful.py: Tests and an example, an
326
Int32StringReceiver implementation.
328
2004-01-18 Christopher Armstrong <radix@twistedmatrix.com>
330
* twisted/web/resource.py: The default render method of Resource
331
now supports delegating to methods of the form "render_*" where
332
"*" is the HTTP method that was used to make the
333
request. Examples: request_GET, request_HEAD, request_CONNECT, and
334
so on. This won't break any existing code - when people want to
335
use the better API, they can stop overriding 'render' and instead
336
override individual render_* methods.
338
2004-01-13 Itamar Shtull-Trauring <itamar@itamarst.org>
340
* twisted/web/soap.py: Beginning of client SOAP support.
342
2004-01-10 Andrew Bennetts <spiv@twistedmatrix.com>
344
* twisted/protocols/ftp.py: Added support for partial downloads
345
and uploads to FTPClient (see the offset parameter of retrieveFile).
347
2004-01-09 Jp Calderone <exarkun@twistedmatrix.com>
349
* twisted/protocols/imap4.py: Add IMessageCopier interface to allow
350
for optimized implementations of message copying.
352
2004-01-06 Brian Warner <warner@lothar.com>
354
* twisted/internet/default.py (PosixReactorBase.spawnProcess): add
355
a 'childFDs' argument which allows the child's file descriptors to
356
be arbitrarily mapped to parent FDs or pipes. This allows you to
357
set up additional pipes into the child (say for a GPG passphrase
358
or separate status information).
360
* twisted/internet/process.py (Process): add childFDs, split out
361
ProcessReader and ProcessWriter (so that Process itself is no
362
longer also reading stdout).
364
* twisted/internet/protocol.py (ProcessProtocol): add new
365
childDataReceived and childConnectionLost methods, which default
366
to invoking the old methods for backwards compatibility
368
* twisted/test/test_process.py (FDTest): add test for childFDs
369
mapping. Also add timeouts to most tests, and make all
370
reactor.iterate() loops wait 10ms between iterations to avoid
371
spamming the CPU quite so badly. Closes issue435.
372
* twisted/test/process_fds.py: new child process for FDTest
374
* doc/howto/process.xhtml: document childFDs argument, add example
376
2004-01-04 Itamar Shtull-Trauring <itamar@itamarst.org>
378
* twisted/internet/gladereactor.py: logs all network traffic for
379
TCP/SSL/Unix sockets, allowing traffic to be displayed.
381
2004-01-04 Dave Peticolas <dave@krondo.com>
383
* twisted/test/test_enterprise.py: test deleting rows not in cache
385
* twisted/enterprise/reflector.py: deleted rows don't have to be
388
* doc/examples/row_example.py: use KeyFactory from row_util
390
* doc/examples/row_util.py: add KeyFactory
392
2003-12-31 Brian Warner <warner@lothar.com>
394
* twisted/internet/defer.py (Deferred.setTimeout): if the Deferred
395
has already been called, don't bother with the timeout. This
396
happens when trial.util.deferredResult is used with a timeout
397
argument and the Deferred was created by defer.succeed().
398
* twisted/test/test_defer.py
399
(DeferredTestCase.testImmediateSuccess2): test for same
401
2003-12-31 Jp Calderone <exarkun@twistedmatrix.com>
403
* twisted/protocols/ident.py: Client and server ident implementation
404
* twisted/test/test_ident.py: Test cases for ident protocol
406
2003-12-29 Jp Calderone <exarkun@twistedmatrix.com>
408
* twisted/spread/pb.py: Changed PBServerFactory to use "protocol"
409
instance attribute for Broker creation.
411
2003-12-26 Itamar Shtull-Trauring <itamar@itamarst.org>
413
* twisted/web/server.py: display of tracebacks on web pages can
414
now be disabled by setting displayTracebacks to False on the Site
415
or by using applicable tap option. Woven does not yet use
418
2003-12-23 Itamar Shtull-Trauring <itamar@itamarst.org>
420
* twisted/web/client.py: if Host header is passed, use that
421
instead of extracting from request URL.
423
2003-12-14 Dave Peticolas <dave@krondo.com>
425
* twisted/test/test_enterprise.py: Frederico Di Gregorio's patch
426
adding a psycopg test case.
428
2003-12-09 Christopher Armstrong <radix@twistedmatrix.com>
430
* .: Releasing Twisted 1.1.1, based on rc4.
432
2003-12-06 Itamar Shtull-Trauring <itamar@itamarst.org>
434
* twisted/internet/wxreactor.py: Added experimental wxPython reactor,
435
which seems to work better than the twisted.internet.wxsupport.
437
2003-12-05 Paul Swartz <z3p@twistedmatrix.com>
439
* twisted/conch/ssh/filetransfer.py, session.py: added SFTPv3 support
442
2003-12-04 Christopher Armstrong <radix@twistedmatrix.com>
444
* .: Releasing Twisted 1.1.1rc4, based on rc2. rc3 never happened!
446
2003-12-04 Brian Warner <warner@lothar.com>
448
* twisted/persisted/sob.py (Persistent): fix misspelled class name,
449
add compatibility binding to "Persistant" (sic).
451
* twisted/test/test_sob.py: use Persistent
452
* twisted/application/service.py (Application): use Persistent
454
2003-12-03 Jp Calderone <exarkun@twistedmatrix.com>
456
* twisted/protocols/imap4.py: Added support for the
457
IDLE command (RFC 2177).
459
2003-12-03 Jp Calderone <exarkun@twistedmatrix.com>
461
* twisted/python/log.py: Added exception handling to
462
log publishing code. Observers which raise exceptions
463
will now be removed from the observer list.
465
2003-12-02 Jp Calderone <exarkun@twistedmatrix.com>
467
* .: Releasing Twisted 1.1.1rc3.
469
2003-12-01 Christopher Armstrong <radix@twistedmatrix.com>
471
* .: Releasing Twisted 1.1.1rc2 (from CVS HEAD).
473
2003-12-01 Jp Calderone <exarkun@twistedmatrix.com>
475
* twisted/python/runtime.py: Added seconds method to Platform
478
* twisted/internet/base.py, twisted/internet/task.py: Changed
479
use of time.time() to use Platform.seconds() instead.
481
2003-11-24 Jp Calderone <exarkun@twistedmatrix.com>
483
* twisted/internet/abstract.py: Changed FileDescriptor's
484
registerProducer method to immediately call the given producer's
485
stopProducing method if the FileDescriptor is in the process of
486
or has finished disconnecting.
488
2003-11-24 Jp Calderone <exarkun@twistedmatrix.com>
490
* twisted/protocols/imap4.py: Fix incorrect behavior of closing the
491
mailbox in response to an EXPUNGE command.
493
2003-11-21 Jp Calderone <exarkun@twistedmatrix.com>
495
* twisted/trial/runner.py: Added missing calls to setUpClass and
496
tearDownClass in SingletonRunner.
498
2003-11-21 Christopher Armstrong <radix@twistedmatrix.com>
500
* .: Releasing Twisted 1.1.1rc1.
502
2003-11-20 Jp Calderone <exarkun@twistedmatrix.com>
504
* twisted/protocols/imap4.py: Fixed incorrect generation of
505
INTERNALDATE information.
507
2003-11-20 Jp Calderone <exarkun@twistedmatrix.com>
509
* twisted/internet/abstract.py: Added an assert to
510
FileDescriptor.resumeProducing to prevent it from being
511
called when the transport is no longer connected.
513
2003-11-20 Jp Calderone <exarkun@twistedmatrix.com>
515
* twisted/internet/tasks.py: LoopingCall added.
517
2003-10-14 Itamar Shtull-Trauring <itamar@itamarst.org>
519
* twisted/internet/tasks.py: Deprecated scheduling API removed.
521
2003-11-18 Jonathan Simms <jonathan@embassynetworks.com>
523
* twisted/protocols/ftp.py: refactored to add cred support,
524
pipelining, security.
525
* twisted/test/test_ftp.py: tests for the new ftp
527
2003-11-18 Sam Jordan <sam@twistedmatrix.com>
529
* twisted/protocols/msn.py: support for MSNP8
530
* doc/examples/msn_example.py: small msn example
532
2003-11-13 Paul Swartz <z3p@twistedmatrix.com>
534
* twisted/conch/ssh/agent.py: support for the OpenSSH agent protocol
535
* twisted/conch/ssh/connection.py: fix broken channel retrieval code
536
* twisted/conch/ssh/userauth.py: refactoring to allow use of the agent
537
* twisted/conch/ssj/transport.py: fix intermittent test failure
538
* twisted/internet/protocol.py: add UNIX socket support to
540
* twisted/scripts/conch.py: use the key agent if available, also
543
2003-11-07 Brian Warner <warner@lothar.com>
545
* twisted/application/app.py (getApplication): provide a more
546
constructive error message when a .tac file doesn't define
547
'application'. Closes issue387.
549
2003-11-01 Paul Swartz <z3p@twistedmatrix.com>
551
* twisted/conch/ssh/common.py: use GMPy for faster math if it's
554
2003-10-24 Christopher Armstrong <radix@twistedmatrix.com>
556
* .: Releasing Twisted 1.1.0 final. Same codebase as rc2.
558
2003-10-24 Brian Warner <warner@lothar.com>
560
* doc/howto/test-standard.xhtml: Add section on how to clean up.
562
* twisted/test/test_conch.py: improve post-test cleanup. Addresses
563
problems seen in issue343.
565
* twisted/internet/base.py (ReactorBase.callLater): prefix
566
"internal" parameter names with an underscore, to avoid colliding
567
with named parameters in the user's callback invocation. Closes
569
(ReactorBase.addSystemEventTrigger)
570
(ReactorBase.callWhenRunning)
571
(ReactorBase.callInThread): same
572
* doc/howto/coding-standard.xhtml (Callback Arguments): explain why
574
2003-10-22 Christopher Armstrong <radix@twistedmatrix.com>
576
* .: Releasing Twisted 1.1.0rc2.
578
2003-10-21 Andrew Bennetts <spiv@twistedmatrix.com>
580
* twisted/lore/tree.py, twisted/lore/lint.py,
581
doc/howto/stylesheet.css: add a plain 'listing' class, for file
582
listings that aren't python source or HTML. This has slightly changed
583
the classes in the generated HTML, so custom stylesheets may need
586
2003-10-16 Christopher Armstrong <radix@twistedmatrix.com>
588
* .: Releasing Twisted 1.1.0alpha3.
590
2003-10-16 Brian Warner <warner@lothar.com>
592
* doc/howto/pb-cred.xhtml: update for newcred. Closes issue172.
594
2003-10-15 Brian Warner <warner@lothar.com>
596
* twisted/internet/base.py: add optional debug code, enabled with
597
base.DelayedCall.debug=True . If active, the call stack which
598
invoked reactor.callLater will be recorded in each DelayedCall. If
599
an exception happens when the timer function is run, the creator
600
stack will be logged in addition to the usual log.deferr().
602
* twisted/internet/defer.py: add some optional debug code, enabled
603
with defer.Deferred.debug=True . If active, it will record a stack
604
trace when the Deferred is created, and another when it is first
605
invoked. AlreadyCalledErrors will be given these two stack traces,
606
making it slightly easier to find the source of the problem.
608
2003-10-15 Christopher Armstrong <radix@twistedmatrix.com>
610
* .: Releasing Twisted 1.1.0alpha2 (alpha1 was dead in the water).
612
2003-10-15 Brian Warner <warner@lothar.com>
614
* setup.py: remove cReactor/ to the sandbox. Closes issue318.
616
2003-10-14 Itamar Shtull-Trauring <itamar@itamarst.org>
618
* twisted/web/static.py: registry no longer has support for
619
getting services based on their interfaces.
621
2003-10-14 Christopher Armstrong <radix@twistedmatrix.com>
623
* .: Releasing Twisted 1.1.0alpha1.
625
2003-10-13 Bob Ippolito <bob@redivi.com>
627
* doc/howto/choosing-reactor.xhtml:
628
Added cfreactor/Cocoa information.
630
* doc/examples/cocoaDemo:
631
Removed, replaced by doc/examples/Cocoa cfreactor demos.
633
* doc/examples/Cocoa:
634
Moved from sandbox/etrepum/examples/PyObjC, cleaned up.
636
* twisted/internet/cfsupport, twisted/internet/cfreactor.py:
637
Moved from sandbox/etrepum, cleaned up.
639
* twisted/application/app.py:
640
Added 'cf' -> twisted.internet.cfreactor to reactorTypes
643
sys.platform=='darwin' - build cfsupport, do not build cReactor.
646
Changed URL of pimp repository to shorter version.
648
2003-10-12 Jp Calderone <exarkun@twistedmatrix.com>
650
* bin/tktwistd, twisted/scripts/tktwistd.py, doc/man/tktwistd.1:
653
2003-10-12 Itamar Shtull-Trauring <itamar@itamarst.org>
655
* twisted/spread/pb.py: Perspective Broker no longer sends
656
detailed tracebacks over the wire unless the "unsafeTracebacks"
657
attribute is set of the factory.
659
2003-10-02 Jp Calderone <exarkun@twistedmatrix.com>
661
* setup.py, twisted/test/test_dir.py, twisted/python/_c_dir.c:
662
Removed _c_dir extension module for portability and maintenance
665
2003-10-03 Moshe Zadka <moshez@twistedmatrix.com>
667
* twisted/spread/util.py twisted/test/test_spread.py: Fix issue
670
2003-10-01 Brian Warner <warner@lothar.com>
672
* twisted/web/client.py (HTTPDownloader): accept either a filename
673
or a file-like object (it must respond to .write and .close, and
674
partial requests will not be used with file-like objects). errback
675
the deferred if an IOError occurs in .open, .write. or .close,
676
usually something like "permission denied" or "file system full".
678
* twisted/test/test_webclient.py (WebClientTestCase.write): verify
679
that the errback gets called
681
* twisted/scripts/trial.py (run): add --until-failure option to
682
re-run the test until something fails. Closes issue87.
684
2003-09-30 Brian Warner <warner@lothar.com>
686
* twisted/test/test_conch.py (testOurServerOpenSSHClient): replace
687
reactor.run() with .iterate calls: when using .run, exceptions in
688
the server cause a hang.
690
2003-9-29 Moshe Zadka <moshez@twistedmatrix.com>
692
* twisted/tap/procmon.py twisted/plugins.tml: remove procmon
693
tap. It was crufty and hard to port properly to new application.
695
2003-09-29 Brian Warner <warner@lothar.com>
697
* twisted/scripts/trial.py (Options.opt_reactor): make trial
698
accept the same reactor-name abbreviations as twistd does. Closes
700
(top): add test-case-name tag
702
* doc/man/trial.1: document the change
704
2003-09-28 Christopher Armstrong <radix@twistedmatrix.com>
706
* .: Releasing Twisted 1.0.8alpha3.
708
2003-09-27 Cory Dodt <corydodt@yahoo.com>
710
* win32/main.aap win32/pyx.x-foo.iss.template win32/README.win32:
711
Be nice to people who don't install Python for "All Users" on win32.
713
2003-9-18 Moshe Zadka <moshez@twistedmatrix.com>
715
* twisted/application/strports.py twisted/test/test_strports.py:
716
New API/mini-language for defining ports
718
2003-9-18 Moshe Zadka <moshez@twistedmatrix.com>
720
* twisted/web/spider.py: removed, it was unmaintained.
722
2003-09-19 Christopher Armstrong <radix@twistedmatrix.com>
724
* twisted/names/authority.py twisted/test/test_names.py
725
twisted/protocols/dns.py: Client and server support for TTLs on
726
all records. All Record_* types now take a ttl= keyword
727
argument. You can pass the ttl= argument to all the record classes
728
in your pyzones, too.
730
2003-09-19 Moshe Zadka <moshez@twistedmatrix.com>
732
* twisted/application/__init__.py twisted/application/app.py
733
twisted/application/compat.py twisted/application/internet.py
734
twisted/application/service.py twisted/scripts/twistd.py
735
twisted/scripts/twistw.py twisted/scripts/mktap.py
736
twisted/scripts/tapconvert.py bin/twistw: Update to new-style
739
2003-09-19 Jp Calderone <exarkun@twistedmatrix.com>
741
* twisted/names/client.py: Instantiation of theResolver global made
742
lazy. As a result importing it directly will now fail if it has not
743
yet been created. It should not be used directly anymore; instead,
744
use the module-scope lookup methods, or instantiate your own
747
* twisted/mail/relaymanager.py: Instantiation of MXCalculator made
750
2003-09-18 Stephen Thorne <stephen@thorne.id.au>
752
* twisted/web/distrib.py: Removed dependancy on twisted.web.widgets, and
755
2003-09-18 Stephen Thorne <stephen@thorne.id.au>
757
* doc/howto/woven-reference.html: Added this new documentation file.
758
* doc/howto/index.html: Added woven-reference to index
759
* admin/: Added woven-reference.tex to book.tex
761
2003-09-18 Stephen Thorne <stephen@thorne.id.au>
763
* twisted/web/woven/widgets.py: Stop the 'Option' widget from having a
764
name="" attribute. Closes issue255.
766
2003-09-16 Christopher Armstrong <radix@twistedmatrix.com>
768
* .: Releasing Twisted 1.0.8alpha1.
770
* .: Releasing Twisted 1.0.8alpha2 (Fixed Debian packages).
772
2003-09-13 Christopher Armstrong <radix@twistedmatrix.com>
774
* .: Releasing Twisted 1.0.7 (no code changes since 1.0.7rc1).
776
* twisted/web/vhost.py: Un-gobble the path segment that a vhost eats
777
when the resource we're wrapping isLeaf. Potentially closes issue125.
779
2003-09-12 Itamar Shtull-Trauring <itamar@itamarst.org>
781
* twisted/web/microdom.py: lenient mode correctly handles <script>
782
tags with CDATA or comments protecting the code (closes issue #231).
784
2003-09-10 Tommi Virtanen <tv@twistedmatrix.com>
786
* HTTPS support for XML-RPC and web clients (closes issue #236).
788
2003-08-29 Christopher Armstrong <radix@twistedmatrix.com>
790
* .: Releasing Twisted 1.0.7rc1.
792
2003-09-12 Itamar Shtull-Trauring <itamar@itamarst.org>
794
* twisted/spread/pb.py: new cred support for Perspective Broker.
796
2003-08-26 Dave Peticolas <dave@krondo.com>
798
* doc/howto/xmlrpc.html: document sub-handler and introspection
800
* twisted/test/test_xmlrpc.py: test introspection support
802
* twisted/web/xmlrpc.py: implement sub-handlers and introspection
805
2003-08-23 Brian Warner <warner@lothar.com>
807
* twisted/internet/gtk2reactor.py: force timeout values to be
808
integers, because recent pygtk's complain when they get floats
810
2003-08-19 Christopher Armstrong <radix@twistedmatrix.com>
812
* .: Releasing Twisted 1.0.7alpha5.
814
2003-08-18 Jp Calderone <exarkun@twistedmatrix.com>
816
* twisted/protocols/imap4.py: Remove support code for old versions
817
of IMailbox.fetch(); also change the interface once again (no
818
backwards compat this time) to require sequence numbers to be
819
returned, not just whatever the MessageSet spit out.
821
2003-08-16 Dave Peticolas <dave@krondo.com>
823
* twisted/test/test_import.py: update for enterprise
825
* twisted/enterprise/sqlreflector.py: use dbpool directly
827
* twisted/enterprise/row.py: deprecate KeyFactory and StatementBatch
829
* twisted/enterprise/dbpassport.py: remove
831
* twisted/enterprise/dbgadgets.py: deprecate all
833
* twisted/enterprise/dbcred.py: deprecate all
835
* twisted/enterprise/adbapi.py: deprecate Augmentation. deprecate
836
crufty bits of ConnectionPool API.
838
2003-08-11 Dave Peticolas <dave@krondo.com>
840
* twisted/enterprise/sqlreflector.py: fix docs
842
2003-08-08 Donovan Preston <dp@twistedmatrix.com>
844
* Added getAllPatterns API to Widget, which returns all nodes
845
which have the given pattern name.
847
* Refactored List widget to use getAllPatterns, so you can have
848
more than one listHeader, listFooter, and emptyList node.
850
2003-08-08 Dave Peticolas <dave@krondo.com>
852
* twisted/internet/base.py: remove unused internal function.
854
* twisted/internet/gladereactor.py: remove unused internal function.
857
2003-08-07 Christopher Armstrong <radix@twistedmatrix.com>
859
* .: Releasing Twisted 1.0.7alpha4.
861
2003-08-06 Donovan Preston <dp@twistedmatrix.com>
863
* Major woven optimizations.
865
* Removal of inspect-based hacks allowing backwards compatibility
866
with the old IModel interface. All your IModel methods should take
867
the request as the first argument now.
869
* Default to non-case-preserving when importing Woven templates,
870
and case-insensitive microdom. If you are using getPattern or
871
getAttribute in any of your woven code, you will have to make sure
872
to pass all lowercase strings.
874
* Removal of __eq__ magic methods in microdom. This was just
875
slowing woven down far too much, since without it python can
876
use identity when looking for a node in replaceChild. This means
877
you will have to explicitly use the isEqualToDocument or
878
isEqualToNode call if you are testing for the equality of microdom
881
* Removal of usage of hasAttribute, getAttribute, removeAttribute
882
from woven for a speed gain at the expense of tying woven slightly
883
closer to microdom. Nobody will notice.
885
* Improved getPattern semantics thanks to a patch by Rich
886
Cavenaugh. getPattern will now not look for a pattern below any
887
nodes which have model= or view= directives on them.
889
2003-08-04 Dave Peticolas <dave@krondo.com>
891
* twisted/python/usage.py: use parameter docs if handler
892
method has none. fixes bug displaying trial help.
894
2003-07-31 Brian Warner <warner@lothar.com>
896
* twisted/python/filepath.py (FilePath.__getstate__): allow
897
FilePath objects to survive unpersisting.
899
2003-07-30 Brian Warner <warner@lothar.com>
901
* doc/howto/faq.html: mention spawnProcess vs. os.environ
903
* doc/howto/test-standard.html: document usage of .todo and .skip
905
2003-07-28 Brian Warner <warner@lothar.com>
907
* twisted/python/_c_dir.c: hush compiler warning
909
* setup.py: add twisted.xish
911
2003-07-28 Itamar Shtull-Trauring <itamar@itamarst.org>
913
* twisted/spread/pb.py (PBClientFactory): a new, superior API for
914
starting PB connections. Create a factory, do a
915
reactor.connectTCP/SSL() etc., then factory.getPerspective().
917
2003-07-27 Dave Peticolas <dave@krondo.com>
919
* twisted/test/test_enterprise.py: enable tests that depend on
922
* twisted/enterprise/adbapi.py: use threadpool to handle cp_min and
925
* twisted/test/test_threadpool.py: test existing work
927
* twisted/python/threadpool.py: check for existing work in start()
929
2003-07-25 Jp Calderone <exarkun@twistedmatrix.com>
931
* twisted/protocols/imap4.py: The fetch method of the IMailbox
932
interface has been changed to accept only a MessageSet and a uid
933
argument and to return an IMessage implementor.
935
2003-07-24 Brian Warner <warner@lothar.com>
937
* twisted/internet/cReactor/cDelayedCall.c: implement .active and
940
* twisted/test/test_internet.py (InterfaceTestCase.wake): remove
941
reactor.initThreads() call. This is a private method which is
942
triggered internally by the current reactor when threadable.init
943
is called. It does not need to be called independently, and not
944
all reactors implement this particular method.
946
* twisted/test/test_threads.py: shuffle test cases, add timeouts
947
to avoid hanging tests. Added (disabled) test to trigger cReactor
948
hang (but unfortunately it fails under the default reactor)
950
2003-07-23 Dave Peticolas <dave@krondo.com>
952
* twisted/internet/threads.py: avoid top-level reactor import
954
2003-07-23 Jp Calderone <exarkun@twistedmatrix.com>
956
* twisted/protocols/imap4.py: The fetch method of the IMailbox
957
interface has been changed to accept a list of (non-string)
958
objects representing the requested message parts. Less knowledge
959
of the IMAP4 protocol should be required to properly implement
962
2003-07-23 Dave Peticolas <dave@krondo.com>
964
* twisted/test/test_enterprise.py: more tests
966
2003-07-21 Dave Peticolas <dave@krondo.com>
968
* twisted/internet/base.py: implement callWhenRunning
970
* twisted/internet/interfaces.py: add callWhenRunning API
972
* twisted/test/test_pop3.py: string in string only works in 2.3
974
2003-07-19 Christopher Armstrong <radix@twistedmatrix.com>
976
* .: Releasing Twisted 1.0.7alpha3 (for form and twisted.names
977
updates mentioned below).
979
2003-07-19 Ying Li <cyli@ai.mit.edu>
981
* twisted/web/woven/form.py: Changed form widgets so that if the
982
template already has the widget coded, merges the template widget
983
with the model widget (sets default values, etc.).
985
* twisted/web/woven/form.py, twisted/python/formmethod.py: Can
986
format layout of checkgroups and radiogroups into tables, rows, or
989
* twisted/web/woven/form.py, twisted/python/formmethod.py: Added
990
file input widget (unable to retrieve filename or file type - have
991
to ask for that separately).
993
2003-07-19 Christopher Armstrong <radix@twistedmatrix.com>
995
* twisted/protocols/dns.py, twisted/names: Twisted Names can now
996
return the `authoritative' bit. All of the resolvers in
997
twisted/names/authority.py now set it.
999
2003-07-17 Christopher Armstrong <radix@twistedmatrix.com>
1001
* .: Releasing Twisted 1.0.7alpha2 (Debian packages should be
1004
2003-07-17 Dave Peticolas <dave@krondo.com>
1006
* doc/howto/components.html: methods in interfaces do have self
1009
2003-07-18 Christopher Armstrong <radix@twistedmatrix.com>
1011
* twisted/web/client.py: Added a `timeout' keyword argument to
1012
getPage; If the web page takes longer than `timeout' to fetch,
1013
defer.TimeoutError is errbacked.
1015
* twisted/web/server.py, twisted/protocols/http.py: add `timeout'
1016
argument to HTTPFactory and Site to specify how long to allow
1017
connections to sit without communication before disconnecting
1020
2003-07-18 Christopher Armstrong <radix@twistedmatrix.com>
1022
* .: Releasing Twisted 1.0.7alpha1.
1024
2003-07-17 Jp Calderone <exarkun@twistedmatrix.com>
1026
* twisted/protocols/smtp.py: Address class changed to provide a
1027
default domain for addresses missing a domain part.
1029
2003-07-16 Christopher Armstrong <radix@twistedmatrix.com>
1031
* twisted/protocols/sux.py: In beExtremelyLenient mode, all data
1032
in script elements is considered plain text and will not be parsed
1033
for tags or entity references.
1035
2003-07-15 Dave Peticolas <dave@krondo.com>
1037
* twisted/persisted/styles.py: better debugging output
1040
2003-07-14 Jp Calderone <exarkun@twistedmatrix.com>
1042
* twisted/cred/checkers.py, twisted/cred/credentials.py:
1043
CramMD5Credentials and OnDiskUsernamePasswordDatabase added;
1044
IUsernameHashedPassword also created for use by protocols that
1045
do not receive plaintext passwords over the network.
1047
* twisted/mail/, twisted/protocols/smtp.py: Addition of alias
1048
support and authenticated ESMTP connections. Several interfaces
1049
changed, but deprecation warnings and backwards compatibility code
1050
has been put in place to ease the change.
1052
2003-07-12 Christopher Armstrong <radix@twistedmatrix.com>
1054
* twisted/web/util.py: Add a new ChildRedirector that, when placed
1055
at /foo to redirect to /bar, will also redirect /foo/abc to
1058
* twisted/web/scripts.py: Fixed ResourceScriptWrapper so that you
1059
can now .putChild on the resource you create in an .rpy file that
1060
is wrapped with this class.
1062
2003-07-06 Paul Swartz <z3p@twistedmatrix.com>
1063
* twisted/conch/[checkers,credentials,pamauth].py,
1064
twisted/conch/ssh/userauth.py, twisted/tap/conch.py: made PAM
1065
work again as an authentication.
1067
2003-07-05 Dave Peticolas <dave@krondo.com>
1069
* twisted/test/test_enterprise.py: more tests. Add mysql test.
1071
2003-07-05 Itamar Shtull-Trauring <itamar@itamarst.org>
1073
* twisted/web/soap.py: Now requires SOAPpy v0.10.1, allow subclasses
1074
to determine method publishing strategy.
1076
2004-07-05 Jp Calderone <exarkun@twistedmatrix.com>
1078
* bin/mailmail, doc/man/mailmail.1, twisted/scripts/mailmail.py:
1079
sendmail replacement
1081
2003-07-04 Dave Peticolas <dave@krondo.com>
1083
* twisted/test/test_enterprise.py: add sqlite. more tests.
1086
* twisted/enterprise/util.py: fix bug in getKeyColumn
1088
* twisted/enterprise/sqlreflector.py: clean up imports
1090
* twisted/enterprise/row.py: clean up imports
1092
* twisted/enterprise/reflector.py: clean up imports
1094
2004-07-04 Jp Calderone <exarkun@twistedmatrix.com>
1096
* twisted/python/dir.c: Wrapper around opendir(3), readdir(3),
1097
and scandir(3) for use by twisted.python.plugins.
1099
2003-07-03 Jp Calderone <exarkun@twistedmatrix.com>
1101
* twisted/news/database.py: NewsShelf.articleRequest() and
1102
NewsShelf.bodyRequest() now expected to return a file-like object
1103
in the last position of its returned three-tuple. The old API
1104
is still supported, but deprecated.
1106
2003-07-03 Dave Peticolas <dave@krondo.com>
1108
* twisted/test/test_enterprise.py: add gadfly test
1110
* twisted/web/woven/input.py: remove excess newline.
1112
* twisted/trial/unittest.py: take out unused methodPrefix var
1114
* twisted/enterprise/adbapi.py: accept 'noisy' kw arg. persist
1115
noisy, min, and max args. just warn about non-dbapi db libs.
1117
* twisted/enterprise/reflector.py: fix spelling
1119
* twisted/enterprise/sqlreflector.py 80 columns, don't addToCache
1122
* twisted/enterprise/xmlreflector.py: 80 columns
1124
2003-07-01 Brian Warner <warner@lothar.com>
1126
* sandbox/warner/fusd_twisted.py: experimental glue code for FUSD,
1127
a system for implementing Linux device drivers in userspace
1129
2003-06-27 Christopher Armstrong <radix@twistedmatrix.com>
1131
* .: Releasing Twisted 1.0.6rc3. Fixed a security bug in
1134
* .: Releasing Twisted 1.0.6rc4. One more twisted.web bug.
1136
* .: Releasing Twisted 1.0.6.
1138
2003-06-26 Christopher Armstrong <radix@twistedmatrix.com>
1140
* .: Releasing Twisted 1.0.6rc1.
1142
* .: Releasing Twisted 1.0.6rc2. Pop3 had failing tests.
1144
2003-06-26 Clark C. Evans <cce@twistedmatrix.com>
1146
* twisted/flow/*.py: Moved Flow from the sandbox to
1147
twisted.flow. The callback is dead. Long live the callback!
1149
2003-06-26 Jp Calderone <exarkun@twistedmatrix.com>
1151
* twisted/protocols/pop3.py: POP3.authenticateUserXYZ no longer
1152
returns a Mailbox object. It now returns a 3-tuple. See
1153
twisted.cred.portal.Portal.login for more details about the return
1156
2003-06-24 Brian Warner <warner@lothar.com>
1158
* doc/howto/upgrading.html: Explain Versioned and rebuild()
1160
2003-06-23 Christopher Armstrong <radix@twistedmatrix.com>
1162
* twisted/scripts/trial.py twisted/trial/reporter.py
1165
Added a --tbformat={plain,emacs} option to trial. Now the default
1166
is to show the regular python traceback; if you want tracebacks
1167
that look like compiler output for emacs, use --tbformat=emacs.
1169
2003-06-23 Cory Dodt <corydodt@yahoo.com>
1171
* twisted/python/util.py twisted/web/microdom.py
1172
twisted/test/test_{util,xml}.py: preserveCase and caseInsensitive
1173
work on attribute names as well as element names.
1175
2003-06-22 Jp Calderone <exarkun@twistedmatrix.com>
1177
* twisted/internet/defer.py: Changed maybeDeferred API from
1178
maybeDeferred(deferred, f, *args, **kw) to maybeDeferred(f, *args,
1181
2003-06-19 Paul Swartz <z3p@twistedmatrix.com>
1183
* twisted/conch/{checkers,credentials,realm}.py,
1184
twisted/conch/ssh/userauth.py: Moved the Conch user authentication
1185
code to use the new version of Cred.
1187
2003-06-19 Christopher Armstrong <radix@twistedmatrix.com>
1189
* .: Releasing Twisted 1.0.6alpha3. There was a problem in
1190
twisted.python.compat that was breaking the documentation
1191
building. It is now fixed.
1193
2003-06-18 Christopher Armstrong <radix@twistedmatrix.com>
1195
* .: Releasing Twisted 1.0.6alpha2.
1197
2003-06-16 Donovan Preston <dp@twistedmatrix.com>
1199
* twisted/web/woven/{controller,view,widgets}.py: Cleaned up the
1200
output of Woven so it never leaves any woven-specific attributes
1201
on the output HTML. Also, id attributes are not set on every
1202
node with a View unless you are using LivePage.
1204
2003-06-11 Brian Warner <warner@lothar.com>
1206
* doc/howto/cvs-dev.html: add "Working from CVS" hints
1208
2003-06-10 Itamar Shtull-Trauring <itamar@itamarst.org>
1210
* twisted/internet/protocol.py: connection refused errors for
1211
connected datagram protocols (connectUDP) are indicated using
1212
callback, ConnectedDatagramProtocol.connectionRefused, rather
1213
than an exception as before.
1215
2003-06-09 Christopher Armstrong <radix@twistedmatrix.com>
1217
* twisted/trial/{unittest,runner}.py: Added setUpClass and
1218
tearDownClass methods and invocations to twisted.trial. Implement
1219
those methods in your TestCases if you want to manage resources on
1222
2003-06-09 Jp Calderone <exarkun@twistedmatrix.com>
1224
* twisted/mail/relay.py: Default relaying rule change from all
1225
local and all non-INET connections to all local and all UNIX
1228
2003-06-08 Jp Calderone <exarkun@twistedmatrix.com>
1230
* twisted/internet/interfaces.py: Added ITLSTransport interface,
1231
subclassing ITCPTransport and adding one method - startTLS()
1233
* twisted/internet/tcp.py: Connector class made to implement
1234
ITLSTransport if TLS is available.
1236
2003-06-05 Brian Warner <warner@lothar.com>
1238
* twisted/conch/ssh/transport.py (ssh_KEX_DH_GEX_INIT): don't use
1239
small values for DH parameter 'y'. openssh rejects these because they
1240
make it trivial to reconstruct the shared secret. This caused a test
1241
failure about 1024 times out of every 65536.
1243
* twisted/test/test_dirdbm.py (DirDbmTestCase.testModificationTime):
1244
dodge a kernel bug that lets mtime get skewed from time(), causing
1245
an occasional test failure
1247
2003-06-03 Jp Calderone <exarkun@twistedmatrix.com>
1249
* twisted/__init__.py twisted/internet/app.py
1250
* twisted/internet/unix.py twisted/internet/tcp.py
1251
* twisted/manhole/ui/gtk2manhole.py twisted/protocols/dns.py
1252
* twisted/protocols/smtp.py twisted/protocols/sux.py
1253
* twisted/protocols/imap4.py twisted/protocols/sip.py
1254
* twisted/protocols/htb.py twisted/protocols/pcp.py
1255
* twisted/python/formmethod.py twisted/python/reflect.py
1256
* twisted/python/util.py twisted/python/components.py
1257
* twisted/spread/jelly.py twisted/spread/newjelly.py
1258
* twisted/test/test_components.py twisted/test/test_rebuild.py
1259
* twisted/test/test_trial.py twisted/test/test_world.py
1260
* twisted/test/test_setup.py twisted/test/test_newjelly.py
1261
* twisted/test/test_compat.py twisted/test/test_pcp.py
1262
* twisted/test/test_log.py twisted/web/microdom.py
1263
* twisted/web/woven/page.py twisted/popsicle/mailsicle.py
1264
* twisted/trial/remote.py twisted/trial/unittest.py
1265
* twisted/world/allocator.py twisted/world/compound.py
1266
* twisted/world/database.py twisted/world/storable.py
1267
* twisted/world/structfile.py twisted/world/typemap.py:
1269
Remove direct usage of twisted.python.compat; Modify __builtin__
1270
module to include forward-compatibility hacks.
1272
2003-05-30 Brian Warner <warner@lothar.com>
1274
* twisted/conch/ssh/keys.py (signData_dsa): Force DSS signature
1275
blobs to be 20 bytes long. About 1% of the time, the sig numbers
1276
would come out small and fit into 19 bytes, which would result in
1277
an invalid signature.
1278
* twisted/test/test_conch.py: remove special hacked test case used
1279
to find that invalid-signature problem.
1281
2003-05-29 Brian Warner <warner@lothar.com>
1283
* twisted/python/formmethod.py: this module needs False from compat
1285
* twisted/internet/process.py (ProcessWriter.writeSomeData):
1286
Accomodate Mac OS-X, which sometimes raises OSError(EAGAIN)
1287
instead of IOError(EAGAIN) when the pipe is full.
1289
2003-05-27 Brian Warner <warner@lothar.com>
1291
* twisted/test/test_process.py (EchoProtocol): try to close
1292
occasional test failure. Do transport.closeStdin() instead of
1293
loseConnection() because the child still has data to write (to
1294
stderr). Closing all three streams takes away its voice, forces it
1295
to exit with an error, and is probably causing problems.
1297
* twisted/test/test_factories.py (testStopTrying): stop test after
1298
5 seconds rather than 2000 iterations. Some reactors iterate at
1301
2003-05-24 Brian Warner <warner@lothar.com>
1303
* twisted/scripts/trial.py (Options.opt_testmodule): ignore
1304
deleted files, recognize twisted/test/* files as test cases
1306
2003-05-22 Brian Warner <warner@lothar.com>
1308
* twisted/test/test_newjelly.py (JellyTestCase.testUnicode): make
1309
sure unicode strings don't mutate into plain ones
1311
2003-05-21 Brian Warner <warner@lothar.com>
1313
* twisted/internet/tcp.py (Connection.getTcpKeepAlive): Add
1314
functions to control SO_KEEPALIVE bit on TCP sockets.
1315
* twisted/internet/interfaces.py (ITCPTransport): ditto
1316
* twisted/test/test_tcp.py (LoopbackTestCase.testTcpKeepAlive):
1319
* doc/howto/test-standard.html: document test-case-name format
1321
* doc/howto/coding-standard.html: encourage test-case-name tags
1323
* twisted/protocols/htb.py, twisted/protocols/irc.py,
1324
twisted/protocols/pcp.py, twisted/python/text.py,
1325
twisted/spread/pb.py, twisted/trial/remote.py: clean up
1328
* twisted/scripts/trial.py (Options.opt_testmodule): try to handle
1329
test-case-name tags the same way emacs does
1331
2003-05-21 Christopher Armstrong <radix@twistedmatrix.com>
1333
* bin/coil, doc/man/coil.1, doc/man/index.html: removed. Coil
1334
isn't being maintained, pending a total rewrite.
1336
2003-05-20 Brian Warner <warner@lothar.com>
1338
* twisted/python/reflect.py (namedAny): re-raise ImportErrors that
1339
happen inside the module being imported, instead of assuming that
1340
it means the module doesn't exist.
1342
2003-05-19 Christopher Armstrong <radix@twistedmatrix.com>
1344
* twisted/web/server.py: Added two new methods to Request objects:
1345
rememberRootURL and getRootURL. Calling rememberRootURL will store
1346
the already-processed part of the URL on the request, and calling
1347
getRootURL will return it. This is so you can more easily link to
1348
disparate parts of your web application.
1350
* twisted/web/woven/{page,widgets}.py: Updated Woven to take
1351
advantage of previously-mentioned Request changes. You can now say
1352
`appRoot = True' in the Page subclass that is instantiated by your
1353
.rpy (for example), and then use a RootRelativeLink widget
1354
(exactly the same way you use a Link widget) to get a link
1355
relative to your root .rpy.
1357
2003-05-16 Brian Warner <warner@lothar.com>
1359
* twisted/scripts/trial.py: catch failures during import of test
1360
modules named on the command line too.
1362
* twisted/trial/unittest.py (TestSuite.addModule): catch all failures
1363
during import so that syntax errors in test files don't prevent
1364
other tests from being run.
1366
* twisted/trial/reporter.py (TextReporter): handle both Failures
1367
and exception tuples in import errors. Emit the messages before the
1368
last summary line so that test-result parsers can still find the
1371
* doc/howto/faq.html: Add note about Ephemeral in the
1372
import-from-self twistd entry.
1374
2003-05-13 Brian Warner <warner@lothar.com>
1376
* twisted/trial/runner.py: sort tests by name within a TestCase
1378
2003-05-13 Christopher Armstrong <radix@twistedmatrix.com>
1380
* twisted/internet/{default,internet}.py: Add an `active' method to
1381
DelayedCall, which returns True if it hasn't been called or
1384
2003-05-13 Jonathan Lange <jml@twistedmatrix.com>
1386
* twisted/trial/unittest.py twisted/scripts/trial.py
1387
doc/man/trial.1: Add --recurse option to make trial search within
1388
sub-packages for test modules.
1390
2003-5-12 Moshe Zadka <moshez@twistedmatrix.com>
1392
* twisted/lore/default.py twisted/lore/latex.py
1393
twisted/lore/lint.py twisted/lore/math.py twisted/lore/tree.py
1394
twisted/lore/lmath.py twisted/lore/slides.py:
1395
Added indexing support to LaTeX and lint, and made sure the
1396
config dictionary is passed to the tree processors [this is an
1397
API change which might have effect on Lore extensions!]. Rename
1398
math to lmath, to avoid some corner-case bugs where it gets mixed
1399
with the Python standard module "math".
1401
2003-05-11 Christopher Armstrong <radix@twistedmatrix.com>
1403
* .: Releasing Twisted 1.0.6alpha1. There was a problem
1404
with file descriptors in 1.0.5; some debugging information
1405
has been added to this release. The problem should be fixed
1408
2003-05-08 Christopher Armstrong <radix@twistedmatrix.com>
1410
* .: Releasing Twisted 1.0.5 (same code-base as rc2).
1412
2003-05-08 Glyph Lefkowitz <glyph@twistedmatrix.com>
1414
* twisted/world: Added an object database to Twisted. This is
1415
still highly experimental!
1417
2003-5-6 Moshe Zadka <moshez@twistedmatrix.com>
1419
* twisted/trial/reporter.py twisted/scripts/trial.py: Add --timing
1420
option to make the reporter output wall-clock time.
1422
2003-05-05 Brian Warner <warner@lothar.com>
1424
* setup.py (setup_args): s/licence/license/, preferred in python-2.3
1426
2003-05-05 Christopher Armstrong <radix@twistedmatrix.com>
1428
* .: Releasing Twisted 1.0.5rc1.
1430
* .: Releasing Twisted 1.0.5rc2 (only a Debian build problem fixed).
1432
2003-05-05 Brian Warner <warner@lothar.com>
1434
* twisted/trial/reporter.py: remove ResultTypes, it doesn't really
1437
* twisted/trial/unittest.py: move log.startKeepingErrors() from
1438
top-level to TestSuite.run(). This fixes the problem of errors
1439
being eaten by code which imports unittest for other reasons (like
1440
to use trial.remote reporting)
1442
2003-05-04 Brian Warner <warner@lothar.com>
1444
* twisted/trial/reporter.py (ResultTypes): export legal values for
1445
Reporter.reportResults() so remote reporters know what to expect
1447
2003-05-03 Jp Calderone <exarkun@twistedmatrix.com>
1449
* twisted/internet/tcp.py, twisted/internet/ssl.py: TLS support
1450
added to TCP connections; startTLS() method added to transport
1451
objects to switch from unencrypted to encrypted mode.
1453
2003-05-02 Jp Calderone <exarkun@twistedmatrix.com>
1455
* twisted/internet/protocol.py: Added continueTrying attribute to
1456
ReconnectingClientFactory, and increased the number of states where
1457
stopTrying() will actually stop further connection attempts.
1459
2003-05-01 Brian Warner <warner@lothar.com>
1461
* twisted/test/test_trial.py: handle new trial layout
1462
* twisted/trial/runner.py (runTest): utility function to help
1464
* twisted/trial/util.py (extract_tb): handle new trial layout,
1465
ignore the right framework functions.
1467
2003-05-01 Glyph Lefkowitz <glyph@twistedmatrix.com>
1469
* twisted/python/context.py: call-stack context tree.
1471
* twisted/python/components.py: support interface-to-interface
1472
adapatation, IFoo(o) syntax for adaptation, context-based
1473
registries and more.
1475
* twisted/python/log.py: Totally rewritten logging system.
1477
2003-05-01 Brian Warner <warner@lothar.com>
1479
* twisted/internet/gtk2reactor.py (Gtk2Reactor._doReadOrWrite):
1480
add Anthony's cached-Failure speedup to gtk2 too.
1482
2003-05-01 Itamar Shtull-Trauring <itamar@itamarst.org>
1484
* twisted/internet/tcp.py, twisted/internet/default.py: cache
1485
Failures whose contents are always identical. Speeds up lost
1486
connections considerably.
1488
* twisted/python/failure.py: If you pass only an exception object
1489
to Failure(), a stack will not be constructed. Speeds up Failure
1490
creation in certain common cases where traceback printing isn't
1493
2003-04-29 Brian Warner <warner@lothar.com>
1495
* twisted/test/test_process.py: make all child processes inherit
1496
their parent's environment
1498
* twisted/web/resource.py, twisted/python/roots.py: add
1501
* twisted/web/resource.py (IResource)
1502
twisted/spread/refpath.py (PathReferenceAcquisitionContext.getIndex)
1503
twisted/python/roots.py (Collection.getEntity): appease pychecker
1505
2003-04-27 Jp Calderone <exarkun@twistedmatrix.com>
1507
* doc/examples/bananabench.py, twisted/internet/utils.py,
1508
twisted/mail/bounce.py, twisted/persisted/styles.py,
1509
twisted/python/log.py, twisted/python/reflect.py,
1510
twisted/spread/pb.py, twisted/test/test_banana.py,
1511
twisted/test/test_iutils.py, twisted/test/test_persisted.py,
1512
twisted/test/test_process.py, twisted/web/domhelpers.py,
1513
twisted/web/script.py, twisted/web/server.py, twisted/web/test.py:
1514
Change the usage of cStringIO to fallback to StringIO if the former
1517
* twisted/im/gtkaccount.py, twisted/internet/app.py,
1518
twisted/mail/relay.py, twisted/mail/relaymanager.py,
1519
twisted/persisted/journal/base.py, twisted/persisted/dirdbm.py,
1520
twisted/scripts/conch.py, twisted/scripts/tapconvert.py,
1521
twisted/scripts/twistd.py, twisted/scripts/websetroot.py,
1522
twisted/test/test_mvc.py, twisted/test/test_persisted.py,
1523
twisted/web/woven/template.py, twisted/web/woven/view.py,
1524
twisted/popsicle/picklesicle.py: Change the usage of cPickle to
1525
fallback to pickle if the former is not available.
1527
* doc/howto/coding-standard.html: Document the way to use extension
1528
versions of modules for which there is a pure-python equivalent.
1530
2003-04-26 Dave Peticolas <dave@krondo.com>
1532
* twisted/enterprise/adbapi.py: commit successful _runQuery calls
1533
instead of rolling back
1535
2003-04-23 Brian Warner <warner@lothar.com>
1537
* doc/howto/telnet.html: Update example from twisted-0.15.5(!) to
1540
* twisted/protocols/loopback.py: use reactor.iterate(0.01) so the
1541
tests hammer the CPU slightly less
1543
* twisted/test/test_trial.py (LoopbackTests.testError): .type is a
1545
* twisted/trial/remote.py (JellyReporter.reportResults): stringify
1546
.type and .value from Failures before jellying them.
1548
* twisted/internet/base.py (ReactorBase.suggestThreadPoolSize):
1549
don't let suggestThreadPoolSize(0) be the only reason threads are
1552
* twisted/python/log.py (err): always log Failures to the logfile. If
1553
we're doing _keepErrors, then also add them to _keptErrors.
1555
* twisted/trial/unittest.py (TestSuite.runOneTest): only do
1556
reportResults once per test. Handle reactor.threadpool being None.
1558
2003-04-22 Bob Ippolito <bob@redivi.com>
1560
* twisted/python/compat.py: Complete iter implementation with
1561
__getitem__ hack for 2.1. dict now supports the full 2.3 featureset.
1563
* twisted/test/test_compat.py: Tests for compat module, so we know if
1564
it works or not now ;)
1566
2003-04-22 Andrew Bennetts <spiv@twistedmatrix.com>
1568
* twisted/lore/latex.py: Handle cross-references and labels slightly
1569
better, so that e.g. man/lore.html and howto/lore.html don't generate
1570
conflicting labels. Also, emit \loreref{...} instead of \pageref{...}
1571
-- this isn't a standard LaTeX command, see admin/book.tex for an
1572
example definition. In HTML generation, all relative hrefs in <a>
1573
tags are now munged from .html to .xhtml, unless class="absolute".
1575
2003-04-21 Jp Calderone <exarkun@twistedmatrix.com>
1577
* twisted/internet/interfaces.py: Added getServiceNamed, addService,
1578
and removeService to IServiceCollection.
1580
2003-04-21 Brian Warner <warner@lothar.com>
1582
* twisted/web/woven/*.py: add test-case-name tags
1584
2003-04-21 Bob Ippolito <bob@redivi.com>
1586
* twisted/web/static.py (File, DirectoryListing): DirectoryListing
1587
now gets the directory listing from File.listNames, and no longer
1588
calls os.listdir directly (unless a directory listing is not
1589
specified in the DirectoryListing constructor).
1591
2003-04-19 Brian Warner <warner@lothar.com>
1593
* twisted/trial/remote.py (JellyReporter.cleanResults): handle
1594
strings as testClass/method to unbreak tests
1596
* twisted/trial/remote.py (JellyReporter.reportResults): send only
1597
name of testClass/method to remote reporter, not whole class and
1598
method. Also add .taster hook to DecodeReport to let users specify
1599
their own security options.
1601
2003-04-17 Kevin Turner <acapnotic@twistedmatrix.com>
1603
* .: Release 1.0.4 Final.
1605
2003-04-16 Kevin Turner <acapnotic@twistedmatrix.com>
1607
* .: Release 1.0.4rc1.
1609
2003-04-15 Jp Calderone <exarkun@twistedmatrix.com>
1611
* admin/accepttests, admin/accepttests.py: Acceptance tests
1612
turned into a Python module with no unguarded top-level code,
1613
to make running acceptance tests selectively possible.
1615
2003-04-14 Brian Warner <warner@lothar.com>
1617
* twisted/python/threadable.py (init):
1618
* twisted/spread/newjelly.py (SecurityOptions.allowBasicTypes):
1619
* twisted/spread/jelly.py (SecurityOptions.allowBasicTypes):
1620
Remove old apply() calls.
1622
* twisted/spread/flavors.py (Copyable.jellyFor): Use proper
1623
jellier .prepare/.preserve dance when .invoker is non-None. This
1624
fixes jellying of circular references when passed through PB
1627
* twisted/test/test_newjelly.py: add test case that sets .invoker
1628
to verify that code path too
1630
2003-04-14 Jonathan Lange <jml@ids.org.au>
1632
* twisted/web/woven/controller.py (Controller): now, if getChild
1633
cannot find the requested child, it will ask getDynamicChild -- a
1634
method like getChild, but designed to be overriden by users.
1636
2003-04-13 Bob Ippolito <bob@redivi.com>
1638
* twisted/internet/app.py (DependentMultiService): a MultiService
1639
to start services in insert order and stop them in reverse. Uses
1640
chained deferreds to ensure that if a startService or stopService
1641
returns a deferred, then the next service in the queue will wait
1642
until its dependency has finished.
1644
2003-04-12 Brian Warner <warner@lothar.com>
1646
* twisted/test/test_process.py (PosixProcessTestCasePTY): skip
1647
testStdio, testStderr, and testProcess. PTYs do not have separate
1648
stdout/stderr, so the tests just aren't relevant. testProcess
1649
might be, but it requires support for closing the write side
1650
separately from the read side, and I don't think our processPTY
1651
can do that quite yet.
1653
* twisted/test/test_tcp.py (LocalRemoteAddressTestCase): iterate
1654
harder. some systems might not connect to localhost before
1655
iterate() is called, flunking the test
1657
* twisted/test/test_process.py: only install SIGCHLD handler if the
1658
reactor offers a hook for it.
1660
* twisted/test/test_policies.py (ThrottlingTestCase.doIterations):
1661
add more iterations to accomodate reactors that do less IO per pass
1663
* twisted/test/process_signal.py: reset SIGHUP to default handler,
1664
fixes test failures in a 'nohup' environment
1666
* twisted/test/test_process.py (PosixProcessTestCasePTY): remove
1667
testClosePty.todo now that it works
1668
(SignalProtocol.processEnded): Improve testSignal error messages
1670
* twisted/internet/process.py (PTYProcess.connectionLost): Treat
1671
PTYs more like sockets: loseConnection sets .disconnecting and
1672
lets the write pipe drain, then the PTY is closed in
1675
2003-04-12 Paul Swartz <z3p@twistedmatrix.com>
1677
* twisted/plugins.tml, twisted/tap/ssh.py, twisted/tap/conch.py: moved
1678
the conch server from 'mktap ssh' to 'mktap conch'.
1680
2003-04-12 Brian Warner <warner@lothar.com>
1682
* twisted/internet/gtk2reactor.py (Gtk2Reactor.doIteration): don't
1683
process *all* events before exiting: lots of IO (like test cases which
1684
do connect()s from inside connectionMade) will keep us from surfacing
1685
from reactor.iterate(), causing a lockup.
1686
* twisted/internet/gtkreactor.py (GtkReactor.doIteration): same. Use
1687
the same code as gtk2reactor with minor gtk1-vs-gtk2 variations.
1689
2003-04-11 Brian Warner <warner@lothar.com>
1691
* twisted/internet/gtk2reactor.py (Gtk2Reactor.doIteration): use
1692
timers to match the behavior of select()-based reactors.
1693
reactor.iterate(delay) is thus defined to return after 'delay'
1694
seconds, or earlier if something woke it up (like IO, or timers
1697
2003-04-11 Jp Calderone <exarkun@twistedmatrix.com>
1699
* twisted/internet/defer.py: Added new, experimental function,
1700
"maybeDeferred". API is subject to change.
1702
2003-04-11 Jp Calderone <exarkun@twistedmatrix.com>
1704
* twisted/scripts/mktap.py: Sped up --debug and --progress by
1705
introducing a two-pass option parser.
1707
2003-04-11 Brian Warner <warner@lothar.com>
1709
* twisted/internet/gtk2reactor.py: major fixes. Use different
1710
POLLIN/OUT flags to robustly work around pygtk bug, change
1711
callback() to behave more like pollreactor (since gtk uses poll
1712
internally). doIteration now calls gtk.main_iteration in a
1713
non-blocking way. Attempt to emulate doIteration(delay!=0) by
1716
* twisted/internet/gtkreactor.py: same fixes as for gtk2reactor.
1717
Instead of a pygtk bug we've got the limited gtk_input_add API,
1718
which hides POLLHUP/POLLERR, so detecting closed fds might not be
1721
2003-04-11 Andrew Bennetts <spiv@twistedmatrix.com>
1724
Added a "lore-slides" plugin, with HTML, Magicpoint and Prosper output
1725
targets. It's still a bit rough, but functional.
1727
2003-04-10 Kevin Turner <acapnotic@twistedmatrix.com>
1729
* .: Release 1.0.4alpha2.
1731
2003-04-09 Brian Warner <warner@lothar.com>
1733
* twisted/scripts/trial.py (Options.opt_reactor): install reactor
1734
before parseArgs() does an import and installs the default one
1736
* twisted/internet/process.py: fix typo,
1737
s/registerReapProccessHandler/registerReapProcessHandler)/
1739
2003-04-09 Jp Calderone <exarkun@twistedmatrix.com>
1741
* twisted/internet/base.py: Change the sort order of DelayedCalls
1742
and remove them from the end of the list instead of the beginning.
1743
This changes O(n) complexity to O(1) complexity.
1745
2003-04-09 Brian Warner <warner@lothar.com>
1747
* twisted/test/test_jelly.py, test_newjelly: Test cleanup.
1748
Parameterize the jelly module used by the tests, make test_jelly a
1749
subclass of test_newjelly using a different jelly module: tests
1750
should now be unified. Also change tests to use proper trial
1751
self.failUnless() methods instead of bare assert().
1753
2003-04-09 Bob Ippolito <bob@redivi.com>
1755
* twisted/python/util.py (OrderedDict): added a UserDict subclass
1756
that preserves insert order (for __repr__, items, values, keys).
1758
* twisted/internet/app.py (Application, _AbstractServiceCollection):
1759
Preserve service order, start services in order, stop them in reverse.
1761
2003-04-09 Andrew Bennetts <spiv@twistedmatrix.com>
1763
* twisted/protocols/ftp.py (FTPClient):
1764
Added STOR support to FTPClient, as well as support for using
1765
Producers or Consumers instead of Protocols for uploading/downloading.
1766
* twisted/protocols/policies.py (TimeoutWrapper):
1767
Added a timeout policy that can be used to automatically disconnect
1768
inactive connections.
1770
2003-04-07 Brian Warner <warner@lothar.com>
1772
* twisted/test/test_banana.py (BananaTestCase): add Acapnotic's
1773
crash-cBanana test case, and some others.
1775
* twisted/spread/banana.py (Pynana.dataReceived): add 640k limit on
1776
lists/tuples, parameterize the limit into banana.SIZE_LIMIT, define
1777
and use BananaError on all problems. Impose 640k limit on outbound
1778
lists/tuples/strings to catch problems on transmit side too.
1780
* twisted/spread/cBanana.c (cBanana_dataReceived): check malloc()
1781
return values to avoid segfault from oversized lists. Impose 640k
1782
limit on length of incoming lists. Raise BananaError on these
1783
checks instead of the previously-unreachable
1784
cBanana.'cBanana.error' exception.
1786
* twisted/test/test_process.py (TwoProcessProtocol): add test to make
1787
sure killing one process doesn't take out a second one
1788
(PosixProcessTestCasePTY): add variant that sets usePTY=1
1790
2003-04-06 Brian Warner <warner@lothar.com>
1792
* twisted/trial/{unittest.py,remote.py}, twisted/test/test_trial.py:
1793
Collapse most reportFoo methods into a single reportResults() that
1794
takes a resultType parameter. This anticipates the addition of .todo
1795
test-case flags that will add two more resultTypes.
1796
* twisted/trial/unittest.py: Add .todo flags: creates EXPECTED_FAILURE
1797
and UNEXPECTED_SUCCESS resultTypes. Like .skip, the .todo can be
1798
added either to the TestCase object or as a method attribute.
1800
2003-04-04 Kevin Turner <acapnotic@twistedmatrix.com>
1802
* twisted/scripts/trial.py: Now takes whatever you throw at it on
1803
the command line, be it a filename, or a dotted python name for a
1804
package, module, TestCase, or test method; you no longer need to
1805
use the -pmcfM switches (unless you really want to).
1807
* twisted/protocols/htb.py: Egress traffic shaping for Consumers
1808
and Transports, using Heirarchial Token Buckets, patterened after
1809
Martin Devera's Hierarchical Token Bucket traffic shaper for the
1812
* doc/examples/shaper.py: Demonstration of shaping traffic on a
1815
* twisted/protocols/pcp.py: Producer/Consumer proxy, for when you
1816
wish to install yourself between a Producer and a Consumer and
1817
subvert the flow of data.
1819
2003-04-04 Itamar Shtull-Trauring <itamar@itamarst.org>
1821
* twisted/web/microdom.py: parseXML and parseXMLString functions
1822
that are setup to use the correct settings for strict XML parsing
1825
2003-03-31 Brian Warner <warner@lothar.com>
1827
* twisted/trial/unittest.py: use SkipTest's argument as a reason
1828
and display it in the test results instead of the traceback. Allow
1829
test methods and TestCase classes to define a .skip attribute
1830
instead of raising SkipTest.
1832
2003-03-31 Kevin Turner <acapnotic@twistedmatrix.com>
1834
* twisted/trial/remote.py: machine-readable trial output to allow
1835
for the test runner and the results Reporter to be in seperate
1838
2003-03-15 Jp Calderone <exarkun@twistedmatrix.com>
1840
* twisted/internet/app.py: Renamed "factory" argument to
1841
Application.listenUDP() to "proto"
1843
2003-03-13 Tommi Virtanen <tv@twistedmatrix.com>
1845
* twisted/tap/procmon.py, twisted/plugins.tml: support for mktapping
1848
2003-03-11 Bob Ippolito <bob@redivi.com>
1850
* twisted/internet/: Replaced apply() in non-deprecated
1851
twisted.internet modules with Direct Function Calls per
1852
recommendation from PEP 290.
1854
* twisted/web/client.py: HTTPPageGetter will now write
1855
self.factory.postdata to the transport after the headers if the
1856
attribute is present and is not None. The factories, getPage and
1857
downloadPage now accept keyword arguments for method, postdata,
1858
and headers. A Content-Length header will be automatically provided
1859
for the given postdata if one isn't already present. Note that
1860
postdata is passed through raw; it is the user's responsibility to
1861
provide a Content-Type header and preformatted postdata. This change
1862
should be backwards compatible.
1864
2003-03-05 Itamar Shtull-Trauring <itamar@itamarst.org>
1866
* twisted/internet/: reactor.run() now accepts a keyword
1867
argument, installSignalHandlers, indicating if signal handlers
1868
should be installed.
1870
2003-03-04 Tommi Virtanen <tv@twistedmatrix.com>
1872
* twisted/scripts/mktap.py, twisted/internet/app.py: mktap now
1873
accepts --uid=0 and --gid=0 to really mean root, has command line
1874
help for --uid=/--gid=, and understands user and group names in
1875
addition to numbers.
1877
2003-03-04 Tommi Virtanen <tv@twistedmatrix.com>
1879
* twisted/scripts/tap2deb.py, doc/man/tap2deb.1: Option --version=
1880
collided with global options, renamed to --set-version=.
1882
2003-03-01 Jp Calderone <exarkun@twistedmatrix.com>
1884
* twisted/scripts/twistd.py: Added --report-profile flag to twistd
1887
2003-02-24 Brian Warner <warner@lothar.com>
1889
* twisted/internet/tcp.py, base.py: set FD_CLOEXEC on all new
1890
sockets (if available), so they will be closed when spawnProcess
1891
does its fork-and-exec.
1893
2003-02-23 Kevin Turner <acapnotic@twistedmatrix.com>
1895
* twisted/scripts/manhole.py: 1.4 manhole now defaults to using a
1896
GTK2 client where available. Start manhole with the "--toolkit gtk1"
1897
parameter if you want the old one back.
1899
2003-2-19 Moshe Zadka <moshez@twistedmatrix.com>
1901
* twisted/web/monitor.py: Monitor web sites.
1903
2003-2-20 Paul Swartz <z3p@twistedmatrix.com>
1905
* twisted/internet/{app,default,interface,unix}.py: Add 'mode' argument
1906
to the listenUNIX interface, which sets the filesystem mode for the
1909
2003-2-18 Christopher Armstrong <radix@twistedmatrix.com>
1911
* .: Release 1.0.4alpha1.
1913
2003-2-18 Moshe Zadka <moshez@twistedmatrix.com>
1915
* twisted/web/server.py twisted/protocols/http.py: Add a way for
1916
resources (and other interested parties) to know when a request has
1917
finished, for normal or abnormal reasons.
1919
2003-02-17 Paul Swartz <z3p@twistedmatrix.com>
1921
* twisted/scripts/conch.py: Added experimental support for connection
1922
caching, where if a connection is already available to a server, the
1923
client will multiplex another session over the existing connection,
1924
rather that creating a new one.
1926
2003-02-16 Jp Calderone <exarkun@twistedmatrix.com>
1928
* doc/examples/echoserv.py: Rewrote main code to not create a .tap
1929
file (examples should be simple, and demonstrate as few things as
1932
* doc/examples/echoclient.py: Added UDP echo protocol
1933
implementation; it is unused by default, but easily enabled.
1935
2003-02-16 Cory Dodt <corydodt@yahoo.com>
1937
* twisted/lore/{latex,default}.py: provide a --config book option
1938
to Lore, for producing book-level documents from an index page.
1940
2003-02-15 Jp Calderone <exarkun@twistedmatrix.com>
1942
* twisted/scripts/mktap.py, twisted/scripts/twistd.py: Added the
1943
--appname and --originalname parameters, respectively.
1945
* twisted/doc/man/mktap.py, twisted/doc/man/twistd.py: Documented
1946
the above two new parameters.
1948
2003-02-12 Kevin Turner <acapnotic@twistedmatrix.com>
1950
* twisted/python/text.py (docstringLStrip): 1.6 This will be going
1951
away in favor of inspect.getdoc.
1953
2003-02-11 Kevin Turner <acapnotic@twistedmatrix.com>
1955
* twisted/im/interfaces.py (IAccount): 1.4 New instance attribute:
1956
"client". Also, added methods getGroup and getPerson.
1958
* twisted/im/basechat.py (ChatUI.getPerson, .getGroup): 1.7 No
1959
longer accept a Class parameter. The class of the person/group is
1960
determined by the account they are obtained through.
1962
* twisted/im/basesupport.py (AbstractPerson, AbstractGroup): 1.15
1963
Hold a reference to account, not client. Also, lose the "chatui"
1964
parameter -- this may require follow-up.
1965
(AbstractAccount.__setstate__): 1.15 remove this method. (Why
1966
was self.port = int(self.port) in __setstate__?)
1967
(AbstractAccount): 1.15 implement getGroup and getPerson here,
1968
using _groupFactory and _personFactory factory attributes.
1970
* twisted/im/gtkchat.py (GtkChatClientUI.getPerson, .getGroup): 1.15
1971
follow ChatUI interface changes.
1973
2003-02-09 Brian Warner <warner@lothar.com>
1975
* twisted/internet/error.py (ProcessDone,ProcessTerminated):
1976
* twisted/internet/process.py (Process.maybeCallProcessEnded,
1977
* twisted/internet/process.py (PTYProcess.maybeCallProcessEnded,
1978
record the signal that killed the process in .signal, set .signal
1979
to None if the process died of natural causes, set .exitCode to None
1980
if the process died of a signal.
1981
* twisted/test/test_process.py: verify .signal, .exitCode are set
1982
to None when they ought to be, verify signal-death is reported with
1983
ProcessTerminated and not ProcessDone
1985
* ChangeLog: Set add-log-time-format to iso8601.
1987
2003-02-09 Christopher Armstrong <radix@twistedmatrix.com>
1989
* .: Releasing 1.0.3rc1.
1991
2003-02-08 Moshe Zadka <moshez@twistedmatrix.com>
1993
* twisted/tap/mail.py twisted/mail/tap.py twisted/plugins.tml:
1994
Moved from tap to mail, trying to thin down twisted.tap a little.
1996
2003-02-07 Moshe Zadka <moshez@twistedmatrix.com>
1998
* twisted/lore/default.py twisted/lore/tree.py twisted/lore/latex.py
1999
twisted/lore/man2lore.py twisted/lore/math.py
2000
twisted/scripts/html2latex.py twisted/scripts/generatelore.py
2001
twisted/scripts/hlint.py twisted/scripts/lore.py bin/lore
2002
bin/generatelore bin/hlint bin/html2latex twisted/plugins.tml:
2003
refactor lore to be cleaner, more usable and more extendible.
2004
Removed old scripts, and combined them into one plugin-based script
2005
which supports Lore, Math-Lore and Man pages and converts to
2006
LaTeX, HTML and (man pages) to Lore.
2008
2003-02-06 Bob Ippolito <bob@redivi.com>
2010
* twisted/protocols/smtp.py: sendEmail supports multipartboundary
2011
keyword argument, which is useful for doing HTML emails if passed
2012
"alternative" as opposed to the default "mixed". Uses 7bit
2013
encoding for mime types that start with 'text', base64 otherwise.
2015
2003-02-04 Jp Calderone <exarkun@twistedmatrix.com>
2017
* twisted/internet/app.py: listenUNIX and unlistenUNIX methods added
2018
to Application class. These should be used in place of listenTCP
2019
and unlistenTCP when UNIX sockets are desired. The old,
2020
undocumented behavior no longer works! Also added connectUDP and
2021
unlistenUDP to Application.
2023
2003-01-31 Cory Dodt <corydodt@yahoo.com>
2025
* twisted/lore/latex.py: Don't treat comments like text nodes, just
2028
2003-01-30 Jp Calderone <exarkun@twistedmatrix.com>
2030
* twisted/internet/default.py
2031
twisted/internet/base.py
2032
twisted/internet/tcp.py
2033
twisted/internet/ssl.py
2034
twisted/internet/udp.py
2035
twisted/internet/unix.py
2037
Refactor of many internal classes, including Clients and
2038
Connectors. UNIX socket functionality moved out of the TCP classes
2039
and into a new module, unix.py, and implementation of IReactorUNIX
2040
by PosixReactorBase made conditional on platform UNIX socket
2041
support. Redundant inheritance cruft removed from various classes.
2043
* twisted/internet/app.py: listenWith, unlistenWith, and connectWith
2044
methods added to Application.
2046
* twisted/internet/interfaces.py: IReactorArbitrary added.
2048
2003-01-30 Kevin Turner <acapnotic@twistedmatrix.com>
2050
* twisted/manhole/service.py (IManholeClient.console): 1.35
2051
exception messages now use a Failure.
2052
(IManholeClient.listCapabilities): 1.35 Method to describe what
2053
capabilities a client has, i.e. "I can receive Failures for
2056
2003-01-29 Donovan Preston <dp@twistedmatrix.com>
2058
* twisted/web/woven/controller.py
2059
twisted/web/woven/template.py
2060
twisted/web/woven/view.py
2061
twisted/web/woven/widgets.py Major woven codepath cleanup
2063
* Uses a flat list of outstanding DOM nodes instead of
2064
recursion to keep track of where Woven is in the page
2067
* Removes View's dependency on DOMTemplate as a base
2068
class, in preparation for deprecation of DOMTemplate
2069
(all of the same semantics are now directly implemented
2070
in View). As a result, View has no base classes, making
2071
the inheritance chain cleaner.
2073
* Stores the namespace stacks (model, view, and controller
2074
name lookup chain) in the View directly, and each widget
2075
gets an immutable reference to it's position in the lookup
2076
chain when it is created, making re-rendering Widgets more
2079
* Represents the namespace stacks as a cons-like tuple
2080
structure instead of mutable python lists, reducing
2081
confusion and list-copying; instead of copying the current
2082
stack lists each time a Widget is created, it just gets a
2083
reference to the current tuples for each of the stacks
2085
2003-01-29 Christopher Armstrong <radix@twistedmatrix.com>
2087
* .: Releasing 1.0.2 Final.
2089
* .: Releasing 1.0.3alpha1. Release Often :-D
2091
2003-01-29 Kevin Turner <acapnotic@twistedmatrix.com>
2093
* twisted/internet/abstract.py (FileDescriptor.__init__): 1.36
2096
* twisted/internet/tcp.py (Port.__getstate__): 1.100 As an
2097
Ephemeral, this needs no __getstate__.
2099
2003-01-27 Kevin Turner <acapnotic@twistedmatrix.com>
2101
* twisted/spread/ui/gtk2util.py (login): Perspective Broker login
2102
dialog for GTK+ version 2.
2104
2003-01-26 Christopher Armstrong <radix@twistedmatrix.com>
2106
* .: Releasing 1.0.2rc1.
2108
* .: Releasing 1.0.2rc2 (rc1 was dead in the water; hlint bug now
2111
* .: Releasing 1.0.2rc3 (rc2 was dead in the water;
2112
twisted.lore.latex bug now fixed)
2114
2003-01-26 Kevin Turner <acapnotic@twistedmatrix.com>
2116
* twisted/im/interfaces.py (IClient.__init__): 1.3 Accept a
2117
logonDeferred parameter. The client should call this back when
2118
it is successfully logged in.
2120
* twisted/im/basesupport.py
2121
(AbstractClientMixin.registerAsAccountClient): 1.13 Gone.
2122
chatui.registerAccountClient is called in AbstractAccount.logOn
2125
2003-01-22 Dave Peticolas <dave@krondo.com>
2127
* twisted/web/xmlrpc.py: add docstring for Proxy. handle
2128
serialization errors. check for empty deferred on connectionLost.
2130
* twisted/test/test_internet.py: make sure wakeUp actually works
2132
2003-01-21 Itamar Shtull-Trauring <itamar@itamarst.org>
2134
* twisted/internet/defer.py: added utility method for
2135
getting result of list of Deferreds as simple list.
2137
2003-1-20 Jp Calderone <exarkun@twistedmatrix.com>
2139
* twisted/internet/interfaces.py: type argument removed from
2140
IReactorCore.resolve method. IReactorPluggableResolver interface
2143
* twisted/internet/base.py: IReactorPluggable added to
2144
ReactorBase.__implements__ and ReactorBase.installResolver added.
2146
2003-1-18 Moshe Zadka <moshez@twistedmatrix.com>
2148
* twisted/trial/unittest.py twisted/scripts/trial.py: adding --summary
2150
2003-01-15 Christopher Armstrong <radix@twistedmatrix.com>
2152
* .: Releasing 1.0.2alpha3.
2154
2003-01-13 Christopher Armstrong <radix@twistedmatrix.com>
2156
* .: Releasing 1.0.2alpha2.
2158
2003-01-11 Itamar Shtull-Trauring <itamar@itamarst.org>
2160
* twisted/protocols/shoutcast.py: add client support for
2161
Shoutcast MP3 streaming protocol.
2163
2003-01-10 Itamar Shtull-Trauring <itamar@itamarst.org>
2165
* twisted/scripts/twistd.py: in debug mode, jump into debugger for any
2168
2003-01-10 Dave Peticolas <dave@krondo.com>
2170
* twisted/trial/unittest.py: enable test cruft checking
2172
* twisted/test/test_policies.py: cleanup timers
2174
* twisted/protocols/policies.py: start/stop bandwidth timers as needed
2176
* twisted/test/test_internet.py: cleanup timers
2178
* twisted/test/test_woven.py: expire sessions to clean up timers
2180
* twisted/web/woven/guard.py: stop timer when session expires
2182
2003-1-9 Moshe Zadka <moshez@twistedmatrix.com>
2184
* twisted/web/google.py: Search google for best matches
2186
2003-01-09 Dave Peticolas <dave@krondo.com>
2188
* twisted/protocols/http.py: start/stop log timer as needed
2190
2003-01-08 Dave Peticolas <dave@krondo.com>
2192
* twisted/test/test_smtp.py: cleanup timers after test
2194
* twisted/trial/unittest.py: keep errors that are logged and
2195
submit them as test failures when tests are finished.
2197
* twisted/python/log.py: if errors are being kept, don't print
2200
2003-1-8 Moshe Zadka <moshez@twistedmatrix.com>
2202
* doc/man/trial.1 twisted/scripts/trial.py: Add -l/--logfile argument
2203
to allow giving a log file.
2205
* twisted/trial/unittest.py: add SkipTest exception, which tests can
2206
raise in their various test* method to skip a test which is not
2209
2003-01-08 Jonathan M. Lange <jml@mumak.net>
2211
* twisted/trial/*, bin/trial, twisted/scripts/trial.py,
2212
doc/man/trial.1: Added 'trial', a new unit testing framework for
2215
* twisted/test/test_*, admin/runtests: Moved existing tests over to
2218
2003-01-06 Glyph Lefkowitz <glyph@twistedmatrix.com>
2220
* twisted/python/microdom.py: Added beExtremelyLenient mode (for
2221
parsing "tag soup"). While this isn't quite as lenient as Mozilla
2222
or IE's code (it will, for example, translate
2223
<div><i><b>foo</i>bar</b></div> to <div><i><b>foo</b></i>bar</div>
2224
) I am still rather proud of the wide range of complete garbage
2225
that it will mangle into at least reasonably similar XHTML-esque
2228
2003-01-05 Brian Warner <warner@lothar.com>
2230
* twisted/internet/cReactor/*, setup.py: Implement getDelayedCalls for
2231
cReactor. Create cDelayedCall class, implement .cancel(), .reset(),
2232
and .delay() for them.
2234
2003-01-03 Jp Calderone <exarkun@twistedmatrix.com>
2236
* twisted/python/components.py: Fix bug due to interaction between
2237
Componentized subclasses and twisted.python.rebuild.rebuild()
2239
* twisted/python/reflect.py: Removed backwards compatability hack
2240
for deprecated name twisted.protocols.telnet.ShellFactory and empty
2241
oldModules dictionary.
2243
2003-01-02 Brian Warner <warner@lothar.com>
2245
* twisted/test/test_internet.py (DelayedTestCase): add test
2246
coverage for IReactorTime.getDelayedCalls
2248
2002-12-30 Brian Warner <warner@lothar.com>
2250
* pyunit/unittest.py (TestCase.__call__): clean the reactor between
2251
tests: cancel any leftover reactor.callLater() timers. This helps
2252
to keep deferred failures isolated to the test that caused them.
2254
2002-12-30 Paul Swartz <z3p@twistedmatrix.com>
2256
* twisted/conch/*: added docstrings to most conch classes and functions
2258
2002-12-30 Brian Warner <warner@lothar.com>
2260
* twisted/spread/pb.py (Broker.connectionLost): clear localObjects
2261
too, to break a circular reference involving AuthServs that could
2262
keep the Broker (and any outstanding pb.Referenceables) alive
2265
2002-12-29 Jp Calderone <exarkun@twistedmatrix.com>
2267
* twisted/python/compat.py: Single module where all compatability
2268
code for supporting old Python versions should be placed.
2270
2002-12-28 Glyph Lefkowitz <glyph@twistedmatrix.com>
2272
* twisted/web/woven/guard.py: Newer, better wrappers for
2273
authentication and session management. In particular a nice
2274
feature of this new code is automatic negotiation with browsers on
2275
whether cookies are enabled or not.
2277
2002-12-27 Paul Swartz <z3p@twistedmatrix.com>
2279
* bin/tkconch: initial commit of tkconch, a SSH client using Tkinter
2280
as a terminal emulator. puts up a menu to configure when run without
2283
* twisted/conch/ui: moved ansi.py and tkvt100.py to t.c.ui so they are
2284
away from the purely conch stuff.
2286
2002-12-25 Christmas Armstrong <radix@twistedmatrix.com>
2288
* .: Releasing 1.0.2alpha1 - Merry Christmas!
2290
2002-12-25 Jp Calderone <exarkun@twistedmatrix.com>
2292
* twisted/protocols/dict.py: dict client protocol implementation
2293
from Pavel "Pahan" Pergamenshchik (<pp64@cornell.edu>)
2295
2002-12-23 Jp Calderone <exarkun@twistedmatrix.com>
2297
* doc/examples/testdns.py and doc/examples/dns-service.py added as
2298
simple example of how to use new DNS client API.
2300
2002-12-23 Moshe Zadka <moshez@twistedmatrix.com>
2302
* twisted/web/xmlrpc.py: added XML RPC client support
2304
2002-12-22 Paul Swartz <z3p@twistedmatrix.com>
2306
* twisted/conch/ssh/keys.py, twisted/conch/ssh/asn1.py: support for
2307
writing public and private keys.
2309
* bin/ckeygen: new script to create public/private key pairs
2311
2002-12-22 Jp Calderone <exarkun@twistedmatrix.com>
2313
* twisted/protocols/dns.py: Support for AFSDB, RP, and SRV RRs
2316
2002-12-18 Jp Calderone <exarkun@twistedmatrix.com>
2318
* twisted/persisted/dirdbm.py: copyTo and clear methods added
2321
2002-12-18 Paul Swartz <z3p@twistedmatrix.com>
2323
* twisted/conch/ssh/connection.py, twisted/test/test_conch: fixes to
2326
* twisted/internet/process.py: usePTY now can be an optional tuple of
2327
(masterfd, slavefd, ttyname).
2329
2002-12-18 Moshe Zadka <moshez@twistedmatrix.com>
2331
* twisted/web/rewrite.py: it works now, even when used as a rootish
2332
resource. Also, the request.path is massaged.
2334
2002-12-13 Dave Peticolas <dave@krondo.com>
2336
* twisted/enterprise/util.py: support numeric type
2338
2002-12-13 Moshe Zadka <moshez@twistedmatrix.com>
2340
* twisted/web/client.py: add 301/302 support
2342
2002-12-13 Dave Peticolas <dave@krondo.com>
2344
* twisted/test/test_ftp.py: give client time to start up (fixes
2345
one test for gtk/gtk2 reactors)
2347
* twisted/protocols/ftp.py: ftp client in passive mode should not
2348
close data until both command and protocol are finished. (fixes
2349
one test in gtk/gtk2 reactors)
2351
* twisted/internet/gtkreactor.py: remove redundant code
2353
* twisted/internet/gtk2reactor.py: remove redundant code
2355
* twisted/internet/abstract.py: fix spelling in documentation
2357
2002-12-12 Dave Peticolas <dave@krondo.com>
2359
* twisted/test/test_jelly.py: test class serialization
2361
* twisted/spread/jelly.py: join module names with '.' in
2364
2002-12-12 Paul Swartz <z3p@twistedmatrix.com>
2366
* twisted/conch/pamauth.py: added, gives support for authentication
2369
* twisted/conch/*: support for the keyboard-interactive authentication
2370
method which uses PAM.
2372
2002-12-12 Moshe Zadka <moshez@twistedmatrix.com>
2374
* twisted/python/log.py: add setStdout, set logfile to NullFile by
2377
2002-12-11 Donovan Preston <dp@twistedmatrix.com>
2379
* Added new woven example, Hello World.
2381
* Updated woven howto to talk about Hello World. TODO: Finish refactoring
2382
woven quotes example, then write more advanced woven howtos on writing
2383
Widgets and InputHandlers.
2385
2002-12-11 Paul Swartz <z3p@twistedmatix.com>
2387
* twisted/conch/*: enabled 'exec' on the server, disabled core dumps,
2390
2002-12-10 Paul Swartz <z3p@twistedmatrix.com>
2392
* twisted/conch/*: many fixes to conch server, now works and can run
2395
* twisted/conh/ssh/session.py: fix root exploit where a python shell was
2396
left acessable to anyone.
2398
2002-12-10 Cory Dodt <corydodt@yahoo.com>
2400
* t/scripts/postinstall.py: new. Create shortcut icons on win32.
2402
* twisted-post-install.py: new. Runs t/scripts/postinstall.py
2404
* setup.py: copy twisted-post-install.py during install_scripts
2406
2002-12-09 Paul Swartz <z3p@twistedmatrix.com>
2408
* twisted/internet/app.py: actually set the euid/egid if users ask
2410
2002-12-09 Dave Peticolas <dave@krondo.com>
2412
* twisted/test/test_conch.py: wait for ssh process to finish
2414
* twisted/scripts/postinstall.py: fix indentation
2416
* twisted/conch/identity.py: fix indentation
2418
2002-12-09 Paul Swartz <z3p@twistedmatrix.com>
2420
* twisted/conch/ssh/transport.py: don't accept host keys by default
2421
because it's a huge security hole.
2423
2002-12-09 Dave Peticolas <dave@krondo.com>
2425
* twisted/enterprise/util.py: handle None as null
2427
* twisted/internet/interfaces.py: add missing 'self' argument
2429
2002-12-08 Dave Peticolas <dave@krondo.com>
2431
* pyunit/unittest.py: add missing 'self.' prefix to data member
2434
* twisted/enterprise/util.py: make sure quoted values are strings
2435
(fixes bug storing boolean types)
2437
2002-12-06 Dave Peticolas <dave@krondo.com>
2439
* twisted/test/test_internet.py: flush error to prevent failure
2440
with non-destructive DeferredLists.
2442
* twisted/test/test_ftp.py: flush FTPErrors to prevent failures
2443
with non-destructive DeferredLists.
2445
* twisted/test/test_defer.py: catch the errors to prevent failure
2446
with non-destructive DeferredLists
2448
* twisted/enterprise/util.py: add some postgres types. boolean
2449
types need to be quoted. remove unused selectSQL variable.
2451
2002-12-05 Dave Peticolas <dave@krondo.com>
2453
* twisted/enterprise/sqlreflector.py: fix some sql escaping
2454
bugs. allow subclasses to override escaping semantics.
2456
* twisted/enterprise/util.py: allow quote function's string escape
2457
routine to be overridden with a keyword argument.
2459
2002-12-5 Moshe Zadka <moshez@twistedmatrix.com>
2461
* twisted/python/plugin.py: fixed a bug that got the wrong plugins.tml
2462
if the package was installed in two different places
2464
* twisted/inetd/*, twisted/runner/*: moved inetd to runner, to live in
2465
harmony with procmon
2467
2002-12-04 Dave Peticolas <dave@krondo.com>
2469
* twisted/test/test_policies.py: Take the start time timestamp
2470
immediately before creating the ThrottlingFactory, since the
2471
factory starts timing when it is created.
2473
* admin/runtests: Add a 'gtk2' test type to use the gtk2reactor
2476
2002-12-2 Moshe Zadka <moshez@twistedmatrix.com>
2478
* twisted/web/client.py: web client
2480
2002-11-30 Paul Swartz <z3p@twistedmatrix.com>
2482
* Summary of Conch changes: An actual client (bin/conch) which is
2483
mostly compatible with the OpenSSH client. An optional C module to
2484
speed up some of the math operations. A bunch of other stuff has
2485
changed too, but it's hard to summarize a month of work.
2487
2002-11-24 Donovan Preston <dp@twistedmatrix.com>
2489
* twisted/web/woven/*: Added the beginnings of a general framework for
2490
asynchronously updating portions of woven pages that have already been
2491
sent to the browser. Added controller.LiveController, page.LivePage,
2492
and utils.ILivePage to contain code for dealing with keeping Views alive
2493
for as long as the user is still looking at a page and has a live
2494
Session object on the server; code for responding to model changed
2495
notifications, rerendering Views that depend on those models that have
2496
changed; code for sending these rerendered views as html fragments to
2497
the browser; and javascript code to mutate the DOM of the live page
2498
with the updated HTML. Mozilla only for the moment; ie to come soon.
2500
* twisted/web/woven/widgets.py: Added API for attaching Python functions
2501
to widgets that fire when a given javascript event occurs in the
2503
Widget.addEventHandler(self, eventName, handler, *args) and
2504
Widget.onEvent(self, request, eventName, *args). The default onEvent
2505
will dispatch to event handlers registered with addEventHandler.
2507
2002-11-24 Christopher Armstrong <radix@twistedmatrix.com>
2509
* .: Releasing 1.0.1.
2511
2002-11-23 Jp Calderone <exarkun@twistedmatrix.com>
2513
* twisted/names/client.py, twisted/names/server.py: Client and
2514
server domain name APIs
2516
* twisted/tap/dns.py: 'mktap dns'
2518
2002-11-23 Moshe Zadka <moshez@twistedmatrix.com>
2520
* twisted/scripts/twistd.py twisted/python/syslog.py: Add syslog support
2522
2002-11-23 Kevin Turner <acapnotic@twistedmatrix.com>, Sam Jordan <sam@twistedmatrix.com>
2524
* twisted/protocols/irc.py (IRCClient.dccResume, dccAcceptResume):
2525
Methods for mIRC-style resumed file transfers.
2526
(IRCClient.dccDoSend, IRCClient.dccDoResume)
2527
(IRCClient.dccDoAcceptResume, IRCClient.dccDoChat): These are for
2528
clients to override to make DCC things happen.
2529
(IRCClient.dcc_SEND, dcc_ACCEPT, dcc_RESUME, dcc_CHAT)
2530
(IRCClient.ctcpQuery_DCC): Refactored to dispatch to dcc_* methods.
2531
(DccFileReceiveBasic.__init__): takes a resumeOffset
2533
2002-11-20 Christopher Armstrong <radix@twistedmatrix.com>
2535
* .: Releasing 1.0.1rc1
2537
2002-11-16 Itamar Shtull-Trauring <twisted@itamarst.org>
2539
* Multicast UDP socket support in most reactors.
2541
2002-11-11 Glyph Lefkowitz <glyph@twistedmatrix.com>
2543
* .: Releasing 1.0.1alpha4
2545
* .: Releasing 1.0.1alpha3
2547
2002-11-10 Glyph Lefkowitz <glyph@twistedmatrix.com>
2549
* .: Releasing 1.0.1alpha2
2551
* twisted/web/static.py, twisted/tap/web.py: Changed 'mktap web'
2552
to use --ignore-ext .ext so that you can assign order to the
2553
extensions you want to ignore, and not accidentally catch bad
2556
2002-11-04 Itamar Shtull-Trauring <twisted@itamarst.org>
2558
* twisted/internet/tksupport.py: new, better Tkinter integration.
2559
Unlike before, run the reactor as usual, do *not* call Tkinter's
2560
mainloop() yourself.
2562
2002-10-25 Moshe Zadka <moshez@twistedmatrix.com>
2564
* twisted/web/domhelpers.py twisted/python/domhelpers.py
2565
twisted/lore/tree.py twisted/web/woven/widgets.py: Moved domhelpers
2566
to twisted.web, and add to it all the generic dom-query functions
2567
from twisted.lore.tree
2569
* twisted/scripts/generatelore.py twisted/scripts/html2latex.py
2570
bin/html2latex bin/generatelore twisted/lore/__init__.py
2571
twisted/lore/latex.py twisted/lore/tree.py: Add the document generation
2572
Twisted uses internally to the public interface.
2574
* twisted/python/htmlizer.py: a Python->HTML colouriser
2576
2002-10-23 Itamar Shtull-Trauring <twisted@itamarst.org>
2578
* twisted/web/soap.py: experimental SOAP support, using SOAPpy.
2579
See doc/examples/soap.py for sample usage.
2581
2002-10-22 Christopher Armstrong <radix@twistedmatrix.com>
2583
* twisted/python/log.py: Two new features.
2584
1) a stupid `debug' method that simply prefixes a message with "debug"
2585
and indents it so it's easier to distinguish from normal messages.
2586
This can eventually log to some magic "debug channel", once we have
2589
2) implemented a custom warning handler; now warnings look sexy.
2590
(the hackish overriding of warnings.showwarning is the recommended way
2591
to do so, according to the library reference.)
2593
2002-10-22 Moshe Zadka <moshez@twistedmatrix.com>
2595
* setup.py: conditionalize cReactor on threads support too. This
2596
is somewhat of a hack as it it done currently, but it's only necessary
2597
on weird OSes like NetBSD. I assume any UNIX with thread support has
2600
* twisted/internet/tksupport.py: tunable reactor iterate delay
2601
parameter [by Jp Calderone]
2603
2002-10-17 Moshe Zadka <moshez@twistedmatrix.com>
2605
* bin/websetroot twisted/scripts/websetroot.py: Added a program to set
2606
the root of a web server after the tap exists
2608
2002-10-14 Moshe Zadka <moshez@twistedmatrix.com>
2610
* twisted/web/vhost.py: add a virtual host monster to support twisted
2611
sites behind a reverse proxy
2613
* twisted/tap/web.py twisted/web/script.py
2614
doc/man/mktap.1: adding an option to have a resource script as the root
2616
2002-10-13 Moshe Zadka <moshez@twistedmatrix.com>
2618
* twisted/internet/utils.py twisted/internet/process.py
2619
twisted/internet/interfaces.py twisted/internet/default.py: Moved
2620
utility functions into twisted.internet.utils
2622
2002-10-12 Moshe Zadka <moshez@twistedmatrix.com>
2624
* twisted/internet/process.py twisted/internet/interfaces.py
2625
twisted/internet/default.py: Add utility method to get output of
2628
2002-10-11 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2630
* twisted/internet/wxsupport.py: improved responsiveness of wxPython
2631
GUI (50 FPS instead of 10 FPS).
2633
2002-10-08 Brian Warner <warner@twistedmatrix.com>
2635
* doc/howto: Added PB/cred and Application docs, updated Manhole
2636
and Process docs. Moved Manhole from "Administrators" section to
2637
"Developers" section.
2639
2002-10-10 Moshe Zadka <moshez@twistedmatrix.com>
2641
* .: Releasing 0.99.4
2643
2002-10-07 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2645
* .: Release 0.99.4rc1
2647
* twisted/protocols/http.py: backed out changes to HTTP that
2648
broke 0.99.3 twisted.web.distrib.
2650
2002-10-7 Moshe Zadka <moshez@twistedmatrix.com>
2652
* twisted/web/script.py: Add ResourceTemplate which uses PTL for
2653
creation of resources.
2655
2002-10-7 Moshe Zadka <moshez@twistedmatrix.com>
2657
* twisted/tap/web.py: It is now possibly to add processors via
2661
2002-10-04 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2663
* twistd: when running in debug mode (-b), sending a SIGINT signal
2664
to the process will drop into the debugger prompt.
2666
2002-10-5 Moshe Zadka <moshez@twistedmatrix.com>
2668
* .: Releasing 0.99.3
2670
2002-10-01 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2672
* twisted/protocols/http.py: Fixed many bugs in protocol parsing,
2673
found by new unit tests.
2675
2002-9-30 Moshe Zadka <moshez@twistedmatrix.com>
2677
* twisted/protocols/sux.py twisted/web/microdom.py: Made is possible
2678
to sanely handle parse errors
2680
2002-09-26 Kevin Turner <acapnotic@twistedmatrix.com>
2682
* twisted/internet/app.py (_AbstractServiceCollection.removeService):
2683
(MultiService.removeService): inverse of addService
2684
(ApplicationService.disownServiceParent): inverse of setServiceParent
2686
2002-9-27 Moshe Zadka <moshez@twistedmatrix.com>
2688
* .: Releasing 0.99.2
2690
2002-09-26 Glyph Lefkowitz <glyph@twistedmatrix.com>
2692
* twisted/web/microdom.py: Better string formatting of XML
2693
elements is now available, to aid with debugging of web.woven
2694
(among other applications).
2696
2002-09-25 Kevin Turner <acapnotic@twistedmatrix.com>
2698
* twisted/tap/manhole.py: mktap manhole will now prompt for a
2699
password or accept one from stdin if one is not provided on the
2702
2002-09-25 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2704
* bin/tapconvert: made sure tapconvert program gets installed.
2706
2002-09-24 Kevin Turner <acapnotic@twistedmatrix.com>
2708
* twisted/web/resource.py (Resource.wasModifiedSince): revoked,
2709
not adding this after all. Instead,
2711
* twisted/protocols/http.py (Request.setLastModified)
2712
(Request.setETag): these methods to set cache validation headers
2713
for the request will return http.CACHED if the request is
2714
conditional and this setting causes the condition to fail.
2716
2002-9-24 Moshe Zadka <moshez@twistedmatrix.com>
2718
* .: Releasing 0.99.2rc2
2720
2002-9-23 Donovan Preston <dp@twistedmatrix.com>
2722
* Renaming domtemplate/domwidgets/dominput/wmvc to Woven
2723
Woven - The Web Object Visualization Environment
2725
* Created package twisted/web/woven
2727
* Renamed domtemplate to template, domwidgets to widgets,
2728
and dominput to input
2730
* Refactored wmvc into three modules, model, view, and controller
2732
2002-9-23 Moshe Zadka <moshez@twistedmatrix.com>
2734
* twisted/spread/pb.py: add getObjectAtSSL, refactored into
2735
getObjectRetreiver so more transports can be easily supported
2737
2002-09-21 Kevin Turner <acapnotic@twistedmatrix.com>
2739
* twisted/protocols/http.py (Request.setLastModified): Use
2740
setLastModified to set a timestamp on a http.Request object, and
2741
it will add a Last-Modified header to the outgoing reply.
2743
* twisted/web/resource.py (Resource.wasModifiedSince): companion
2744
method, override this to get sensible handling of
2745
If-Modified-Since conditional requests.
2747
2002-09-21 Glyph Lefkowitz <glyph@twistedmatrix.com>
2749
* twisted/web/static.py, twisted/web/script.py: Previously, it was
2750
not possible to use the same xmlmvc application (directory full
2751
of files and all) to interface to separate instances in the same
2752
server, without a considerable amount of hassle. We have
2753
introduced a new "Registry" object which is passed to all .rpy
2754
and .epy scripts as "registry" in the namespace. This is a
2755
componentized, so it can be used to associate different
2756
components for the same interface for different File instances
2757
which represent the same underlying directory.
2759
2002-09-20 Glyph Lefkowitz <glyph@twistedmatrix.com>
2761
* twisted/web/microdom.py: You can now specify tags that the
2762
parser will automatically close if they are not closed
2763
immediately. This is to support output from HTML editors which
2764
will not output XML, but still have a predictable
2765
almost-but-not-quite XML structure. Specifically it has been
2766
tested with Mozilla Composer.
2768
2002-9-20 Moshe Zadka <moshez@twistedmatrix.com>
2770
* Documenting for others
2772
* setup.py: now setup.py can function as a module
2774
* twisted/enterprise/xmlreflector.py: deprintified
2776
* twisted/internet/abstract.py, twisted/internet/fdesc.py,
2777
twisted/internet/app.py, twisted/internet/gtkreactor.py,
2778
twisted/internet/main.py, twisted/internet/protocol.py,
2779
twisted/internet/ssl.py, twisted/internet/tksupport.py,
2780
twisted/internet/pollreactor.py, twisted/internet/defer.py:
2781
added and modified __all__
2783
* twisted/internet/base.py: changed ReactorBase's __name__, added
2786
* twisted/internet/default.py, twisted/internet/error.py,
2787
twisted/internet/process.py,
2788
twisted/internet/win32eventreactor.py: reaping all processes on
2789
SIGCHLD, changes in process's API
2791
* twisted/python/components.py: added Adapter and setComponent
2793
* twisted/python/log.py: logging several strings works
2795
* twisted/python/reflect.py: fixed namedModule() to handle packages
2797
* twisted/web/dom*.py: added submodels, moved to microdom, removed
2800
* twisted/python/mvc.py: changed submodel support, added ListModel,
2803
* twisted/web/microdom.py: minidom compat fixes
2805
2002-9-20 Jp Calderone <exarkun@twistedmatrix.com>
2807
* twisted/internet/error.py twisted/internet/process.py:
2808
ProcessEnded -> ProcessTerminated/ProcessDone. Now it is possible
2809
to read off the error code.
2811
2002-9-19 Moshe Zadka <moshez@twistedmatrix.com>
2813
* twisted/scripts/twistd.py: Added ability to chroot. Moved directory
2814
change to after loading of application.
2816
2002-9-19 Moshe Zadka <moshez@twistedmatrix.com>
2818
* twisted/*: changed print to log.msg
2820
* bin/* twisted/scripts/*.py: move code from bin/ to modules
2822
* twisted/inetd/*.py: inetd server in twisted
2824
* twisted/protocols/sux.py twisted/web/microdom.py: XML parsing
2826
* twisted/conch/*.py: better logging and protocol support
2828
* twisted/cred/*.py: deprecation fixes
2830
* twisted/internet/app.py: add encryption
2832
* twisted/internet/base.py: fix deprecation, add DelayedCall,
2833
move to connect* from client*
2835
* twisted/internet/error.py: errno mapping works on more platforms,
2836
AlreadyCalled, AlreadyCancelled errors
2838
* twisted/internet/gtkreactor.py: try requiring gtk1.2, timeout->idle
2840
* twisted/internet/interfaces.py: added IDelayedCall IProcessTransports
2842
* twisted/internet/javareactor.py: using failure, better dealing with
2843
connection losing, new connect* API
2845
* twisted/internet/process.py: dealing better with ending
2847
* twisted/internet/protocol.py: factories have a "noisy" attribute,
2848
added ReconnectingClientFactory BaseProtocol
2850
* twisted/internet/ptypro.py: fixed traceback
2852
* twisted/internet/reactor.py: better guessing of default
2854
* twisted/internet/tcp.py: failure
2856
* twisted/internet/win32eventreactor.py: update to new API, support GUI
2858
* twisted/manhole/service.py: fix deprecation
2860
* twisted/news/database.py: fix to be 2.1 compat., generating
2861
message-id, bytes, lines, date headers, improved storage
2863
* twisted/news/news.py: UsenetClientFactory, UsenetServerFactory
2865
* twisted/persisted/marmalade.py: use twisted.web.microdom
2867
* twisted/protocols/ftp.py: dito, data port uses new client API
2869
* twisted/protocols/http.py: StringTransport instead of StringIO
2871
* twisted/protocols/irc.py: stricter parsing, avoid flooding
2873
* twisted/protocols/loopback.py: new reactor API, loopback over UNIX
2876
* twisted/protocols/nntp.py: more lenient parsing, more protocol support
2878
* twisted/protocols/oscar.py: new reactor API
2880
* twisted/python/components.py: fix setAdapter add removeComponent
2882
* twisted/python/failure.py: cleanFailure
2884
* twisted/python/log.py: can now log multiple strings in one go
2886
* twisted/python/logfile.py: fixed rotation
2888
* twisted/python/rebuild.py: better 2.2 support
2890
* twisted/python/util.py: getPassword
2892
* twisted/scripts/mktap.py: better --help, --type, encryption
2894
* twisted/spread/*.py: removed deprecation warnings
2896
* twisted/spread/util.py: improved Pager
2898
* twisted/tap/news.py: works saner now
2900
* twisted/tap/ssh.py: can specify authorizer
2902
* twisted/tap/words.py: can bind services to specific interfaces
2904
* twisted/web/distrib.py: now works on java too
2906
* twisted/web/domtemplate.py: improved cache
2908
* twisted/web/error.py: ForbiddenResource
2910
* twisted/web/html.py: lower-case tags
2912
* twisted/web/server.py: use components
2914
* twisted/web/static.py: added .flac, .ogg, properly 404/403,
2917
* twisted/web/twcgi.py: fixed for new process API
2919
* twisted/web/widgets.py: lower-case tags
2921
* twisted/web/xmlrpc.py: new abstraction for long running xml-rpc
2922
commands, add __all__
2924
* twisted/words/ircservice.py: new connectionLost API
2926
* twisted/words/service.py: refactoring and error handling
2928
* twisted/words/tendril.py: lots of fixes, it works now
2930
2002-09-17 Donovan Preston <dp@twistedmatrix.com>
2932
* Added better error reporting to WebMVC. To do this, I had to
2933
remove the use of "class" and "id" attributes on nodes as
2934
synonyms for "model", "view", and "controller". Overloading
2935
these attributes for three purposes, not to mention their
2936
usage by JavaScript and CSS, was just far too error-prone.
2938
2002-09-09 Andrew Bennetts <spiv@twistedmatrix.com>
2940
* twisted.inetd: An inetd(8) replacement. TCP support should be
2941
complete, but UDP and Sun-RPC support is still buggy. This was
2942
mainly written as a proof-of-concept for how to do a forking
2943
super-server with Twisted, but is already usable.
2945
2002-08-30 Christopher Armstrong <radix@twistedmatrix.com>
2947
* Releasing Twisted 0.99.1rc4. There was a bug in the acquisition
2948
code, as well as a typo in TwistedQuotes.
2950
2002-08-29 Christopher Armstrong <radix@twistedmatrix.com>
2952
* Releasing Twisted 0.99.1rc3. A bug in the release script
2953
left .pyc files in the tarball.
2955
2002-08-29 Christopher Armstrong <radix@twistedmatrix.com>
2957
* Releasing Twisted 0.99.1rc2. There was a bug with circular
2958
imports between modules in twisted.python.
2960
2002-08-28 Christopher Armstrong <radix@twistedmatrix.com>
2962
* Releasing Twisted 0.99.1rc1.
2964
2002-08-27 Donovan Preston <dp@twistedmatrix.com>
2966
* twisted.web.domtemplate: Look up templates in the directory of
2967
the module containing the DOMTemplate doing the lookup before
2968
going along with regular acquisition.
2970
2002-08-27 Glyph Lefkowitz <glyph@twistedmatrix.com>
2972
* twisted.*: Lots of minor fixes to make JavaReactor work again.
2974
2002-08-26 Andrew Bennetts <andrew-twisted@puzzling.org>
2976
* twisted.python.logfile: Added the ability to disable log
2977
rotation if logRotation is None.
2979
2002-08-22 Jp Calderone <exarkun@twistedmatrix.com>
2981
* twisted.news: Added a decent RDBM storage backend.
2983
2002-08-21 Paul Swartz <z3p@twistedmatrix.com>
2985
* doc/howto/process.html: Process documentation, too!
2987
2002-08-20 Paul Swartz <z3p@twistedmatrix.com>
2989
* doc/howto/clients.html: Client-writing documentation.
2991
2002-08-20 Jp Calderone <exarkun@twistedmatrix.com>
2993
* twisted.protocols.nntp: More protocol implemented: SLAVE, XPATH,
2994
XINDEX, XROVER, TAKETHIS, and CHECK.
2996
2002-08-19 Christopher Armstrong <radix@twistedmatrix.com>
2998
* bin, twisted.scripts.*: Migrated all bin/* scripts'
2999
implementations to twisted/scripts. This means win32 users will
3000
finally have access to all of the twisted scripts through .bat
3003
2002-08-19 Jp Calderone <exarkun@twistedmatrix.com>
3005
* twisted.news, twisted.protocols.nntp: Additional RFC977 support:
3006
HELP and IHAVE implemented.
3008
2002-08-19 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3010
* twisted.internet.{process,win32eventreactor,etc}: New and
3011
hopefully final Process API, and improved Win32 GUI support.
3013
2002-08-18 Christopher Armstrong <radix@twistedmatrix.com>
3015
* Everything: Got rid of almost all usage of the `print' statement
3016
as well as any usage of stdout. This will make it easier to
3017
redirect boring log output and still write to stdout in your
3020
2002-08-18 Christopher Armstrong <radix@twistedmatrix.com>
3022
* Releasing Twisted 0.99.0 final. No changes since rc9.
3024
2002-08-17 Christopher Armstrong <radix@twistedmatrix.com>
3026
* Releasing Twisted 0.99.0rc8, with a fix to tap2deb and
3027
slightly updated options documentation.
3029
* Releasing Twisted 0.99.0rc9 with fixes to release-twisted
3030
and doc/howto/options.html.
3032
2002-08-16 Christopher Armstrong <radix@twistedmatrix.com>
3034
* Releasing Twisted 0.99.0rc6, with some fixes to setup.py
3035
* Releasing Twisted 0.99.0rc7, __init__.py fixes.
3037
2002-08-15 Christopher Armstrong <radix@twistedmatrix.com>
3039
* Releasing Twisted 0.99.0rc5, with some one severe bug-fix and
3042
2002-08-14 Christopher Armstrong <radix@twistedmatrix.com>
3044
* Releasing Twisted 0.99.0rc1! ON THE WAY TO 1.0, BABY!
3045
* Releasing Twisted 0.99.0rc2! Sorry, typoed the version number in
3047
* Releasing Twisted 0.99.0rc3! I HATE TAGGING!
3048
* Releasing Twisted 0.99.0rc4, some very minor errors fixed.
3050
2002-08-14 Glyph Lefkowitz <glyph@twistedmatrix.com>
3052
* twisted.internet, twisted.cred: Applications and Authorizers are
3053
now completely decoupled, save for a tiny backwards-compatibility.
3055
2002-08-10 Christopher Armstrong <radix@twistedmatrix.com>
3057
* twisted.internet.defer, twisted.python.failure: Changes to
3058
Deferred and Failure to make errbacks more consistent. error
3059
callbacks are now *guaranteed* to be passed a Failure instance,
3060
no matter what was passed to Deferred.errback().
3062
2002-08-07 Jp Calderone <exarkun@twistedmatrix.com>
3064
* twisted.python.usage: New "subcommands" feature for
3065
usage.Options: Now, you can have nested commands
3066
(`cvs commit'-style) for your usage.Options programs.
3068
2002-08-04 Bruce Mitchener <bruce@twistedmatrix.com>
3070
* twisted.internet: New `writeSequence' method on transport
3071
objects: This can increase efficiency as compared to `write`ing
3072
concatenated strings, by copying less data in memory.
3074
2002-08-02 Glyph Lefkowitz <glyph@twistedmatrix.com>
3076
* twisted.cred.service, twisted.internet.app: Application/Service
3077
refactor: These two things should be less dependant on each other,
3080
2002-07-31 Glyph Lefkowitz <glyph@twistedmatrix.com>
3082
* twisted.issues: After weeks of hacking in the secret (Austin,
3083
TX) hideout with Allen Short, twisted.issues, the successor to
3084
Twisted Bugs, is born. Featuring a paranoia-inducing chat-bot
3087
2002-07-30 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3089
* twisted.internet.kqueue: Thanks to Matt Campbell, we now have a
3090
new FreeBSD KQueue Reactor.
3092
2002-07-27 Christopher Armstrong <radix@twistedmatrix.com>
3094
* doc/fun/Twisted.Quotes: Added our seekrut Twisted.Quotes file to
3097
2002-07-26 Glyph Lefkowitz <glyph@twistedmatrix.com>
3099
* twisted.spread: "Paging" for PB: this is an abstraction for
3100
sending big streams of data across a PB connection.
3103
2002-07-23 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3105
* twisted.internet: Rewrite of client APIs. `reactor.clientXXX'
3106
methods are now deprecated. See new reactor.connect*
3107
documentation. Also Application-level client methods have been
3108
reworked, see the Application documentation.
3110
2002-07-23 Bryce Wilcox-O'Hearn <zooko@twistedmatrix.com>
3112
* twisted.zoot: Application-level implementation of Gnutella.
3114
2002-07-21 Glyph Lefkowitz <glyph@twistedmatrix.com>
3116
* twisted.im, bin/im: GUI improvements to t-im, and renamed
3117
bin/t-im to bin/im (and get rid of old twisted.words client).
3119
2002-07-15 Bryce Wilcox-O'Hearn <zooko@twistedmatrix.com>
3121
* twisted.protocols.gnutella: Twisted now has an implementation of
3122
the Gnutella protocol.
3124
2002-07-15 Sean Riley <sean@twistedmatrix.com>
3126
* twisted.sister: Now featuring distributed login.
3128
2002-07-15 Paul Swartz <z3p@twistedmatrix.com>
3130
* twisted.conch: A new implementation of ssh2, bringing Twisted
3131
one step closer to being a complete replacement of all unix
3134
2002-07-14 Christopher Armstrong <radix@twistedmatrix.com>
3136
* Releasing Twisted 0.19.0! It's exactly the same as rc4.
3138
2002-07-13 Christopher Armstrong <radix@twistedmatrix.com>
3140
* Releasing Twisted 0.19.0rc4. All Known Issues in the README have
3141
been fixed. This will hopefully be the last release candidate for
3144
2002-07-07 Christopher Armstrong <radix@twistedmatrix.com>
3146
* Releasing Twisted 0.19.0rc3.
3148
2002-07-07 Christopher Armstrong <radix@twistedmatrix.com>
3150
* Releasing Twisted 0.19.0rc2.
3152
2002-07-07 Christopher Armstrong <radix@twistedmatrix.com>
3154
* Releasing Twisted 0.19.0rc1.
3156
2002-07-07 Keith Zaback <krz@twistedmatrix.com>
3158
* twisted.internet.cReactor: A new poll-based reactor written in
3159
C. This is still very experimental and incomplete.
3161
2002-07-07 Donovan Preston <dp@twistedmatrix.com>
3163
* twisted.web.dom*: Better support in domtemplate/domwidgets etc
3164
for Deferreds and Widgets. Also deprecated getTemplateMethods
3165
method in favor of automatically looking up methods on the class
3166
based on the attributes found in the template. There are some
3167
minimal docs already, and better ones coming soon.
3169
2002-06-26 Glyph Lefkowitz <glyph@twistedmatrix.com>
3171
* twisted.internet.process,interfaces,default: Process now
3172
supports SetUID: there are new UID/GID arguments to the process
3173
spawning methods/constructors.
3175
2002-06-22 Paul Swartz <z3p@twistedmatrix.com>
3177
* twisted.protocols.oscar: totally rewrote OSCAR protocol
3180
2002-06-18 Glyph Lefkowitz <glyph@twistedmatrix.com>
3182
* twisted.internet.defer: Deprecated the arm method of Deferred
3183
objects: the replacement is a pair of methods, pause and
3184
unpause. After the pause method is called, it is guaranteed that
3185
no call/errbacks will be called (at least) until unpause is
3188
2002-06-10 Christopher Armstrong <radix@twistedmatrix.com>
3190
* twisted/persisted/aot.py, bin/twistd,mktap, twisted/internet/app.py:
3192
AOT (Abstract Object Tree) experimental source-persistence
3193
mechanism. This is a more-concise, easier-to-edit alternative to
3194
Twisted's XML persistence, for people who know how to edit Python
3195
code. Also added appropriate options to mktap and twistd to
3196
load/save .tas (Twisted Application Source) files.
3198
I will be working on making the formatting better, soon, but it's
3201
2002-06-08 Glyph Lefkowitz <glyph@twistedmatrix.com>
3203
* twisted.internet, twisted.tap.web: Add a --https and related
3204
options to 'mktap web'; web is now much more SSL-friendly.
3207
2002-06-02 Itamar Shtull-Trauring <twisted@itamarst.org>
3209
* twisted.internet: changed protocol factory interface - it now has
3210
doStop and doStart which are called in reactors, not app.Application.
3211
This turns start/stopFactory into an implementation-specific feature,
3212
and also ensures they are only called once.
3214
2002-06-01 Christopher Armstrong <radix@twistedmatrix.com>
3216
* .: Releasing Twisted 0.18.0
3218
2002-05-31 Christopher Armstrong <radix@twistedmatrix.com>
3220
* twisted/coil/plugins/portforward.py, twisted/tap/portforward.py:
3221
Forgot to add these before rc1 :-) You can use the portforwarder
3222
with Coil and mktap again (previously "stupidproxy")
3224
* twisted/web/static.py: Fixed a bunch of bugs related to redirection
3227
* .: Releasing Twisted 0.18.0rc2
3229
2002-05-30 Glyph Lefkowitz <glyph@twistedmatrix.com>
3231
* Twisted no longer barfs when the Python XML packages aren't available.
3233
2002-05-29 Christopher Armstrong <radix@twistedmatrix.com>
3235
* .: Releasing Twisted 0.18.0rc1
3237
2002-05-25 Christopher Armstrong <radix@twistedmatrix.com>
3239
* twisted/spread/pb.py, twisted/internet/defer.py,
3240
twisted/python/failure.py, etc:
3242
Perspective broker now supports Failures! This should make writing
3243
robust PB clients *much* easier. What this means is that errbacks will
3244
recieve instances of t.python.failure.Failure instead of just strings
3245
containing the traceback -- so you can easily .trap() particular
3246
errors and handle them appropriately.
3248
2002-05-24 Itamar Shtull-Trauring, Moshe Zadka <moshez@twistedmatrix.com>
3250
* twisted.mail cleanups:
3252
* basic bounce support.
3254
* removed telnet from mail tap
3256
* mail domains now receive service in __init__
3258
* split file system stuff into Queue (renamed from
3261
* Put a Queue in service
3263
* twisted/protocol/smtp.py: changed SMTPClient API so that it returns
3264
a file for the message content, instead of a string.
3266
2002-05-23 Glyph Lefkowitz <glyph@twistedmatrix.com>
3268
* Twisted applications can now be persisted to XML files (.tax) with
3269
the --xml option -- this is pretty verbose and needs some optimizations.
3271
2002-05-22 Glyph Lefkowitz <glyph@twistedmatrix.com>
3273
* twisted/persisted/marmalade.py: Marmalade: Jelly, with just a hint
3274
of bitterness. An XML object serialization module designed so
3275
people can hand-edit persisted objects (like Twisted Applications).
3277
2002-05-21 Itamar Shtull-Trauring <twisted@itamarst.org>
3279
* twisted/internet/gtkreactor.py: GTK+ support for win32; input_add
3280
is not supported in win32 and had to be worked around.
3282
2002-05-20 Itamar Shtull-Trauring <twisted@itamarst.org>
3284
* twisted/pythor/defer.py, twisted/protocols/protocol.py,
3285
twisted/internet/defer.py, twisted/internet/protocol.py:
3287
Moved defer and protocol to twisted.internet to straighten
3290
2002-05-18 Glyph Lefkowitz <glyph@twistedmatrix.com>
3292
* twisted/metrics, twisted/forum: Metrics and Forum are no longer
3293
a part of Twisted proper; They are now in different CVS modules, and
3294
will be released separately.
3296
2002-05-15 Andrew Bennetts <andrew-twisted@puzzling.org>
3298
* twisted/protocols/ftp.py: Small fixes to FTPClient that have
3299
changed the interface slightly -- return values from callbacks
3300
are now consistent for active and passive FTP. Have a look at
3301
doc/examples/ftpclient.py for details.
3303
2002-05-12 Itamar Shtull-Trauring <twisted@itamarst.org>
3305
* doc/specifications/banana.html: Documentation of the Banana protocol.
3307
2002-05-06 Glyph Lefkowitz <glyph@twistedmatrix.com>
3309
* twisted/im/gtkchat.py: Some more UI improvements to InstanceMessenger:
3310
Nicks are now colorful (each nick is hashed to get a color) and
3311
messages now have timestamps.
3313
2002-05-04 Glyph Lefkowitz <glyph@twistedmatrix.com>
3315
* Reactor Refactor! Pretty much all of the twisted.internet.* classes
3316
are being depracated in favor of a single, central class called the
3317
"reactor". Interfaces are defined in twisted.internet.interfaces.
3318
For a much more descriptive comment about this change, see
3319
http://twistedmatrix.com/pipermail/twisted-commits/2002-May/002104.html.
3321
2002-05-04 Glyph Lefkowitz <glyph@twistedmatrix.com>
3323
* twisted/spread/pb.py: There is now some resource limiting in PB.
3324
Clients can now have the number of references to an object limited.
3326
2002-04-29 Glyph Lefkowitz <glyph@twistedmatrix.com>
3328
* twisted/im/*: Refactored Twisted InstanceMessenger to seperate GUI
3329
and logic. Also improved the UI a bit.
3331
2002-04-28 Itamar Shtull-Trauring <twisted@itamarst.org>
3333
* twisted/protocols/http.py: log hits using extended log format
3334
and make web taps logfile configurable.
3336
2002-04-26 Itamar Shtull-Trauring <twisted@itamarst.org>
3338
* twisted/lumberjack/logfile.py: reversed order of rotated
3339
logs - higer numbers are now older.
3341
2002-04-24 Itamar Shtull-Trauring <twisted@itamarst.org>
3343
* doc/examples/ircLogBot.py: We now have a sample IRC bot that logs
3344
all messages to a file.
3346
2002-04-24 Itamar Shtull-Trauring <twisted@itamarst.org>
3348
* twisted/python/components.py: Twisted's interfaces are now
3349
more like Zope's - __implements__ is an Interface subclass
3350
or a tuple (or tuple of tuples). Additonally, an instance can
3351
implement an interface even if its class doesn't have an
3354
2002-04-22 Glyph Lefkowitz <glyph@twistedmatrix.com>
3356
* twisted/python/usage.py: Minor niceties for usage.Options:
3357
You can now look up the options of an Options object with
3358
optObj['optName'], and you if you define opt_* methods with
3359
underscores in them, using dashes on the command line will work.
3361
2002-04-21 Chris Armstrong <carmstro@twistedmatrix.com>
3363
* twisted/scripts/mktap.py: No more --manhole* options, use
3364
'--append=my.tap manhole' now.
3366
2002-04-20 Chris Armstrong <carmstro@twistedmatrix.com>
3368
* .: Releasing Twisted 0.17.4.
3370
* twisted/internet/tcp.py: Make unix domain sockets *really*
3371
world-accessible, rather than just accessible by "other".
3373
2002-04-19 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3375
* twisted/web/{server,twcgi}.py: Fixed POST bug in distributed
3378
2002-04-19 Chris Armstrong <carmstro@twistedmatrix.com>
3380
* .: Releasing Twisted 0.17.3.
3382
2002-04-19 Glyph Lefkowitz <carmstro@twistedmatrix.com>
3384
* twisted/web/distrib.py: Fix a bug where static.File transfers
3385
over a distributed-web connection would not finish up properly.
3387
2002-04-18 Chris Armstrong <carmstro@twistedmatrix.com>
3389
* .: Releasing Twisted 0.17.2.
3391
2002-04-18 Chris Armstrong <carmstro@twistedmatrix.com>
3393
* twisted/news: A news server and NNTP protocol support courtesy of
3394
exarkun. Another step towards Twisted implementations of EVERYTHING
3397
2002-04-17 Glyph Lefkowitz <glyph@twistedmatrix.com>
3399
* twisted/spread/pb.py: Errors during jelly serialization used to
3400
just blow up; now they more properly return a Deferred Failure. This
3401
will make hangs in PB apps (most notably distributed web) less common.
3403
2002-04-17 Donovan Preston <dp@twistedmatrix.com>
3405
* Major changes to the capabilities of the static web server, in an
3406
attempt to be able to use Twisted instead of Zope at work; my plan is to
3407
capture many of the conveniences of Zope without the implicitness and
3408
complexity that comes with working around implicit behavior when it fails.
3410
1) .trp and .rpy support in the static web server:
3411
Very simple handlers to allow you to easily add Resource objects
3412
dynamically to a running server, by merely changing files on the
3414
An .rpy file will be executed, and if a "resource" variable exists upon the
3415
execution's completion, it will be returned.
3416
A .trp file (twisted resource pickle) will be unpickled and returned. An
3417
object unpickled from a .trp should either implement IResource itself,
3418
or have a registered adapter in twisted.python.components.
3421
As resources are being looked up by repeated calls to getChild, this
3422
change creates instances of
3423
twisted.spread.refpath.PathReferenceAcquisitionContext and puts
3424
them in the request as "request.pathRef"
3425
Any method that has an instance of the request can then climb up
3426
the parent tree using "request.pathRef['parentRef']['parentRef']
3427
PathReferenceAcquisitionContext instances can be dereferenced to the
3428
actual object using getObject
3429
Convenience method: "locate" returns a PathReference to first place
3430
in the parent heirarchy a name is seen
3431
Convenience method: "acquire" somewhat like Zope acquisition;
3432
mostly untested, may need fixes
3434
3) DOM-based templating system:
3435
A new templating system that allows python scripts to use the DOM
3436
to manipulate the HTML node tree. Loosely based on Enhydra.
3437
Subclasses of twisted.web.domtemplate.DOMTemplate can override
3438
the templateFile attribute and the getTemplateMethods method;
3439
ultimately, while templateFile is being parsed, the methods
3440
specified will be called with instances of xml.dom.mindom.Node
3441
as the first parameter, allowing the python code to manipulate
3442
(see twisted.web.blog for an example)
3444
2002-04-17 Chris Armstrong <carmstro@twistedmatrix.com>
3446
* twisted/web/static.py, twisted/tap/web.py: Added a new feature
3447
that allows requests for /foo to return /foo.extension, which is
3448
disabled by default. If you want a --static webserver that
3449
uses this feature, use 'mktap web --static <dir> --allow_ignore_ext'.
3451
* twisted/tap/web.py: Also switched --static to --path; it doesn't
3452
make sense to call something that automatically executes cgis, epys,
3453
rpys, php, etc., "static". :-)
3455
2002-04-14 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3457
* HTTP 1.1 now supports persistent and pipelined connections.
3459
User-visible API changes:
3460
- Request.content is now a file-like object, instead of a string.
3461
- Functions that incorrectly used Request.received instead of
3462
Request.getAllHeaders() will break.
3463
- sendHeader, finishHeaders, sendStatus are all hidden now.
3465
2002-04-12 Kevin Turner <acapnotic@twistedmatrix.com>
3467
* twisted/coil/plugins/tendril.py (TendrilConfigurator): New coil
3468
configurator for words.tendril.
3470
2002-04-10 Chris Armstrong <carmstro@twistedmatrix.com>
3472
* .: Releasing Twisted 0.17.0
3474
2002-04-10 Chris Armstrong <carmstro@twistedmatrix.com>
3476
* twisted/bugs: Gone. Separate plugin package.
3477
* twisted/eco: Gone. The king is dead. Long live the king!
3478
(eco is no longer going to be developed, Pyrex has obviated it.)
3480
2002-04-10 Chris Armstrong <carmstro@twistedmatrix.com>
3482
* twisted/protocols/irc.py: Some fix-ups to IRCClient and
3483
DccFileReceive, from Joe Jordan (psy).
3485
2002-04-10 Chris Armstrong <carmstro@twistedmatrix.com>
3487
* twisted/reality: Gone. This is now in a completely separate plugin
3490
2002-04-09 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3492
* win32 process support seems to *finally* be working correctly. Many
3493
thanks to Drew Whitehouse for help with testing and debugging.
3495
2002-04-08 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3497
* coil refactored yet again, this time to use components and adapters.
3498
The design is now much cleaner.
3500
2002-04-08 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3502
* twisted/spread/jelly.py: Refactored jelly to provide (a) more
3503
sane, language-portable API for efficient extensibility and (b)
3504
final version of "wire" protocol. This should be very close to
3505
the last wire-protocol-breaking change to PB before
3506
standardization happens.
3508
2002-04-04 Glyph Lefkowitz <glyph@twistedmatrix.com>
3510
* Removed __getattr__ backwards compatibility in PB
3512
2002-04-03 Chris Armstrong <carmstro@twistedmatrix.com>
3514
* twisted/python/usage.py, twisted/test/test_usage.py, bin/mktap, twisted/tap/*.py:
3515
Made the usage.Options interface better -- options are now stored in the
3516
'opts' dict. This is backwards compatible, and I added a deprecation warning.
3518
2002-04-01 Chris Armstrong <carmstro@twistedmatrix.com>
3520
* .: Releasing Twisted 0.16.0.
3522
2002-03-29 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3524
* Added Qt event loop support, written by Sirtaj Singh Kang and
3525
Aleksandar Erkalovic.
3527
2002-03-29 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3529
* Added a 'coil' command for configuring TAP files
3531
2002-03-15 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3533
* XML-RPC published methods can now return Deferreds, and Twisted
3534
will Do The Right Thing.
3536
2002-03-13 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3538
* Refactored coil, the configuration mechanism for Twisted.
3539
See twisted.coil and twisted.coil.plugins for examples of how
3540
to use the new interface. Chris Armstrong did some UI improvements
3543
* Checked in win32 Process support, and fixed win32 event loop.
3545
2002-03-11 Glyph Lefkowitz <glyph@janus.twistedmatrix.com>
3547
* More robust shutdown sequence for default mainloop (other
3548
mainloops should follow suit, but they didn't implement shutdown
3549
callbacks properly before anyway...). This allows for shutdown
3550
callbacks to continue using the main loop.
3552
2002-03-09 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3554
* Automatic log rotation for twistd. In addition, sending SIGUSR1
3555
to twistd will rotate the log.
3557
2002-03-07 Chris Armstrong <carmstro@twistedmatrix.com>
3559
* .: Releasing Twisted 0.15.5.
3561
2002-03-06 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3563
* twisted/web/html.py: Got rid of html.Interface. This was a really
3564
old, really deprecated API.
3566
2002-03-06 Chris Armstrong <carmstro@twistedmatrix.com>
3568
* twisted/web/widgets.py: Deprecated usage of Gadget.addFile(path)
3569
and replaced it with Gadget.putPath(path, pathname). This is
3570
a lot more flexible.
3572
2002-03-05 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3574
* twisted/internet/win32.py: New win32 event loop, written by
3577
* twisted/tap/*: Changed the interface for creating tap modules - use
3578
a method called updateApplication instead of getPorts. this
3579
is a much more generic and useful mechanism.
3581
* twisted/internet/task.py: Fixed a bug where the schedular wasn't
3582
installed in some cases.
3584
2002-03-04 Moshe Zadka <moshez@twistedmatrix.com>
3586
* twisted/web/server.py: authorizer.Unauthorized->util.Unauthorized
3587
(leftovers from removing .passport references.)
3589
* twisted/names/dns.py: Added support for TTL.
3591
2002-03-02 Chris Armstrong <carmstro@twistedmatrix.com>
3593
* .: Releasing Twisted 0.15.4.
3595
2002-03-02 Paul Swartz <z3p@twistedmatrix.com>
3597
* twisted/words/ircservice.py: Send End-Of-MOTD message --
3598
some clients rely on this for automatic joining of channels
3601
2002-03-02 Moshe Zadka <moshez@twistedmatrix.com>
3603
* twisted/names/dns.py: Fixed bugs in DNS client
3605
2002-03-01 Moshe Zadka <moshez@twistedmatrix.com>
3607
* twisted/protocols/dns.py: Can now correctly serialize answers
3609
* twisted/names/dns.py: Can now do simple serving of domains
3611
* twisted/internet/stupid.py: Removed spurious debugging print
3613
2002-02-28 Chris Armstrong <carmstro@twistedmatrix.com>
3615
* .: Releasing 0.15.3.
3617
2002-02-27 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3619
* twisted/mail/*, twisted/plugins.tml: The Mail server is now
3622
* bin/twistd: security fix: use a secure umask (077, rather than 0)
3625
2002-02-26 Allen Short <washort@twistedmatrix.com>
3627
* twisted/eco/eco.py, twisted/eco/sexpy.py: ECO now supports
3628
backquoting and macros.
3630
2002-02-26 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3632
* twisted/protocols/ftp.py, twisted/plugins.tml: Made the FTP
3635
2002-02-26 Benjamin Bruheim <phed@twistedmatrix.com>
3637
* twisted/web/distrib.py: Fixed a win32-compatibility bug.
3639
2002-02-24 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3641
* twisted/protocols/socks.py: Made SOCKSv4 coilable, and fixed a
3642
bug so it'd work with Mozilla.
3644
2002-02-24 Chris Armstrong <carmstro@twistedmatrix.com>
3646
* .: Releasing Twisted 0.15.2.
3648
2002-02-24 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3650
* setup.py: Added plugins.tml and instancemessenger.glade installs
3651
so mktap and t-im work in a 'setup.py install' install.
3653
* debian/rules: Install plugins.tml so mktap works in debian installs.
3655
* doc/man/mktap.1, twistd.1: Updated the man pages to be more accurate.
3657
2002-02-24 Chris Armstrong <carmstro@twistedmatrix.com>
3659
* bin/mktap: Better error reporting when we don't find
3662
* bin/twistd: Print out the *real* usage description rather than
3663
barfing when we get bad command line arguments.
3665
2002-02-24 Moshe Zadka <moshez@twistedmatrix.com>
3667
* debian/rules: Install the instancemessenger.glade file, so IM
3668
will work in debian installs.
3670
2002-02-24 Paul Swartz <z3p@twistedmatrix.com>
3672
* twisted/protocols/oscar.py, socks.py, toc.py: Fixed a security
3673
hole in TOC where clients could call any method on the server.
3675
2002-02-23 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3677
* twisted/tap/coil.py: There is now a tap-creator for COIL.
3679
* twisted/internet/stupidproxy.py: Now with COILability!
3681
2002-02-23 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3683
* bin/mktap: mktap now uses Plugins instead of searching through
3684
twisted.tap. Yay for unified configuration systems!
3687
2002-02-22 Chris Armstrong <carmstro@twistedmatrix.com>
3689
* twisted/im, twisted/words: t-im can now do topic setting (words
3690
only), fixed the Group Metadata-setting interface in the service.
3692
2002-02-22 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3694
* twisted/manhole: COIL can now load Plugins.
3696
2002-02-21 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3698
* twisted.spread.pb: Changed remote method invocations to be
3699
called through .callRemote rather than implicitly by getattr, and
3700
added LocalAsRemote utility class for emulating remote behavior.
3702
2002-02-21 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3704
* twisted.protocols.ftp: Fixed a lot of serious bugs.
3706
2002-02-20 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3708
* twisted.protocols.telnet: the python shell now supports
3709
multi-line commands and can be configured using coil.
3711
2002-02-13 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3713
* twisted.lumberjack: a log rotation and viewing service.
3714
Currently only log rotation is supported.
3716
2002-02-12 Kevin Turner <acapnotic@twistedmatrix.com>
3718
* twisted/words/ircservice.py (IRCChatter.irc_AWAY): Fix bug
3719
where you can never come back from being away (at least using
3722
2002-02-11 Chris Armstrong <carmstro@twistedmatrix.com>
3724
* twisted/web/widgets.py: Changed Gadget.page to Gadget.pageFactory
3725
for clarity (this is backwards-compatible).
3727
2002-02-10 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3729
* twisted/spread/jelly.py:
3730
* twisted/spread/banana.py:
3731
* twisted/spread/pb.py: fixed bugs found by pychecker, got rid
3732
of __ping__ method support, and added 'local_' methods to
3735
* twisted/persisted/styles.py: pychecker bug fixes
3737
2002-02-09 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3739
* bin/eco: Created a command-line interpreter for ECO.
3741
* doc/man/eco.1: man page for bin/eco
3743
2002-02-09 Chris Armstrong <carmstro@twistedmatrix.com>
3745
* twisted/eco/eco.py: Reverted evaluator state back to functional-ness
3746
:) And added functions (anonymous and global), and broke various
3749
2002-02-09 Allen Short <washort@twistedmatrix.com>
3751
* twisted/eco/eco.py: Refactored evaluator into a class, improved
3752
python-function argument signatures, and added and/or/not functions.
3754
2002-02-08 Kevin Turner <acapnotic@twistedmatrix.com>
3756
* twisted/words/service.py, ircservice.py: Fixed annoying PING
3757
bug, and added /topic support.
3759
2002-02-08 Glyph Lefkowitz <glyph@twistedmatrix.com>
3761
* twisted/eco: Initial prototype of ECO, the Elegant C Overlay
3764
2002-02-02 Paul Swartz <z3p@twistedmatrix.com>
3766
* twisted/im/ircsupport.py: Added support for the IRC protocol
3769
2002-02-02 Chris Armstrong <carmstro@twistedmatrix.com>
3771
* twisted/python/deferred.py: added Deferred.addErrback, so now
3772
it's easy to attach errbacks to deferreds when you don't care
3773
about plain results.
3775
* twisted/im/chat.py, twisted/im/pbsupport.py: added support for
3778
2002-02-02 Paul Swartz <z3p@twistedmatrix.com>
3780
* SOCKSv4 support: there is now a protocols.socks, which contains
3781
support for SOCKSv4, a TCP proxying protocol. mktap also has
3782
support for the new protocol.
3784
2002-02-02 Kevin Turner <acapnotic@twistedmatrix.com>
3786
* twisted/words/ircservice.py (IRCChatter.receiveDirectMessage),
3787
(IRCChatter.receiveGroupMessage),
3788
(IRCChatter.irc_PRIVMSG): Added CTCP ACTION <-> emote translation
3790
2002-02-01 Paul Swartz <z3p@twistedmatrix.com>
3792
* twisted/im/tocsupport.py: Added support for most of the TOC
3796
2002-02-01 Chris Armstrong <carmstro@twistedmatrix.com>
3798
* twisted/im/*.py: added metadata/emote support to IM. "/me foo"
3799
now triggers a backwards-compatible emote.
3802
2002-01-30 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3804
* twisted/internet/tcp.py: Fixed the bug where startFactory() would
3807
2002-01-30 Chris Armstrong <carmstro@twistedmatrix.com>
3809
* twisted/im: a new client for twisted.words (and eventually
3810
much more) based on GTK+ and Glade. This is mainly glyph's
3811
code, but I organized it for him to check in.
3813
* twisted/words/service.py: metadata support for words messages
3814
(only {'style': 'emote'} is standardized as of yet)
3816
2002-01-29 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3818
* Added hook to tcp.Port and ssl.Port for limiting acceptable
3819
connections - approveConnection(socket, addr).
3821
2002-01-27 Chris Armstrong <carmstro@twistedmatrix.com>
3823
* twisted/words/ircservice.py: You can now change the topic
3824
of a channel with '/msg channelName topic <topic>' - note that
3825
'channelName' does *not* include the '#'.
3827
2002-01-23 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3829
* Incompatible change to PB: all remote methods now return
3830
Deferreds. This doesn't break code in as many places as possible,
3831
but the connection methods now work differently and have different
3834
* Incompatible change to Banana: Banana now really supports floats
3835
and long integers. This involved removing some nasty hackery that
3836
was previously part of the protocol spec, so you'll need to
3839
* Added a feature to Jelly: Jelly now supports unicode strings.
3841
* Improved Twisted.Forums considerably: still needs work, but it's
3842
growing into an example of what you can do with a Twisted.Web
3845
* Added Twisted.Web.Webpassport -- generic mechanism for web-based
3846
login to arbitrary services. This in conjunction with some code
3847
in Forum that uses it.
3849
* Incompatible change in Enterprise: all query methods now return
3850
Deferreds, as well as take arguments in an order which makes it
3851
possible to pass arbitrary argument lists for using the database's
3852
formatting characters rather than python's.
3854
2002-01-15 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3856
* twisted/internet/passport.py: (and friends) Retrieval of
3857
perspectives is now asynchronous, hooray (this took way too long)!
3858
Perspectives may now be stored in external data sources. Lurching
3859
slowly towards a stable API for the Passport system, along with
3860
Sean's recent commits of tools to manipulate it.
3862
2002-01-14 Kevin Turner <acapnotic@twistedmatrix.com>
3864
* twisted/python/explorer.py: reimplementated. So it's better.
3865
And yes, I broke the API.
3867
* twisted/manhole/ui/spelunk_gnome.py: Less duplication of visages,
3868
and they're draggable now too.
3870
2002-01-13 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3872
* Changed twisted.enterprise.adabi so operations can accept lists
3873
of arguments. This allows us to use the database adaptor's native
3874
SQL quoting ability instead of either doing it ourselves, or the
3875
*current* way twisted does it (not doing it at all, AFAICT!).
3877
cursor.execute("INSERT INTO foo VALUES (%s, %d), "it's magic", 12)
3879
Problem is that different adaptors may have different codes for
3882
* First go at database for twisted.bugs. I hate RDBMS. I hate web.
3884
--- 0.13.0 Release ---
3887
# add-log-time-format: add-log-iso8601-time-string