Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(274)

Side by Side Diff: third_party/twisted_8_1/twisted/topfiles/ChangeLog.Old

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 2005-03-12 Jp Calderone <exarkun@twistedmatrix.com>
2
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.
9
10 2005-02-10 Jp Calderone <exarkun@twistedmatrix.com>
11
12 * twisted/internet/defer.py: DeferredLock, DeferredSemaphore, and
13 DeferredQueue added.
14
15 * twisted/test/test_defer.py: Tests for above mentioned three new
16 classes.
17
18 2004-11-27 Brian Warner <warner@lothar.com>
19
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.
23
24 2004-11-07 Brian Warner <warner@lothar.com>
25
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.
30
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)
34
35 2004-11-06 Jp Calderone <exarkun@twistedmatrix.com>
36
37 * twisted/trial/assertions.py: assertRaises/failUnlessRaises now
38 returns the caught exception to allow tests to inspect the contents.
39
40 2004-11-02 Brian Warner <warner@lothar.com>
41
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.
45
46 2004-10-26 Cory Dodt <corydodt@twistedmatrix.com>
47
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
52 issue 760.
53
54 2004-10-24 Itamar Shtull-Trauring <itamar@itamarst.org>
55
56 * TCP: Half-close of write and read for TCP connections, including
57 protocol notification for protocols that implement
58 IHalfCloseableProtocol.
59
60 2004-10-07 Jp Calderone <exarkun@twistedmatrix.com>
61
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
65 can accommodate.
66
67 2004-10-06 Itamar Shtull-Trauring <itamar@itamarst.org>
68
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.
72
73 2004-09-30 Brian Warner <warner@lothar.com>
74
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
77 apps.
78
79 * gtk2reactor.py: import gobject *after* pygtk.require, to make
80 sure we get the same versions of both
81
82 2004-09-18 Christopher Armstrong <radix@twistedmatrix.com>
83
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.
88
89 2004-09-11 Cory Dodt <corydodt@twistedmatrix.com>
90
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
96
97 2004-08-24 Brian Warner <warner@lothar.com>
98
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
105
106 2004-07-18 Paul Swartz <z3p@twistedmatrix.com>
107
108 * twisted/internet/utils.py: By passing errortoo=1, you can get
109 stderr from getProcessOutput
110
111 2004-07-18 Paul Swartz <z3p@twistedmatrix.com>
112
113 * twisted/conch/unix.py: if the utmp module is available, record
114 user logins/logouts into utmp/wtmp.
115
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.
119
120 2004-06-25 Jp Calderone <exarkun@twistedmatrix.com>
121
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.
125
126 2004-06-12 Paul Swartz <z3p@twistedmatrix.com>
127
128 * twisted/conch/client: added -r flag to reconnect to the server if
129 the connection is lost (closes 623).
130
131 2004-06-06 Dave Peticolas <dave@krondo.com>
132
133 * twisted/test/test_enterprise.py: test open callback and
134 connect/disconnect.
135
136 * twisted/enterprise/adbapi.py: add open callback support
137 and disconnect() method. Issue 480.
138
139 2004-06-05 Dave Peticolas <dave@krondo.com>
140
141 * twisted/enterprise/adbapi.py: Don't log sql exceptions (issue 631).
142 Remove deprecated api.
143
144 * twisted/news/database.py: do not use adbapi.Augmentation
145
146 2004-06-03 Itamar Shtull-Trauring <itamar@itamarst.org>
147
148 * twisted/internet/gtk2reactor.py: The choice between glib event
149 loop and gtk+ event loop is determined by argument at reactor
150 install time.
151
152 2004-05-31 Dave Peticolas <dave@krondo.com>
153
154 * twisted/enterprise/sqlreflector.py: don't use Augmentation
155
156 * twisted/enterprise/populate.sql: remove
157
158 * twisted/enterprise/schema.sql: remove
159
160 * twisted/enterprise/row.py: remove deprecated classes
161
162 * twisted/enterprise/dbgadgets.py: remove
163
164 * twisted/enterprise/dbcred.py: remove
165
166 * twisted/test/test_enterprise.py: Fix Firebird test case.
167
168 2004-05-21 Itamar Shtull-Trauring <itamar@itamarst.org>
169
170 * twisted/internet/gtk2reactor.py: use glib event loop directly
171 instead of gtk2's event loop if possible.
172
173 2004-05-04 Jp Calderone <exarkun@twistedmatrix.com>
174
175 * twisted.news, twisted.protocols.nntp: Moved back into trunk
176 pending an alternate split-up strategy.
177
178 2004-05-04 Itamar Shtull-Trauring <itamar@itamarst.org>
179
180 * twisted.internet.reactor.listenUDP: transport.write() on UDP
181 ports no longer supports unresolved hostnames (though deprecated
182 support still exists).
183
184 2004-4-18 Christopher Armstrong <radix@twistedmatrix.com>
185
186 * twisted/lore/nevowlore.py, twisted/plugins.tml: Added Nevow
187 support for lore. See docstring of twisted.lore.nevowlore.
188
189 2004-4-18 Christopher Armstrong <radix@twistedmatrix.com>
190
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.
194
195 2004-4-11 Paul Swartz <z3p@twistedmatrix.com>
196
197 * twisted.conch: refactored the Conch client to separate connecting
198 to a server from user authentication from client-specific actions.
199
200 2004-03-23 Andrew Bennetts <spiv@twistedmatrix.com>
201
202 * twisted.protocols.http: Small optimisation to HTTP implementation.
203 This changes return value of toChunk to a tuple of strings, rather
204 than one string.
205
206 2004-4-3 Paul Swartz <z3p@twistedmatrix.com>
207
208 * twisted.python.lockfile: added lockfile support, based on
209 liblockfile.
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.
214
215 2004-03-23 Pavel Pergamenshchik <pp64@cornell.edu>
216
217 * twisted.internet.iocp: Support for Windows IO Completion Ports.
218 Use with "--reactor=iocp" parameter to twistd or trial.
219
220 2004-03-20 Itamar Shtull-Trauring <itamar@itamarst.org>
221
222 * twisted.internet: getHost(), getPeer(), buildProtocol() etc.
223 all use address objects from twisted.internet.address.
224
225 * twisted/internet/udp.py: Connected UDP support is now part of
226 the standard listenUDP-resulting UDP transport using a connect()
227 method.
228
229 2004-03-18 Jp Calderone <exarkun@twistedmatrix.com>
230
231 * twisted/application/internet.py: Changed TimerService to
232 log errors from the function it calls.
233
234 * twisted/application/test_application.py: Added test case
235 for logging of exceptions from functions TimerService calls.
236
237 2004-03-07 Christopher Armstrong <radix@twistedmatrix.com>
238
239 * .: Releasing Twisted 1.2.1alpha1.
240
241 2004-03-03 Christopher Armstrong <radix@twistedmatrix.com>
242
243 * twisted/web/server.py: Fix UnsupportedMethod so that users'
244 allowedMethods are actually honored.
245
246 * twisted/web/resource.py: (Resource.render) If the resource has
247 an 'allowedMethods' attribute, pass it to UnsupportedMethod.
248
249 2004-02-27 Andrew Bennetts <spiv@twistedmatrix.com>
250
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.
254
255 2004-02-28 Dave Peticolas <dave@krondo.com>
256
257 * setup.py: install tap2rpm as a bin script
258
259 * twisted/test/test_enterprise.py: Test Firebird db. Fix typos.
260
261 2004-02-27 Andrew Bennetts <spiv@twistedmatrix.com>
262
263 * twisted/internet/defer.py: Deprecated DeferredList.addDeferred. It
264 isn't as useful as it looks, and can have surprising behaviour.
265
266 2004-02-25 Christopher Armstrong <radix@twistedmatrix.com>
267
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).
272
273 * twisted/names/client.py: Fixed the AXFR client (lookupZone),
274 thanks to DJB's wonderful documentation of the horribleness of
275 DNS.
276
277 2004-02-25 Christopher Armstrong <radix@twistedmatrix.com>
278
279 * .: Releasing Twisted 1.2.0 final! Same as rc3.
280
281 2004-02-24 Christopher Armstrong <radix@twistedmatrix.com>
282
283 * .: Releasing Twisted 1.2.0rc3 (same as rc2, with cBanana bug
284 fixed).
285
286 2004-02-19 Kevin Turner <acapnotic@twistedmatrix.com>
287
288 * twisted/application/service.py (IService.disownServiceParent)
289 (IServiceCollection.removeService): These may return Deferred if they
290 have asynchronous side effects.
291
292 2004-02-18 Christopher Armstrong <radix@twistedmatrix.com>
293
294 * .: Releasing Twisted 1.2.0rc2. Brown-paper bag release bug.
295
296 2004-02-17 Christopher Armstrong <radix@twistedmatrix.com>
297
298 * .: Releasing Twisted 1.2.0rc1.
299
300 2004-02-13 Brian Warner <warner@lothar.com>
301
302 * doc/howto/faq.xhtml: add entry on transport.getPeer()
303
304 2004-01-31 Christopher Armstrong <radix@twistedmatrix.com>
305
306 * .: Releasing Twisted 1.1.2alpha2 (problem with Debian packaging).
307
308 2004-01-30 Christopher Armstrong <radix@twistedmatrix.com>
309
310 * .: Releasing Twisted 1.1.2alpha1.
311
312 2004-01-23 Christopher Armstrong <radix@twistedmatrix.com>
313
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
317 'trace' module.
318
319 2004-01-21 Pavel Pergamenshchik <pp64@cornell.edu>
320
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.
327
328 2004-01-18 Christopher Armstrong <radix@twistedmatrix.com>
329
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.
337
338 2004-01-13 Itamar Shtull-Trauring <itamar@itamarst.org>
339
340 * twisted/web/soap.py: Beginning of client SOAP support.
341
342 2004-01-10 Andrew Bennetts <spiv@twistedmatrix.com>
343
344 * twisted/protocols/ftp.py: Added support for partial downloads
345 and uploads to FTPClient (see the offset parameter of retrieveFile).
346
347 2004-01-09 Jp Calderone <exarkun@twistedmatrix.com>
348
349 * twisted/protocols/imap4.py: Add IMessageCopier interface to allow
350 for optimized implementations of message copying.
351
352 2004-01-06 Brian Warner <warner@lothar.com>
353
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).
359
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).
363
364 * twisted/internet/protocol.py (ProcessProtocol): add new
365 childDataReceived and childConnectionLost methods, which default
366 to invoking the old methods for backwards compatibility
367
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
373
374 * doc/howto/process.xhtml: document childFDs argument, add example
375
376 2004-01-04 Itamar Shtull-Trauring <itamar@itamarst.org>
377
378 * twisted/internet/gladereactor.py: logs all network traffic for
379 TCP/SSL/Unix sockets, allowing traffic to be displayed.
380
381 2004-01-04 Dave Peticolas <dave@krondo.com>
382
383 * twisted/test/test_enterprise.py: test deleting rows not in cache
384
385 * twisted/enterprise/reflector.py: deleted rows don't have to be
386 in cache
387
388 * doc/examples/row_example.py: use KeyFactory from row_util
389
390 * doc/examples/row_util.py: add KeyFactory
391
392 2003-12-31 Brian Warner <warner@lothar.com>
393
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
400
401 2003-12-31 Jp Calderone <exarkun@twistedmatrix.com>
402
403 * twisted/protocols/ident.py: Client and server ident implementation
404 * twisted/test/test_ident.py: Test cases for ident protocol
405
406 2003-12-29 Jp Calderone <exarkun@twistedmatrix.com>
407
408 * twisted/spread/pb.py: Changed PBServerFactory to use "protocol"
409 instance attribute for Broker creation.
410
411 2003-12-26 Itamar Shtull-Trauring <itamar@itamarst.org>
412
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
416 this attribute.
417
418 2003-12-23 Itamar Shtull-Trauring <itamar@itamarst.org>
419
420 * twisted/web/client.py: if Host header is passed, use that
421 instead of extracting from request URL.
422
423 2003-12-14 Dave Peticolas <dave@krondo.com>
424
425 * twisted/test/test_enterprise.py: Frederico Di Gregorio's patch
426 adding a psycopg test case.
427
428 2003-12-09 Christopher Armstrong <radix@twistedmatrix.com>
429
430 * .: Releasing Twisted 1.1.1, based on rc4.
431
432 2003-12-06 Itamar Shtull-Trauring <itamar@itamarst.org>
433
434 * twisted/internet/wxreactor.py: Added experimental wxPython reactor,
435 which seems to work better than the twisted.internet.wxsupport.
436
437 2003-12-05 Paul Swartz <z3p@twistedmatrix.com>
438
439 * twisted/conch/ssh/filetransfer.py, session.py: added SFTPv3 support
440 to the Conch server.
441
442 2003-12-04 Christopher Armstrong <radix@twistedmatrix.com>
443
444 * .: Releasing Twisted 1.1.1rc4, based on rc2. rc3 never happened!
445
446 2003-12-04 Brian Warner <warner@lothar.com>
447
448 * twisted/persisted/sob.py (Persistent): fix misspelled class name,
449 add compatibility binding to "Persistant" (sic).
450
451 * twisted/test/test_sob.py: use Persistent
452 * twisted/application/service.py (Application): use Persistent
453
454 2003-12-03 Jp Calderone <exarkun@twistedmatrix.com>
455
456 * twisted/protocols/imap4.py: Added support for the
457 IDLE command (RFC 2177).
458
459 2003-12-03 Jp Calderone <exarkun@twistedmatrix.com>
460
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.
464
465 2003-12-02 Jp Calderone <exarkun@twistedmatrix.com>
466
467 * .: Releasing Twisted 1.1.1rc3.
468
469 2003-12-01 Christopher Armstrong <radix@twistedmatrix.com>
470
471 * .: Releasing Twisted 1.1.1rc2 (from CVS HEAD).
472
473 2003-12-01 Jp Calderone <exarkun@twistedmatrix.com>
474
475 * twisted/python/runtime.py: Added seconds method to Platform
476 class.
477
478 * twisted/internet/base.py, twisted/internet/task.py: Changed
479 use of time.time() to use Platform.seconds() instead.
480
481 2003-11-24 Jp Calderone <exarkun@twistedmatrix.com>
482
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.
487
488 2003-11-24 Jp Calderone <exarkun@twistedmatrix.com>
489
490 * twisted/protocols/imap4.py: Fix incorrect behavior of closing the
491 mailbox in response to an EXPUNGE command.
492
493 2003-11-21 Jp Calderone <exarkun@twistedmatrix.com>
494
495 * twisted/trial/runner.py: Added missing calls to setUpClass and
496 tearDownClass in SingletonRunner.
497
498 2003-11-21 Christopher Armstrong <radix@twistedmatrix.com>
499
500 * .: Releasing Twisted 1.1.1rc1.
501
502 2003-11-20 Jp Calderone <exarkun@twistedmatrix.com>
503
504 * twisted/protocols/imap4.py: Fixed incorrect generation of
505 INTERNALDATE information.
506
507 2003-11-20 Jp Calderone <exarkun@twistedmatrix.com>
508
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.
512
513 2003-11-20 Jp Calderone <exarkun@twistedmatrix.com>
514
515 * twisted/internet/tasks.py: LoopingCall added.
516
517 2003-10-14 Itamar Shtull-Trauring <itamar@itamarst.org>
518
519 * twisted/internet/tasks.py: Deprecated scheduling API removed.
520
521 2003-11-18 Jonathan Simms <jonathan@embassynetworks.com>
522
523 * twisted/protocols/ftp.py: refactored to add cred support,
524 pipelining, security.
525 * twisted/test/test_ftp.py: tests for the new ftp
526
527 2003-11-18 Sam Jordan <sam@twistedmatrix.com>
528
529 * twisted/protocols/msn.py: support for MSNP8
530 * doc/examples/msn_example.py: small msn example
531
532 2003-11-13 Paul Swartz <z3p@twistedmatrix.com>
533
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
539 ClientCreator
540 * twisted/scripts/conch.py: use the key agent if available, also
541 agent forwarding
542
543 2003-11-07 Brian Warner <warner@lothar.com>
544
545 * twisted/application/app.py (getApplication): provide a more
546 constructive error message when a .tac file doesn't define
547 'application'. Closes issue387.
548
549 2003-11-01 Paul Swartz <z3p@twistedmatrix.com>
550
551 * twisted/conch/ssh/common.py: use GMPy for faster math if it's
552 available
553
554 2003-10-24 Christopher Armstrong <radix@twistedmatrix.com>
555
556 * .: Releasing Twisted 1.1.0 final. Same codebase as rc2.
557
558 2003-10-24 Brian Warner <warner@lothar.com>
559
560 * doc/howto/test-standard.xhtml: Add section on how to clean up.
561
562 * twisted/test/test_conch.py: improve post-test cleanup. Addresses
563 problems seen in issue343.
564
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
568 issue347.
569 (ReactorBase.addSystemEventTrigger)
570 (ReactorBase.callWhenRunning)
571 (ReactorBase.callInThread): same
572 * doc/howto/coding-standard.xhtml (Callback Arguments): explain why
573
574 2003-10-22 Christopher Armstrong <radix@twistedmatrix.com>
575
576 * .: Releasing Twisted 1.1.0rc2.
577
578 2003-10-21 Andrew Bennetts <spiv@twistedmatrix.com>
579
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
584 updating.
585
586 2003-10-16 Christopher Armstrong <radix@twistedmatrix.com>
587
588 * .: Releasing Twisted 1.1.0alpha3.
589
590 2003-10-16 Brian Warner <warner@lothar.com>
591
592 * doc/howto/pb-cred.xhtml: update for newcred. Closes issue172.
593
594 2003-10-15 Brian Warner <warner@lothar.com>
595
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().
601
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.
607
608 2003-10-15 Christopher Armstrong <radix@twistedmatrix.com>
609
610 * .: Releasing Twisted 1.1.0alpha2 (alpha1 was dead in the water).
611
612 2003-10-15 Brian Warner <warner@lothar.com>
613
614 * setup.py: remove cReactor/ to the sandbox. Closes issue318.
615
616 2003-10-14 Itamar Shtull-Trauring <itamar@itamarst.org>
617
618 * twisted/web/static.py: registry no longer has support for
619 getting services based on their interfaces.
620
621 2003-10-14 Christopher Armstrong <radix@twistedmatrix.com>
622
623 * .: Releasing Twisted 1.1.0alpha1.
624
625 2003-10-13 Bob Ippolito <bob@redivi.com>
626
627 * doc/howto/choosing-reactor.xhtml:
628 Added cfreactor/Cocoa information.
629
630 * doc/examples/cocoaDemo:
631 Removed, replaced by doc/examples/Cocoa cfreactor demos.
632
633 * doc/examples/Cocoa:
634 Moved from sandbox/etrepum/examples/PyObjC, cleaned up.
635
636 * twisted/internet/cfsupport, twisted/internet/cfreactor.py:
637 Moved from sandbox/etrepum, cleaned up.
638
639 * twisted/application/app.py:
640 Added 'cf' -> twisted.internet.cfreactor to reactorTypes
641
642 * setup.py:
643 sys.platform=='darwin' - build cfsupport, do not build cReactor.
644
645 * INSTALL:
646 Changed URL of pimp repository to shorter version.
647
648 2003-10-12 Jp Calderone <exarkun@twistedmatrix.com>
649
650 * bin/tktwistd, twisted/scripts/tktwistd.py, doc/man/tktwistd.1:
651 Removed.
652
653 2003-10-12 Itamar Shtull-Trauring <itamar@itamarst.org>
654
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.
658
659 2003-10-02 Jp Calderone <exarkun@twistedmatrix.com>
660
661 * setup.py, twisted/test/test_dir.py, twisted/python/_c_dir.c:
662 Removed _c_dir extension module for portability and maintenance
663 reasons.
664
665 2003-10-03 Moshe Zadka <moshez@twistedmatrix.com>
666
667 * twisted/spread/util.py twisted/test/test_spread.py: Fix issue
668 286
669
670 2003-10-01 Brian Warner <warner@lothar.com>
671
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".
677 Closes issue234.
678 * twisted/test/test_webclient.py (WebClientTestCase.write): verify
679 that the errback gets called
680
681 * twisted/scripts/trial.py (run): add --until-failure option to
682 re-run the test until something fails. Closes issue87.
683
684 2003-09-30 Brian Warner <warner@lothar.com>
685
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.
689
690 2003-9-29 Moshe Zadka <moshez@twistedmatrix.com>
691
692 * twisted/tap/procmon.py twisted/plugins.tml: remove procmon
693 tap. It was crufty and hard to port properly to new application.
694
695 2003-09-29 Brian Warner <warner@lothar.com>
696
697 * twisted/scripts/trial.py (Options.opt_reactor): make trial
698 accept the same reactor-name abbreviations as twistd does. Closes
699 issue69.
700 (top): add test-case-name tag
701
702 * doc/man/trial.1: document the change
703
704 2003-09-28 Christopher Armstrong <radix@twistedmatrix.com>
705
706 * .: Releasing Twisted 1.0.8alpha3.
707
708 2003-09-27 Cory Dodt <corydodt@yahoo.com>
709
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.
712
713 2003-9-18 Moshe Zadka <moshez@twistedmatrix.com>
714
715 * twisted/application/strports.py twisted/test/test_strports.py:
716 New API/mini-language for defining ports
717
718 2003-9-18 Moshe Zadka <moshez@twistedmatrix.com>
719
720 * twisted/web/spider.py: removed, it was unmaintained.
721
722 2003-09-19 Christopher Armstrong <radix@twistedmatrix.com>
723
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.
729
730 2003-09-19 Moshe Zadka <moshez@twistedmatrix.com>
731
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
737 applications.
738
739 2003-09-19 Jp Calderone <exarkun@twistedmatrix.com>
740
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
745 resolver.
746
747 * twisted/mail/relaymanager.py: Instantiation of MXCalculator made
748 lazy.
749
750 2003-09-18 Stephen Thorne <stephen@thorne.id.au>
751
752 * twisted/web/distrib.py: Removed dependancy on twisted.web.widgets, and
753 instead using woven.
754
755 2003-09-18 Stephen Thorne <stephen@thorne.id.au>
756
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
760
761 2003-09-18 Stephen Thorne <stephen@thorne.id.au>
762
763 * twisted/web/woven/widgets.py: Stop the 'Option' widget from having a
764 name="" attribute. Closes issue255.
765
766 2003-09-16 Christopher Armstrong <radix@twistedmatrix.com>
767
768 * .: Releasing Twisted 1.0.8alpha1.
769
770 * .: Releasing Twisted 1.0.8alpha2 (Fixed Debian packages).
771
772 2003-09-13 Christopher Armstrong <radix@twistedmatrix.com>
773
774 * .: Releasing Twisted 1.0.7 (no code changes since 1.0.7rc1).
775
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.
778
779 2003-09-12 Itamar Shtull-Trauring <itamar@itamarst.org>
780
781 * twisted/web/microdom.py: lenient mode correctly handles <script>
782 tags with CDATA or comments protecting the code (closes issue #231).
783
784 2003-09-10 Tommi Virtanen <tv@twistedmatrix.com>
785
786 * HTTPS support for XML-RPC and web clients (closes issue #236).
787
788 2003-08-29 Christopher Armstrong <radix@twistedmatrix.com>
789
790 * .: Releasing Twisted 1.0.7rc1.
791
792 2003-09-12 Itamar Shtull-Trauring <itamar@itamarst.org>
793
794 * twisted/spread/pb.py: new cred support for Perspective Broker.
795
796 2003-08-26 Dave Peticolas <dave@krondo.com>
797
798 * doc/howto/xmlrpc.html: document sub-handler and introspection
799
800 * twisted/test/test_xmlrpc.py: test introspection support
801
802 * twisted/web/xmlrpc.py: implement sub-handlers and introspection
803 support
804
805 2003-08-23 Brian Warner <warner@lothar.com>
806
807 * twisted/internet/gtk2reactor.py: force timeout values to be
808 integers, because recent pygtk's complain when they get floats
809
810 2003-08-19 Christopher Armstrong <radix@twistedmatrix.com>
811
812 * .: Releasing Twisted 1.0.7alpha5.
813
814 2003-08-18 Jp Calderone <exarkun@twistedmatrix.com>
815
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.
820
821 2003-08-16 Dave Peticolas <dave@krondo.com>
822
823 * twisted/test/test_import.py: update for enterprise
824
825 * twisted/enterprise/sqlreflector.py: use dbpool directly
826
827 * twisted/enterprise/row.py: deprecate KeyFactory and StatementBatch
828
829 * twisted/enterprise/dbpassport.py: remove
830
831 * twisted/enterprise/dbgadgets.py: deprecate all
832
833 * twisted/enterprise/dbcred.py: deprecate all
834
835 * twisted/enterprise/adbapi.py: deprecate Augmentation. deprecate
836 crufty bits of ConnectionPool API.
837
838 2003-08-11 Dave Peticolas <dave@krondo.com>
839
840 * twisted/enterprise/sqlreflector.py: fix docs
841
842 2003-08-08 Donovan Preston <dp@twistedmatrix.com>
843
844 * Added getAllPatterns API to Widget, which returns all nodes
845 which have the given pattern name.
846
847 * Refactored List widget to use getAllPatterns, so you can have
848 more than one listHeader, listFooter, and emptyList node.
849
850 2003-08-08 Dave Peticolas <dave@krondo.com>
851
852 * twisted/internet/base.py: remove unused internal function.
853
854 * twisted/internet/gladereactor.py: remove unused internal function.
855 clean up imports.
856
857 2003-08-07 Christopher Armstrong <radix@twistedmatrix.com>
858
859 * .: Releasing Twisted 1.0.7alpha4.
860
861 2003-08-06 Donovan Preston <dp@twistedmatrix.com>
862
863 * Major woven optimizations.
864
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.
868
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.
873
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
879 nodes.
880
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.
884
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.
888
889 2003-08-04 Dave Peticolas <dave@krondo.com>
890
891 * twisted/python/usage.py: use parameter docs if handler
892 method has none. fixes bug displaying trial help.
893
894 2003-07-31 Brian Warner <warner@lothar.com>
895
896 * twisted/python/filepath.py (FilePath.__getstate__): allow
897 FilePath objects to survive unpersisting.
898
899 2003-07-30 Brian Warner <warner@lothar.com>
900
901 * doc/howto/faq.html: mention spawnProcess vs. os.environ
902
903 * doc/howto/test-standard.html: document usage of .todo and .skip
904
905 2003-07-28 Brian Warner <warner@lothar.com>
906
907 * twisted/python/_c_dir.c: hush compiler warning
908
909 * setup.py: add twisted.xish
910
911 2003-07-28 Itamar Shtull-Trauring <itamar@itamarst.org>
912
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().
916
917 2003-07-27 Dave Peticolas <dave@krondo.com>
918
919 * twisted/test/test_enterprise.py: enable tests that depend on
920 cp_min and cp_max
921
922 * twisted/enterprise/adbapi.py: use threadpool to handle cp_min and
923 cp_max arguments
924
925 * twisted/test/test_threadpool.py: test existing work
926
927 * twisted/python/threadpool.py: check for existing work in start()
928
929 2003-07-25 Jp Calderone <exarkun@twistedmatrix.com>
930
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.
934
935 2003-07-24 Brian Warner <warner@lothar.com>
936
937 * twisted/internet/cReactor/cDelayedCall.c: implement .active and
938 .getTime methods
939
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.
945
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)
949
950 2003-07-23 Dave Peticolas <dave@krondo.com>
951
952 * twisted/internet/threads.py: avoid top-level reactor import
953
954 2003-07-23 Jp Calderone <exarkun@twistedmatrix.com>
955
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
960 the interface.
961
962 2003-07-23 Dave Peticolas <dave@krondo.com>
963
964 * twisted/test/test_enterprise.py: more tests
965
966 2003-07-21 Dave Peticolas <dave@krondo.com>
967
968 * twisted/internet/base.py: implement callWhenRunning
969
970 * twisted/internet/interfaces.py: add callWhenRunning API
971
972 * twisted/test/test_pop3.py: string in string only works in 2.3
973
974 2003-07-19 Christopher Armstrong <radix@twistedmatrix.com>
975
976 * .: Releasing Twisted 1.0.7alpha3 (for form and twisted.names
977 updates mentioned below).
978
979 2003-07-19 Ying Li <cyli@ai.mit.edu>
980
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.).
984
985 * twisted/web/woven/form.py, twisted/python/formmethod.py: Can
986 format layout of checkgroups and radiogroups into tables, rows, or
987 columns.
988
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).
992
993 2003-07-19 Christopher Armstrong <radix@twistedmatrix.com>
994
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.
998
999 2003-07-17 Christopher Armstrong <radix@twistedmatrix.com>
1000
1001 * .: Releasing Twisted 1.0.7alpha2 (Debian packages should be
1002 correct now)
1003
1004 2003-07-17 Dave Peticolas <dave@krondo.com>
1005
1006 * doc/howto/components.html: methods in interfaces do have self
1007 parameters
1008
1009 2003-07-18 Christopher Armstrong <radix@twistedmatrix.com>
1010
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.
1014
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
1018 them.
1019
1020 2003-07-18 Christopher Armstrong <radix@twistedmatrix.com>
1021
1022 * .: Releasing Twisted 1.0.7alpha1.
1023
1024 2003-07-17 Jp Calderone <exarkun@twistedmatrix.com>
1025
1026 * twisted/protocols/smtp.py: Address class changed to provide a
1027 default domain for addresses missing a domain part.
1028
1029 2003-07-16 Christopher Armstrong <radix@twistedmatrix.com>
1030
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.
1034
1035 2003-07-15 Dave Peticolas <dave@krondo.com>
1036
1037 * twisted/persisted/styles.py: better debugging output
1038 for Ephemeral
1039
1040 2003-07-14 Jp Calderone <exarkun@twistedmatrix.com>
1041
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.
1046
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.
1051
1052 2003-07-12 Christopher Armstrong <radix@twistedmatrix.com>
1053
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
1056 /bar/abc.
1057
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.
1061
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.
1066
1067 2003-07-05 Dave Peticolas <dave@krondo.com>
1068
1069 * twisted/test/test_enterprise.py: more tests. Add mysql test.
1070
1071 2003-07-05 Itamar Shtull-Trauring <itamar@itamarst.org>
1072
1073 * twisted/web/soap.py: Now requires SOAPpy v0.10.1, allow subclasses
1074 to determine method publishing strategy.
1075
1076 2004-07-05 Jp Calderone <exarkun@twistedmatrix.com>
1077
1078 * bin/mailmail, doc/man/mailmail.1, twisted/scripts/mailmail.py:
1079 sendmail replacement
1080
1081 2003-07-04 Dave Peticolas <dave@krondo.com>
1082
1083 * twisted/test/test_enterprise.py: add sqlite. more tests.
1084 Add Postgres test.
1085
1086 * twisted/enterprise/util.py: fix bug in getKeyColumn
1087
1088 * twisted/enterprise/sqlreflector.py: clean up imports
1089
1090 * twisted/enterprise/row.py: clean up imports
1091
1092 * twisted/enterprise/reflector.py: clean up imports
1093
1094 2004-07-04 Jp Calderone <exarkun@twistedmatrix.com>
1095
1096 * twisted/python/dir.c: Wrapper around opendir(3), readdir(3),
1097 and scandir(3) for use by twisted.python.plugins.
1098
1099 2003-07-03 Jp Calderone <exarkun@twistedmatrix.com>
1100
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.
1105
1106 2003-07-03 Dave Peticolas <dave@krondo.com>
1107
1108 * twisted/test/test_enterprise.py: add gadfly test
1109
1110 * twisted/web/woven/input.py: remove excess newline.
1111
1112 * twisted/trial/unittest.py: take out unused methodPrefix var
1113
1114 * twisted/enterprise/adbapi.py: accept 'noisy' kw arg. persist
1115 noisy, min, and max args. just warn about non-dbapi db libs.
1116
1117 * twisted/enterprise/reflector.py: fix spelling
1118
1119 * twisted/enterprise/sqlreflector.py 80 columns, don't addToCache
1120 in insertRow
1121
1122 * twisted/enterprise/xmlreflector.py: 80 columns
1123
1124 2003-07-01 Brian Warner <warner@lothar.com>
1125
1126 * sandbox/warner/fusd_twisted.py: experimental glue code for FUSD,
1127 a system for implementing Linux device drivers in userspace
1128
1129 2003-06-27 Christopher Armstrong <radix@twistedmatrix.com>
1130
1131 * .: Releasing Twisted 1.0.6rc3. Fixed a security bug in
1132 twisted.web.
1133
1134 * .: Releasing Twisted 1.0.6rc4. One more twisted.web bug.
1135
1136 * .: Releasing Twisted 1.0.6.
1137
1138 2003-06-26 Christopher Armstrong <radix@twistedmatrix.com>
1139
1140 * .: Releasing Twisted 1.0.6rc1.
1141
1142 * .: Releasing Twisted 1.0.6rc2. Pop3 had failing tests.
1143
1144 2003-06-26 Clark C. Evans <cce@twistedmatrix.com>
1145
1146 * twisted/flow/*.py: Moved Flow from the sandbox to
1147 twisted.flow. The callback is dead. Long live the callback!
1148
1149 2003-06-26 Jp Calderone <exarkun@twistedmatrix.com>
1150
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
1154 value.
1155
1156 2003-06-24 Brian Warner <warner@lothar.com>
1157
1158 * doc/howto/upgrading.html: Explain Versioned and rebuild()
1159
1160 2003-06-23 Christopher Armstrong <radix@twistedmatrix.com>
1161
1162 * twisted/scripts/trial.py twisted/trial/reporter.py
1163 doc/man/trial.1:
1164
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.
1168
1169 2003-06-23 Cory Dodt <corydodt@yahoo.com>
1170
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.
1174
1175 2003-06-22 Jp Calderone <exarkun@twistedmatrix.com>
1176
1177 * twisted/internet/defer.py: Changed maybeDeferred API from
1178 maybeDeferred(deferred, f, *args, **kw) to maybeDeferred(f, *args,
1179 **kw).
1180
1181 2003-06-19 Paul Swartz <z3p@twistedmatrix.com>
1182
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.
1186
1187 2003-06-19 Christopher Armstrong <radix@twistedmatrix.com>
1188
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.
1192
1193 2003-06-18 Christopher Armstrong <radix@twistedmatrix.com>
1194
1195 * .: Releasing Twisted 1.0.6alpha2.
1196
1197 2003-06-16 Donovan Preston <dp@twistedmatrix.com>
1198
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.
1203
1204 2003-06-11 Brian Warner <warner@lothar.com>
1205
1206 * doc/howto/cvs-dev.html: add "Working from CVS" hints
1207
1208 2003-06-10 Itamar Shtull-Trauring <itamar@itamarst.org>
1209
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.
1214
1215 2003-06-09 Christopher Armstrong <radix@twistedmatrix.com>
1216
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
1220 a per-class level.
1221
1222 2003-06-09 Jp Calderone <exarkun@twistedmatrix.com>
1223
1224 * twisted/mail/relay.py: Default relaying rule change from all
1225 local and all non-INET connections to all local and all UNIX
1226 connections.
1227
1228 2003-06-08 Jp Calderone <exarkun@twistedmatrix.com>
1229
1230 * twisted/internet/interfaces.py: Added ITLSTransport interface,
1231 subclassing ITCPTransport and adding one method - startTLS()
1232
1233 * twisted/internet/tcp.py: Connector class made to implement
1234 ITLSTransport if TLS is available.
1235
1236 2003-06-05 Brian Warner <warner@lothar.com>
1237
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.
1242
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
1246
1247 2003-06-03 Jp Calderone <exarkun@twistedmatrix.com>
1248
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:
1268
1269 Remove direct usage of twisted.python.compat; Modify __builtin__
1270 module to include forward-compatibility hacks.
1271
1272 2003-05-30 Brian Warner <warner@lothar.com>
1273
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.
1280
1281 2003-05-29 Brian Warner <warner@lothar.com>
1282
1283 * twisted/python/formmethod.py: this module needs False from compat
1284
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.
1288
1289 2003-05-27 Brian Warner <warner@lothar.com>
1290
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.
1296
1297 * twisted/test/test_factories.py (testStopTrying): stop test after
1298 5 seconds rather than 2000 iterations. Some reactors iterate at
1299 different rates.
1300
1301 2003-05-24 Brian Warner <warner@lothar.com>
1302
1303 * twisted/scripts/trial.py (Options.opt_testmodule): ignore
1304 deleted files, recognize twisted/test/* files as test cases
1305
1306 2003-05-22 Brian Warner <warner@lothar.com>
1307
1308 * twisted/test/test_newjelly.py (JellyTestCase.testUnicode): make
1309 sure unicode strings don't mutate into plain ones
1310
1311 2003-05-21 Brian Warner <warner@lothar.com>
1312
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):
1317 test it
1318
1319 * doc/howto/test-standard.html: document test-case-name format
1320
1321 * doc/howto/coding-standard.html: encourage test-case-name tags
1322
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
1326 test-case-name tags
1327
1328 * twisted/scripts/trial.py (Options.opt_testmodule): try to handle
1329 test-case-name tags the same way emacs does
1330
1331 2003-05-21 Christopher Armstrong <radix@twistedmatrix.com>
1332
1333 * bin/coil, doc/man/coil.1, doc/man/index.html: removed. Coil
1334 isn't being maintained, pending a total rewrite.
1335
1336 2003-05-20 Brian Warner <warner@lothar.com>
1337
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.
1341
1342 2003-05-19 Christopher Armstrong <radix@twistedmatrix.com>
1343
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.
1349
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.
1356
1357 2003-05-16 Brian Warner <warner@lothar.com>
1358
1359 * twisted/scripts/trial.py: catch failures during import of test
1360 modules named on the command line too.
1361
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.
1365
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
1369 pass/fail counts.
1370
1371 * doc/howto/faq.html: Add note about Ephemeral in the
1372 import-from-self twistd entry.
1373
1374 2003-05-13 Brian Warner <warner@lothar.com>
1375
1376 * twisted/trial/runner.py: sort tests by name within a TestCase
1377
1378 2003-05-13 Christopher Armstrong <radix@twistedmatrix.com>
1379
1380 * twisted/internet/{default,internet}.py: Add an `active' method to
1381 DelayedCall, which returns True if it hasn't been called or
1382 cancelled.
1383
1384 2003-05-13 Jonathan Lange <jml@twistedmatrix.com>
1385
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.
1389
1390 2003-5-12 Moshe Zadka <moshez@twistedmatrix.com>
1391
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".
1400
1401 2003-05-11 Christopher Armstrong <radix@twistedmatrix.com>
1402
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
1406 by alpha2.
1407
1408 2003-05-08 Christopher Armstrong <radix@twistedmatrix.com>
1409
1410 * .: Releasing Twisted 1.0.5 (same code-base as rc2).
1411
1412 2003-05-08 Glyph Lefkowitz <glyph@twistedmatrix.com>
1413
1414 * twisted/world: Added an object database to Twisted. This is
1415 still highly experimental!
1416
1417 2003-5-6 Moshe Zadka <moshez@twistedmatrix.com>
1418
1419 * twisted/trial/reporter.py twisted/scripts/trial.py: Add --timing
1420 option to make the reporter output wall-clock time.
1421
1422 2003-05-05 Brian Warner <warner@lothar.com>
1423
1424 * setup.py (setup_args): s/licence/license/, preferred in python-2.3
1425
1426 2003-05-05 Christopher Armstrong <radix@twistedmatrix.com>
1427
1428 * .: Releasing Twisted 1.0.5rc1.
1429
1430 * .: Releasing Twisted 1.0.5rc2 (only a Debian build problem fixed).
1431
1432 2003-05-05 Brian Warner <warner@lothar.com>
1433
1434 * twisted/trial/reporter.py: remove ResultTypes, it doesn't really
1435 accomplish its goal
1436
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)
1441
1442 2003-05-04 Brian Warner <warner@lothar.com>
1443
1444 * twisted/trial/reporter.py (ResultTypes): export legal values for
1445 Reporter.reportResults() so remote reporters know what to expect
1446
1447 2003-05-03 Jp Calderone <exarkun@twistedmatrix.com>
1448
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.
1452
1453 2003-05-02 Jp Calderone <exarkun@twistedmatrix.com>
1454
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.
1458
1459 2003-05-01 Brian Warner <warner@lothar.com>
1460
1461 * twisted/test/test_trial.py: handle new trial layout
1462 * twisted/trial/runner.py (runTest): utility function to help
1463 test_trial
1464 * twisted/trial/util.py (extract_tb): handle new trial layout,
1465 ignore the right framework functions.
1466
1467 2003-05-01 Glyph Lefkowitz <glyph@twistedmatrix.com>
1468
1469 * twisted/python/context.py: call-stack context tree.
1470
1471 * twisted/python/components.py: support interface-to-interface
1472 adapatation, IFoo(o) syntax for adaptation, context-based
1473 registries and more.
1474
1475 * twisted/python/log.py: Totally rewritten logging system.
1476
1477 2003-05-01 Brian Warner <warner@lothar.com>
1478
1479 * twisted/internet/gtk2reactor.py (Gtk2Reactor._doReadOrWrite):
1480 add Anthony's cached-Failure speedup to gtk2 too.
1481
1482 2003-05-01 Itamar Shtull-Trauring <itamar@itamarst.org>
1483
1484 * twisted/internet/tcp.py, twisted/internet/default.py: cache
1485 Failures whose contents are always identical. Speeds up lost
1486 connections considerably.
1487
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
1491 required.
1492
1493 2003-04-29 Brian Warner <warner@lothar.com>
1494
1495 * twisted/test/test_process.py: make all child processes inherit
1496 their parent's environment
1497
1498 * twisted/web/resource.py, twisted/python/roots.py: add
1499 test-case-name tag
1500
1501 * twisted/web/resource.py (IResource)
1502 twisted/spread/refpath.py (PathReferenceAcquisitionContext.getIndex)
1503 twisted/python/roots.py (Collection.getEntity): appease pychecker
1504
1505 2003-04-27 Jp Calderone <exarkun@twistedmatrix.com>
1506
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
1515 is not available.
1516
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.
1526
1527 * doc/howto/coding-standard.html: Document the way to use extension
1528 versions of modules for which there is a pure-python equivalent.
1529
1530 2003-04-26 Dave Peticolas <dave@krondo.com>
1531
1532 * twisted/enterprise/adbapi.py: commit successful _runQuery calls
1533 instead of rolling back
1534
1535 2003-04-23 Brian Warner <warner@lothar.com>
1536
1537 * doc/howto/telnet.html: Update example from twisted-0.15.5(!) to
1538 1.0.4
1539
1540 * twisted/protocols/loopback.py: use reactor.iterate(0.01) so the
1541 tests hammer the CPU slightly less
1542
1543 * twisted/test/test_trial.py (LoopbackTests.testError): .type is a
1544 string
1545 * twisted/trial/remote.py (JellyReporter.reportResults): stringify
1546 .type and .value from Failures before jellying them.
1547
1548 * twisted/internet/base.py (ReactorBase.suggestThreadPoolSize):
1549 don't let suggestThreadPoolSize(0) be the only reason threads are
1550 initialized.
1551
1552 * twisted/python/log.py (err): always log Failures to the logfile. If
1553 we're doing _keepErrors, then also add them to _keptErrors.
1554
1555 * twisted/trial/unittest.py (TestSuite.runOneTest): only do
1556 reportResults once per test. Handle reactor.threadpool being None.
1557
1558 2003-04-22 Bob Ippolito <bob@redivi.com>
1559
1560 * twisted/python/compat.py: Complete iter implementation with
1561 __getitem__ hack for 2.1. dict now supports the full 2.3 featureset.
1562
1563 * twisted/test/test_compat.py: Tests for compat module, so we know if
1564 it works or not now ;)
1565
1566 2003-04-22 Andrew Bennetts <spiv@twistedmatrix.com>
1567
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".
1574
1575 2003-04-21 Jp Calderone <exarkun@twistedmatrix.com>
1576
1577 * twisted/internet/interfaces.py: Added getServiceNamed, addService,
1578 and removeService to IServiceCollection.
1579
1580 2003-04-21 Brian Warner <warner@lothar.com>
1581
1582 * twisted/web/woven/*.py: add test-case-name tags
1583
1584 2003-04-21 Bob Ippolito <bob@redivi.com>
1585
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).
1590
1591 2003-04-19 Brian Warner <warner@lothar.com>
1592
1593 * twisted/trial/remote.py (JellyReporter.cleanResults): handle
1594 strings as testClass/method to unbreak tests
1595
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.
1600
1601 2003-04-17 Kevin Turner <acapnotic@twistedmatrix.com>
1602
1603 * .: Release 1.0.4 Final.
1604
1605 2003-04-16 Kevin Turner <acapnotic@twistedmatrix.com>
1606
1607 * .: Release 1.0.4rc1.
1608
1609 2003-04-15 Jp Calderone <exarkun@twistedmatrix.com>
1610
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.
1614
1615 2003-04-14 Brian Warner <warner@lothar.com>
1616
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.
1621
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
1625 connections.
1626
1627 * twisted/test/test_newjelly.py: add test case that sets .invoker
1628 to verify that code path too
1629
1630 2003-04-14 Jonathan Lange <jml@ids.org.au>
1631
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.
1635
1636 2003-04-13 Bob Ippolito <bob@redivi.com>
1637
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.
1643
1644 2003-04-12 Brian Warner <warner@lothar.com>
1645
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.
1652
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
1656
1657 * twisted/test/test_process.py: only install SIGCHLD handler if the
1658 reactor offers a hook for it.
1659
1660 * twisted/test/test_policies.py (ThrottlingTestCase.doIterations):
1661 add more iterations to accomodate reactors that do less IO per pass
1662
1663 * twisted/test/process_signal.py: reset SIGHUP to default handler,
1664 fixes test failures in a 'nohup' environment
1665
1666 * twisted/test/test_process.py (PosixProcessTestCasePTY): remove
1667 testClosePty.todo now that it works
1668 (SignalProtocol.processEnded): Improve testSignal error messages
1669
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
1673 connectionLost.
1674
1675 2003-04-12 Paul Swartz <z3p@twistedmatrix.com>
1676
1677 * twisted/plugins.tml, twisted/tap/ssh.py, twisted/tap/conch.py: moved
1678 the conch server from 'mktap ssh' to 'mktap conch'.
1679
1680 2003-04-12 Brian Warner <warner@lothar.com>
1681
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.
1688
1689 2003-04-11 Brian Warner <warner@lothar.com>
1690
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
1695 expiring).
1696
1697 2003-04-11 Jp Calderone <exarkun@twistedmatrix.com>
1698
1699 * twisted/internet/defer.py: Added new, experimental function,
1700 "maybeDeferred". API is subject to change.
1701
1702 2003-04-11 Jp Calderone <exarkun@twistedmatrix.com>
1703
1704 * twisted/scripts/mktap.py: Sped up --debug and --progress by
1705 introducing a two-pass option parser.
1706
1707 2003-04-11 Brian Warner <warner@lothar.com>
1708
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
1714 using time.sleep().
1715
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
1719 as reliable.
1720
1721 2003-04-11 Andrew Bennetts <spiv@twistedmatrix.com>
1722
1723 * twisted/lore:
1724 Added a "lore-slides" plugin, with HTML, Magicpoint and Prosper output
1725 targets. It's still a bit rough, but functional.
1726
1727 2003-04-10 Kevin Turner <acapnotic@twistedmatrix.com>
1728
1729 * .: Release 1.0.4alpha2.
1730
1731 2003-04-09 Brian Warner <warner@lothar.com>
1732
1733 * twisted/scripts/trial.py (Options.opt_reactor): install reactor
1734 before parseArgs() does an import and installs the default one
1735
1736 * twisted/internet/process.py: fix typo,
1737 s/registerReapProccessHandler/registerReapProcessHandler)/
1738
1739 2003-04-09 Jp Calderone <exarkun@twistedmatrix.com>
1740
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.
1744
1745 2003-04-09 Brian Warner <warner@lothar.com>
1746
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().
1752
1753 2003-04-09 Bob Ippolito <bob@redivi.com>
1754
1755 * twisted/python/util.py (OrderedDict): added a UserDict subclass
1756 that preserves insert order (for __repr__, items, values, keys).
1757
1758 * twisted/internet/app.py (Application, _AbstractServiceCollection):
1759 Preserve service order, start services in order, stop them in reverse.
1760
1761 2003-04-09 Andrew Bennetts <spiv@twistedmatrix.com>
1762
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.
1769
1770 2003-04-07 Brian Warner <warner@lothar.com>
1771
1772 * twisted/test/test_banana.py (BananaTestCase): add Acapnotic's
1773 crash-cBanana test case, and some others.
1774
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.
1779
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.
1785
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
1789
1790 2003-04-06 Brian Warner <warner@lothar.com>
1791
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.
1799
1800 2003-04-04 Kevin Turner <acapnotic@twistedmatrix.com>
1801
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).
1806
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
1810 Linux kernel.
1811
1812 * doc/examples/shaper.py: Demonstration of shaping traffic on a
1813 web server.
1814
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.
1818
1819 2003-04-04 Itamar Shtull-Trauring <itamar@itamarst.org>
1820
1821 * twisted/web/microdom.py: parseXML and parseXMLString functions
1822 that are setup to use the correct settings for strict XML parsing
1823 and manipulation.
1824
1825 2003-03-31 Brian Warner <warner@lothar.com>
1826
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.
1831
1832 2003-03-31 Kevin Turner <acapnotic@twistedmatrix.com>
1833
1834 * twisted/trial/remote.py: machine-readable trial output to allow
1835 for the test runner and the results Reporter to be in seperate
1836 processes.
1837
1838 2003-03-15 Jp Calderone <exarkun@twistedmatrix.com>
1839
1840 * twisted/internet/app.py: Renamed "factory" argument to
1841 Application.listenUDP() to "proto"
1842
1843 2003-03-13 Tommi Virtanen <tv@twistedmatrix.com>
1844
1845 * twisted/tap/procmon.py, twisted/plugins.tml: support for mktapping
1846 ProcessMonitors.
1847
1848 2003-03-11 Bob Ippolito <bob@redivi.com>
1849
1850 * twisted/internet/: Replaced apply() in non-deprecated
1851 twisted.internet modules with Direct Function Calls per
1852 recommendation from PEP 290.
1853
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.
1863
1864 2003-03-05 Itamar Shtull-Trauring <itamar@itamarst.org>
1865
1866 * twisted/internet/: reactor.run() now accepts a keyword
1867 argument, installSignalHandlers, indicating if signal handlers
1868 should be installed.
1869
1870 2003-03-04 Tommi Virtanen <tv@twistedmatrix.com>
1871
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.
1876
1877 2003-03-04 Tommi Virtanen <tv@twistedmatrix.com>
1878
1879 * twisted/scripts/tap2deb.py, doc/man/tap2deb.1: Option --version=
1880 collided with global options, renamed to --set-version=.
1881
1882 2003-03-01 Jp Calderone <exarkun@twistedmatrix.com>
1883
1884 * twisted/scripts/twistd.py: Added --report-profile flag to twistd
1885 daemon.
1886
1887 2003-02-24 Brian Warner <warner@lothar.com>
1888
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.
1892
1893 2003-02-23 Kevin Turner <acapnotic@twistedmatrix.com>
1894
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.
1898
1899 2003-2-19 Moshe Zadka <moshez@twistedmatrix.com>
1900
1901 * twisted/web/monitor.py: Monitor web sites.
1902
1903 2003-2-20 Paul Swartz <z3p@twistedmatrix.com>
1904
1905 * twisted/internet/{app,default,interface,unix}.py: Add 'mode' argument
1906 to the listenUNIX interface, which sets the filesystem mode for the
1907 socket.
1908
1909 2003-2-18 Christopher Armstrong <radix@twistedmatrix.com>
1910
1911 * .: Release 1.0.4alpha1.
1912
1913 2003-2-18 Moshe Zadka <moshez@twistedmatrix.com>
1914
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.
1918
1919 2003-02-17 Paul Swartz <z3p@twistedmatrix.com>
1920
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.
1925
1926 2003-02-16 Jp Calderone <exarkun@twistedmatrix.com>
1927
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
1930 possible each).
1931
1932 * doc/examples/echoclient.py: Added UDP echo protocol
1933 implementation; it is unused by default, but easily enabled.
1934
1935 2003-02-16 Cory Dodt <corydodt@yahoo.com>
1936
1937 * twisted/lore/{latex,default}.py: provide a --config book option
1938 to Lore, for producing book-level documents from an index page.
1939
1940 2003-02-15 Jp Calderone <exarkun@twistedmatrix.com>
1941
1942 * twisted/scripts/mktap.py, twisted/scripts/twistd.py: Added the
1943 --appname and --originalname parameters, respectively.
1944
1945 * twisted/doc/man/mktap.py, twisted/doc/man/twistd.py: Documented
1946 the above two new parameters.
1947
1948 2003-02-12 Kevin Turner <acapnotic@twistedmatrix.com>
1949
1950 * twisted/python/text.py (docstringLStrip): 1.6 This will be going
1951 away in favor of inspect.getdoc.
1952
1953 2003-02-11 Kevin Turner <acapnotic@twistedmatrix.com>
1954
1955 * twisted/im/interfaces.py (IAccount): 1.4 New instance attribute:
1956 "client". Also, added methods getGroup and getPerson.
1957
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.
1961
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.
1969
1970 * twisted/im/gtkchat.py (GtkChatClientUI.getPerson, .getGroup): 1.15
1971 follow ChatUI interface changes.
1972
1973 2003-02-09 Brian Warner <warner@lothar.com>
1974
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
1984
1985 * ChangeLog: Set add-log-time-format to iso8601.
1986
1987 2003-02-09 Christopher Armstrong <radix@twistedmatrix.com>
1988
1989 * .: Releasing 1.0.3rc1.
1990
1991 2003-02-08 Moshe Zadka <moshez@twistedmatrix.com>
1992
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.
1995
1996 2003-02-07 Moshe Zadka <moshez@twistedmatrix.com>
1997
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.
2007
2008 2003-02-06 Bob Ippolito <bob@redivi.com>
2009
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.
2014
2015 2003-02-04 Jp Calderone <exarkun@twistedmatrix.com>
2016
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.
2022
2023 2003-01-31 Cory Dodt <corydodt@yahoo.com>
2024
2025 * twisted/lore/latex.py: Don't treat comments like text nodes, just
2026 drop them.
2027
2028 2003-01-30 Jp Calderone <exarkun@twistedmatrix.com>
2029
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
2036
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.
2042
2043 * twisted/internet/app.py: listenWith, unlistenWith, and connectWith
2044 methods added to Application.
2045
2046 * twisted/internet/interfaces.py: IReactorArbitrary added.
2047
2048 2003-01-30 Kevin Turner <acapnotic@twistedmatrix.com>
2049
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
2054 exceptions."
2055
2056 2003-01-29 Donovan Preston <dp@twistedmatrix.com>
2057
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
2062
2063 * Uses a flat list of outstanding DOM nodes instead of
2064 recursion to keep track of where Woven is in the page
2065 rendering process
2066
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.
2072
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
2077 reliable
2078
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
2084
2085 2003-01-29 Christopher Armstrong <radix@twistedmatrix.com>
2086
2087 * .: Releasing 1.0.2 Final.
2088
2089 * .: Releasing 1.0.3alpha1. Release Often :-D
2090
2091 2003-01-29 Kevin Turner <acapnotic@twistedmatrix.com>
2092
2093 * twisted/internet/abstract.py (FileDescriptor.__init__): 1.36
2094 Ephemeral.
2095
2096 * twisted/internet/tcp.py (Port.__getstate__): 1.100 As an
2097 Ephemeral, this needs no __getstate__.
2098
2099 2003-01-27 Kevin Turner <acapnotic@twistedmatrix.com>
2100
2101 * twisted/spread/ui/gtk2util.py (login): Perspective Broker login
2102 dialog for GTK+ version 2.
2103
2104 2003-01-26 Christopher Armstrong <radix@twistedmatrix.com>
2105
2106 * .: Releasing 1.0.2rc1.
2107
2108 * .: Releasing 1.0.2rc2 (rc1 was dead in the water; hlint bug now
2109 fixed).
2110
2111 * .: Releasing 1.0.2rc3 (rc2 was dead in the water;
2112 twisted.lore.latex bug now fixed)
2113
2114 2003-01-26 Kevin Turner <acapnotic@twistedmatrix.com>
2115
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.
2119
2120 * twisted/im/basesupport.py
2121 (AbstractClientMixin.registerAsAccountClient): 1.13 Gone.
2122 chatui.registerAccountClient is called in AbstractAccount.logOn
2123 instead.
2124
2125 2003-01-22 Dave Peticolas <dave@krondo.com>
2126
2127 * twisted/web/xmlrpc.py: add docstring for Proxy. handle
2128 serialization errors. check for empty deferred on connectionLost.
2129
2130 * twisted/test/test_internet.py: make sure wakeUp actually works
2131
2132 2003-01-21 Itamar Shtull-Trauring <itamar@itamarst.org>
2133
2134 * twisted/internet/defer.py: added utility method for
2135 getting result of list of Deferreds as simple list.
2136
2137 2003-1-20 Jp Calderone <exarkun@twistedmatrix.com>
2138
2139 * twisted/internet/interfaces.py: type argument removed from
2140 IReactorCore.resolve method. IReactorPluggableResolver interface
2141 added.
2142
2143 * twisted/internet/base.py: IReactorPluggable added to
2144 ReactorBase.__implements__ and ReactorBase.installResolver added.
2145
2146 2003-1-18 Moshe Zadka <moshez@twistedmatrix.com>
2147
2148 * twisted/trial/unittest.py twisted/scripts/trial.py: adding --summary
2149
2150 2003-01-15 Christopher Armstrong <radix@twistedmatrix.com>
2151
2152 * .: Releasing 1.0.2alpha3.
2153
2154 2003-01-13 Christopher Armstrong <radix@twistedmatrix.com>
2155
2156 * .: Releasing 1.0.2alpha2.
2157
2158 2003-01-11 Itamar Shtull-Trauring <itamar@itamarst.org>
2159
2160 * twisted/protocols/shoutcast.py: add client support for
2161 Shoutcast MP3 streaming protocol.
2162
2163 2003-01-10 Itamar Shtull-Trauring <itamar@itamarst.org>
2164
2165 * twisted/scripts/twistd.py: in debug mode, jump into debugger for any
2166 logged exception.
2167
2168 2003-01-10 Dave Peticolas <dave@krondo.com>
2169
2170 * twisted/trial/unittest.py: enable test cruft checking
2171
2172 * twisted/test/test_policies.py: cleanup timers
2173
2174 * twisted/protocols/policies.py: start/stop bandwidth timers as needed
2175
2176 * twisted/test/test_internet.py: cleanup timers
2177
2178 * twisted/test/test_woven.py: expire sessions to clean up timers
2179
2180 * twisted/web/woven/guard.py: stop timer when session expires
2181
2182 2003-1-9 Moshe Zadka <moshez@twistedmatrix.com>
2183
2184 * twisted/web/google.py: Search google for best matches
2185
2186 2003-01-09 Dave Peticolas <dave@krondo.com>
2187
2188 * twisted/protocols/http.py: start/stop log timer as needed
2189
2190 2003-01-08 Dave Peticolas <dave@krondo.com>
2191
2192 * twisted/test/test_smtp.py: cleanup timers after test
2193
2194 * twisted/trial/unittest.py: keep errors that are logged and
2195 submit them as test failures when tests are finished.
2196
2197 * twisted/python/log.py: if errors are being kept, don't print
2198 them
2199
2200 2003-1-8 Moshe Zadka <moshez@twistedmatrix.com>
2201
2202 * doc/man/trial.1 twisted/scripts/trial.py: Add -l/--logfile argument
2203 to allow giving a log file.
2204
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
2207 excpected to pass.
2208
2209 2003-01-08 Jonathan M. Lange <jml@mumak.net>
2210
2211 * twisted/trial/*, bin/trial, twisted/scripts/trial.py,
2212 doc/man/trial.1: Added 'trial', a new unit testing framework for
2213 Twisted.
2214
2215 * twisted/test/test_*, admin/runtests: Moved existing tests over to
2216 trial.
2217
2218 2003-01-06 Glyph Lefkowitz <glyph@twistedmatrix.com>
2219
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
2226 documents.
2227
2228 2003-01-05 Brian Warner <warner@lothar.com>
2229
2230 * twisted/internet/cReactor/*, setup.py: Implement getDelayedCalls for
2231 cReactor. Create cDelayedCall class, implement .cancel(), .reset(),
2232 and .delay() for them.
2233
2234 2003-01-03 Jp Calderone <exarkun@twistedmatrix.com>
2235
2236 * twisted/python/components.py: Fix bug due to interaction between
2237 Componentized subclasses and twisted.python.rebuild.rebuild()
2238
2239 * twisted/python/reflect.py: Removed backwards compatability hack
2240 for deprecated name twisted.protocols.telnet.ShellFactory and empty
2241 oldModules dictionary.
2242
2243 2003-01-02 Brian Warner <warner@lothar.com>
2244
2245 * twisted/test/test_internet.py (DelayedTestCase): add test
2246 coverage for IReactorTime.getDelayedCalls
2247
2248 2002-12-30 Brian Warner <warner@lothar.com>
2249
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.
2253
2254 2002-12-30 Paul Swartz <z3p@twistedmatrix.com>
2255
2256 * twisted/conch/*: added docstrings to most conch classes and functions
2257
2258 2002-12-30 Brian Warner <warner@lothar.com>
2259
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
2263 forever.
2264
2265 2002-12-29 Jp Calderone <exarkun@twistedmatrix.com>
2266
2267 * twisted/python/compat.py: Single module where all compatability
2268 code for supporting old Python versions should be placed.
2269
2270 2002-12-28 Glyph Lefkowitz <glyph@twistedmatrix.com>
2271
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.
2276
2277 2002-12-27 Paul Swartz <z3p@twistedmatrix.com>
2278
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
2281 arguments.
2282
2283 * twisted/conch/ui: moved ansi.py and tkvt100.py to t.c.ui so they are
2284 away from the purely conch stuff.
2285
2286 2002-12-25 Christmas Armstrong <radix@twistedmatrix.com>
2287
2288 * .: Releasing 1.0.2alpha1 - Merry Christmas!
2289
2290 2002-12-25 Jp Calderone <exarkun@twistedmatrix.com>
2291
2292 * twisted/protocols/dict.py: dict client protocol implementation
2293 from Pavel "Pahan" Pergamenshchik (<pp64@cornell.edu>)
2294
2295 2002-12-23 Jp Calderone <exarkun@twistedmatrix.com>
2296
2297 * doc/examples/testdns.py and doc/examples/dns-service.py added as
2298 simple example of how to use new DNS client API.
2299
2300 2002-12-23 Moshe Zadka <moshez@twistedmatrix.com>
2301
2302 * twisted/web/xmlrpc.py: added XML RPC client support
2303
2304 2002-12-22 Paul Swartz <z3p@twistedmatrix.com>
2305
2306 * twisted/conch/ssh/keys.py, twisted/conch/ssh/asn1.py: support for
2307 writing public and private keys.
2308
2309 * bin/ckeygen: new script to create public/private key pairs
2310
2311 2002-12-22 Jp Calderone <exarkun@twistedmatrix.com>
2312
2313 * twisted/protocols/dns.py: Support for AFSDB, RP, and SRV RRs
2314 added.
2315
2316 2002-12-18 Jp Calderone <exarkun@twistedmatrix.com>
2317
2318 * twisted/persisted/dirdbm.py: copyTo and clear methods added
2319 to DirDBM class
2320
2321 2002-12-18 Paul Swartz <z3p@twistedmatrix.com>
2322
2323 * twisted/conch/ssh/connection.py, twisted/test/test_conch: fixes to
2324 work on Python 2.1.
2325
2326 * twisted/internet/process.py: usePTY now can be an optional tuple of
2327 (masterfd, slavefd, ttyname).
2328
2329 2002-12-18 Moshe Zadka <moshez@twistedmatrix.com>
2330
2331 * twisted/web/rewrite.py: it works now, even when used as a rootish
2332 resource. Also, the request.path is massaged.
2333
2334 2002-12-13 Dave Peticolas <dave@krondo.com>
2335
2336 * twisted/enterprise/util.py: support numeric type
2337
2338 2002-12-13 Moshe Zadka <moshez@twistedmatrix.com>
2339
2340 * twisted/web/client.py: add 301/302 support
2341
2342 2002-12-13 Dave Peticolas <dave@krondo.com>
2343
2344 * twisted/test/test_ftp.py: give client time to start up (fixes
2345 one test for gtk/gtk2 reactors)
2346
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)
2350
2351 * twisted/internet/gtkreactor.py: remove redundant code
2352
2353 * twisted/internet/gtk2reactor.py: remove redundant code
2354
2355 * twisted/internet/abstract.py: fix spelling in documentation
2356
2357 2002-12-12 Dave Peticolas <dave@krondo.com>
2358
2359 * twisted/test/test_jelly.py: test class serialization
2360
2361 * twisted/spread/jelly.py: join module names with '.' in
2362 _unjelly_class
2363
2364 2002-12-12 Paul Swartz <z3p@twistedmatrix.com>
2365
2366 * twisted/conch/pamauth.py: added, gives support for authentication
2367 using PAM.
2368
2369 * twisted/conch/*: support for the keyboard-interactive authentication
2370 method which uses PAM.
2371
2372 2002-12-12 Moshe Zadka <moshez@twistedmatrix.com>
2373
2374 * twisted/python/log.py: add setStdout, set logfile to NullFile by
2375 default.
2376
2377 2002-12-11 Donovan Preston <dp@twistedmatrix.com>
2378
2379 * Added new woven example, Hello World.
2380
2381 * Updated woven howto to talk about Hello World. TODO: Finish refactorin g
2382 woven quotes example, then write more advanced woven howtos on writing
2383 Widgets and InputHandlers.
2384
2385 2002-12-11 Paul Swartz <z3p@twistedmatix.com>
2386
2387 * twisted/conch/*: enabled 'exec' on the server, disabled core dumps,
2388 and some fixes
2389
2390 2002-12-10 Paul Swartz <z3p@twistedmatrix.com>
2391
2392 * twisted/conch/*: many fixes to conch server, now works and can run
2393 as root.
2394
2395 * twisted/conh/ssh/session.py: fix root exploit where a python shell was
2396 left acessable to anyone.
2397
2398 2002-12-10 Cory Dodt <corydodt@yahoo.com>
2399
2400 * t/scripts/postinstall.py: new. Create shortcut icons on win32.
2401
2402 * twisted-post-install.py: new. Runs t/scripts/postinstall.py
2403
2404 * setup.py: copy twisted-post-install.py during install_scripts
2405
2406 2002-12-09 Paul Swartz <z3p@twistedmatrix.com>
2407
2408 * twisted/internet/app.py: actually set the euid/egid if users ask
2409
2410 2002-12-09 Dave Peticolas <dave@krondo.com>
2411
2412 * twisted/test/test_conch.py: wait for ssh process to finish
2413
2414 * twisted/scripts/postinstall.py: fix indentation
2415
2416 * twisted/conch/identity.py: fix indentation
2417
2418 2002-12-09 Paul Swartz <z3p@twistedmatrix.com>
2419
2420 * twisted/conch/ssh/transport.py: don't accept host keys by default
2421 because it's a huge security hole.
2422
2423 2002-12-09 Dave Peticolas <dave@krondo.com>
2424
2425 * twisted/enterprise/util.py: handle None as null
2426
2427 * twisted/internet/interfaces.py: add missing 'self' argument
2428
2429 2002-12-08 Dave Peticolas <dave@krondo.com>
2430
2431 * pyunit/unittest.py: add missing 'self.' prefix to data member
2432 reference
2433
2434 * twisted/enterprise/util.py: make sure quoted values are strings
2435 (fixes bug storing boolean types)
2436
2437 2002-12-06 Dave Peticolas <dave@krondo.com>
2438
2439 * twisted/test/test_internet.py: flush error to prevent failure
2440 with non-destructive DeferredLists.
2441
2442 * twisted/test/test_ftp.py: flush FTPErrors to prevent failures
2443 with non-destructive DeferredLists.
2444
2445 * twisted/test/test_defer.py: catch the errors to prevent failure
2446 with non-destructive DeferredLists
2447
2448 * twisted/enterprise/util.py: add some postgres types. boolean
2449 types need to be quoted. remove unused selectSQL variable.
2450
2451 2002-12-05 Dave Peticolas <dave@krondo.com>
2452
2453 * twisted/enterprise/sqlreflector.py: fix some sql escaping
2454 bugs. allow subclasses to override escaping semantics.
2455
2456 * twisted/enterprise/util.py: allow quote function's string escape
2457 routine to be overridden with a keyword argument.
2458
2459 2002-12-5 Moshe Zadka <moshez@twistedmatrix.com>
2460
2461 * twisted/python/plugin.py: fixed a bug that got the wrong plugins.tml
2462 if the package was installed in two different places
2463
2464 * twisted/inetd/*, twisted/runner/*: moved inetd to runner, to live in
2465 harmony with procmon
2466
2467 2002-12-04 Dave Peticolas <dave@krondo.com>
2468
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.
2472
2473 * admin/runtests: Add a 'gtk2' test type to use the gtk2reactor
2474 for the test suite.
2475
2476 2002-12-2 Moshe Zadka <moshez@twistedmatrix.com>
2477
2478 * twisted/web/client.py: web client
2479
2480 2002-11-30 Paul Swartz <z3p@twistedmatrix.com>
2481
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.
2486
2487 2002-11-24 Donovan Preston <dp@twistedmatrix.com>
2488
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.
2499
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
2502 browser.
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.
2506
2507 2002-11-24 Christopher Armstrong <radix@twistedmatrix.com>
2508
2509 * .: Releasing 1.0.1.
2510
2511 2002-11-23 Jp Calderone <exarkun@twistedmatrix.com>
2512
2513 * twisted/names/client.py, twisted/names/server.py: Client and
2514 server domain name APIs
2515
2516 * twisted/tap/dns.py: 'mktap dns'
2517
2518 2002-11-23 Moshe Zadka <moshez@twistedmatrix.com>
2519
2520 * twisted/scripts/twistd.py twisted/python/syslog.py: Add syslog support
2521
2522 2002-11-23 Kevin Turner <acapnotic@twistedmatrix.com>, Sam Jordan <sam@twiste dmatrix.com>
2523
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
2532
2533 2002-11-20 Christopher Armstrong <radix@twistedmatrix.com>
2534
2535 * .: Releasing 1.0.1rc1
2536
2537 2002-11-16 Itamar Shtull-Trauring <twisted@itamarst.org>
2538
2539 * Multicast UDP socket support in most reactors.
2540
2541 2002-11-11 Glyph Lefkowitz <glyph@twistedmatrix.com>
2542
2543 * .: Releasing 1.0.1alpha4
2544
2545 * .: Releasing 1.0.1alpha3
2546
2547 2002-11-10 Glyph Lefkowitz <glyph@twistedmatrix.com>
2548
2549 * .: Releasing 1.0.1alpha2
2550
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
2554 extensions.
2555
2556 2002-11-04 Itamar Shtull-Trauring <twisted@itamarst.org>
2557
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.
2561
2562 2002-10-25 Moshe Zadka <moshez@twistedmatrix.com>
2563
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
2568
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.
2573
2574 * twisted/python/htmlizer.py: a Python->HTML colouriser
2575
2576 2002-10-23 Itamar Shtull-Trauring <twisted@itamarst.org>
2577
2578 * twisted/web/soap.py: experimental SOAP support, using SOAPpy.
2579 See doc/examples/soap.py for sample usage.
2580
2581 2002-10-22 Christopher Armstrong <radix@twistedmatrix.com>
2582
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
2587 that implemented.
2588
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.)
2592
2593 2002-10-22 Moshe Zadka <moshez@twistedmatrix.com>
2594
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
2598 pthreads.
2599
2600 * twisted/internet/tksupport.py: tunable reactor iterate delay
2601 parameter [by Jp Calderone]
2602
2603 2002-10-17 Moshe Zadka <moshez@twistedmatrix.com>
2604
2605 * bin/websetroot twisted/scripts/websetroot.py: Added a program to set
2606 the root of a web server after the tap exists
2607
2608 2002-10-14 Moshe Zadka <moshez@twistedmatrix.com>
2609
2610 * twisted/web/vhost.py: add a virtual host monster to support twisted
2611 sites behind a reverse proxy
2612
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
2615
2616 2002-10-13 Moshe Zadka <moshez@twistedmatrix.com>
2617
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
2621
2622 2002-10-12 Moshe Zadka <moshez@twistedmatrix.com>
2623
2624 * twisted/internet/process.py twisted/internet/interfaces.py
2625 twisted/internet/default.py: Add utility method to get output of
2626 programs.
2627
2628 2002-10-11 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2629
2630 * twisted/internet/wxsupport.py: improved responsiveness of wxPython
2631 GUI (50 FPS instead of 10 FPS).
2632
2633 2002-10-08 Brian Warner <warner@twistedmatrix.com>
2634
2635 * doc/howto: Added PB/cred and Application docs, updated Manhole
2636 and Process docs. Moved Manhole from "Administrators" section to
2637 "Developers" section.
2638
2639 2002-10-10 Moshe Zadka <moshez@twistedmatrix.com>
2640
2641 * .: Releasing 0.99.4
2642
2643 2002-10-07 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2644
2645 * .: Release 0.99.4rc1
2646
2647 * twisted/protocols/http.py: backed out changes to HTTP that
2648 broke 0.99.3 twisted.web.distrib.
2649
2650 2002-10-7 Moshe Zadka <moshez@twistedmatrix.com>
2651
2652 * twisted/web/script.py: Add ResourceTemplate which uses PTL for
2653 creation of resources.
2654
2655 2002-10-7 Moshe Zadka <moshez@twistedmatrix.com>
2656
2657 * twisted/tap/web.py: It is now possibly to add processors via
2658 the command line
2659
2660
2661 2002-10-04 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2662
2663 * twistd: when running in debug mode (-b), sending a SIGINT signal
2664 to the process will drop into the debugger prompt.
2665
2666 2002-10-5 Moshe Zadka <moshez@twistedmatrix.com>
2667
2668 * .: Releasing 0.99.3
2669
2670 2002-10-01 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2671
2672 * twisted/protocols/http.py: Fixed many bugs in protocol parsing,
2673 found by new unit tests.
2674
2675 2002-9-30 Moshe Zadka <moshez@twistedmatrix.com>
2676
2677 * twisted/protocols/sux.py twisted/web/microdom.py: Made is possible
2678 to sanely handle parse errors
2679
2680 2002-09-26 Kevin Turner <acapnotic@twistedmatrix.com>
2681
2682 * twisted/internet/app.py (_AbstractServiceCollection.removeService):
2683 (MultiService.removeService): inverse of addService
2684 (ApplicationService.disownServiceParent): inverse of setServiceParent
2685
2686 2002-9-27 Moshe Zadka <moshez@twistedmatrix.com>
2687
2688 * .: Releasing 0.99.2
2689
2690 2002-09-26 Glyph Lefkowitz <glyph@twistedmatrix.com>
2691
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).
2695
2696 2002-09-25 Kevin Turner <acapnotic@twistedmatrix.com>
2697
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
2700 command line.
2701
2702 2002-09-25 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
2703
2704 * bin/tapconvert: made sure tapconvert program gets installed.
2705
2706 2002-09-24 Kevin Turner <acapnotic@twistedmatrix.com>
2707
2708 * twisted/web/resource.py (Resource.wasModifiedSince): revoked,
2709 not adding this after all. Instead,
2710
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.
2715
2716 2002-9-24 Moshe Zadka <moshez@twistedmatrix.com>
2717
2718 * .: Releasing 0.99.2rc2
2719
2720 2002-9-23 Donovan Preston <dp@twistedmatrix.com>
2721
2722 * Renaming domtemplate/domwidgets/dominput/wmvc to Woven
2723 Woven - The Web Object Visualization Environment
2724
2725 * Created package twisted/web/woven
2726
2727 * Renamed domtemplate to template, domwidgets to widgets,
2728 and dominput to input
2729
2730 * Refactored wmvc into three modules, model, view, and controller
2731
2732 2002-9-23 Moshe Zadka <moshez@twistedmatrix.com>
2733
2734 * twisted/spread/pb.py: add getObjectAtSSL, refactored into
2735 getObjectRetreiver so more transports can be easily supported
2736
2737 2002-09-21 Kevin Turner <acapnotic@twistedmatrix.com>
2738
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.
2742
2743 * twisted/web/resource.py (Resource.wasModifiedSince): companion
2744 method, override this to get sensible handling of
2745 If-Modified-Since conditional requests.
2746
2747 2002-09-21 Glyph Lefkowitz <glyph@twistedmatrix.com>
2748
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.
2758
2759 2002-09-20 Glyph Lefkowitz <glyph@twistedmatrix.com>
2760
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.
2767
2768 2002-9-20 Moshe Zadka <moshez@twistedmatrix.com>
2769
2770 * Documenting for others
2771
2772 * setup.py: now setup.py can function as a module
2773
2774 * twisted/enterprise/xmlreflector.py: deprintified
2775
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__
2782
2783 * twisted/internet/base.py: changed ReactorBase's __name__, added
2784 __all__
2785
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
2790
2791 * twisted/python/components.py: added Adapter and setComponent
2792
2793 * twisted/python/log.py: logging several strings works
2794
2795 * twisted/python/reflect.py: fixed namedModule() to handle packages
2796
2797 * twisted/web/dom*.py: added submodels, moved to microdom, removed
2798 unsafe code
2799
2800 * twisted/python/mvc.py: changed submodel support, added ListModel,
2801 Wrapper
2802
2803 * twisted/web/microdom.py: minidom compat fixes
2804
2805 2002-9-20 Jp Calderone <exarkun@twistedmatrix.com>
2806
2807 * twisted/internet/error.py twisted/internet/process.py:
2808 ProcessEnded -> ProcessTerminated/ProcessDone. Now it is possible
2809 to read off the error code.
2810
2811 2002-9-19 Moshe Zadka <moshez@twistedmatrix.com>
2812
2813 * twisted/scripts/twistd.py: Added ability to chroot. Moved directory
2814 change to after loading of application.
2815
2816 2002-9-19 Moshe Zadka <moshez@twistedmatrix.com>
2817
2818 * twisted/*: changed print to log.msg
2819
2820 * bin/* twisted/scripts/*.py: move code from bin/ to modules
2821
2822 * twisted/inetd/*.py: inetd server in twisted
2823
2824 * twisted/protocols/sux.py twisted/web/microdom.py: XML parsing
2825
2826 * twisted/conch/*.py: better logging and protocol support
2827
2828 * twisted/cred/*.py: deprecation fixes
2829
2830 * twisted/internet/app.py: add encryption
2831
2832 * twisted/internet/base.py: fix deprecation, add DelayedCall,
2833 move to connect* from client*
2834
2835 * twisted/internet/error.py: errno mapping works on more platforms,
2836 AlreadyCalled, AlreadyCancelled errors
2837
2838 * twisted/internet/gtkreactor.py: try requiring gtk1.2, timeout->idle
2839
2840 * twisted/internet/interfaces.py: added IDelayedCall IProcessTransports
2841
2842 * twisted/internet/javareactor.py: using failure, better dealing with
2843 connection losing, new connect* API
2844
2845 * twisted/internet/process.py: dealing better with ending
2846
2847 * twisted/internet/protocol.py: factories have a "noisy" attribute,
2848 added ReconnectingClientFactory BaseProtocol
2849
2850 * twisted/internet/ptypro.py: fixed traceback
2851
2852 * twisted/internet/reactor.py: better guessing of default
2853
2854 * twisted/internet/tcp.py: failure
2855
2856 * twisted/internet/win32eventreactor.py: update to new API, support GUI
2857
2858 * twisted/manhole/service.py: fix deprecation
2859
2860 * twisted/news/database.py: fix to be 2.1 compat., generating
2861 message-id, bytes, lines, date headers, improved storage
2862
2863 * twisted/news/news.py: UsenetClientFactory, UsenetServerFactory
2864
2865 * twisted/persisted/marmalade.py: use twisted.web.microdom
2866
2867 * twisted/protocols/ftp.py: dito, data port uses new client API
2868
2869 * twisted/protocols/http.py: StringTransport instead of StringIO
2870
2871 * twisted/protocols/irc.py: stricter parsing, avoid flooding
2872
2873 * twisted/protocols/loopback.py: new reactor API, loopback over UNIX
2874 sockets
2875
2876 * twisted/protocols/nntp.py: more lenient parsing, more protocol support
2877
2878 * twisted/protocols/oscar.py: new reactor API
2879
2880 * twisted/python/components.py: fix setAdapter add removeComponent
2881
2882 * twisted/python/failure.py: cleanFailure
2883
2884 * twisted/python/log.py: can now log multiple strings in one go
2885
2886 * twisted/python/logfile.py: fixed rotation
2887
2888 * twisted/python/rebuild.py: better 2.2 support
2889
2890 * twisted/python/util.py: getPassword
2891
2892 * twisted/scripts/mktap.py: better --help, --type, encryption
2893
2894 * twisted/spread/*.py: removed deprecation warnings
2895
2896 * twisted/spread/util.py: improved Pager
2897
2898 * twisted/tap/news.py: works saner now
2899
2900 * twisted/tap/ssh.py: can specify authorizer
2901
2902 * twisted/tap/words.py: can bind services to specific interfaces
2903
2904 * twisted/web/distrib.py: now works on java too
2905
2906 * twisted/web/domtemplate.py: improved cache
2907
2908 * twisted/web/error.py: ForbiddenResource
2909
2910 * twisted/web/html.py: lower-case tags
2911
2912 * twisted/web/server.py: use components
2913
2914 * twisted/web/static.py: added .flac, .ogg, properly 404/403,
2915 lower-case tags
2916
2917 * twisted/web/twcgi.py: fixed for new process API
2918
2919 * twisted/web/widgets.py: lower-case tags
2920
2921 * twisted/web/xmlrpc.py: new abstraction for long running xml-rpc
2922 commands, add __all__
2923
2924 * twisted/words/ircservice.py: new connectionLost API
2925
2926 * twisted/words/service.py: refactoring and error handling
2927
2928 * twisted/words/tendril.py: lots of fixes, it works now
2929
2930 2002-09-17 Donovan Preston <dp@twistedmatrix.com>
2931
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.
2937
2938 2002-09-09 Andrew Bennetts <spiv@twistedmatrix.com>
2939
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.
2944
2945 2002-08-30 Christopher Armstrong <radix@twistedmatrix.com>
2946
2947 * Releasing Twisted 0.99.1rc4. There was a bug in the acquisition
2948 code, as well as a typo in TwistedQuotes.
2949
2950 2002-08-29 Christopher Armstrong <radix@twistedmatrix.com>
2951
2952 * Releasing Twisted 0.99.1rc3. A bug in the release script
2953 left .pyc files in the tarball.
2954
2955 2002-08-29 Christopher Armstrong <radix@twistedmatrix.com>
2956
2957 * Releasing Twisted 0.99.1rc2. There was a bug with circular
2958 imports between modules in twisted.python.
2959
2960 2002-08-28 Christopher Armstrong <radix@twistedmatrix.com>
2961
2962 * Releasing Twisted 0.99.1rc1.
2963
2964 2002-08-27 Donovan Preston <dp@twistedmatrix.com>
2965
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.
2969
2970 2002-08-27 Glyph Lefkowitz <glyph@twistedmatrix.com>
2971
2972 * twisted.*: Lots of minor fixes to make JavaReactor work again.
2973
2974 2002-08-26 Andrew Bennetts <andrew-twisted@puzzling.org>
2975
2976 * twisted.python.logfile: Added the ability to disable log
2977 rotation if logRotation is None.
2978
2979 2002-08-22 Jp Calderone <exarkun@twistedmatrix.com>
2980
2981 * twisted.news: Added a decent RDBM storage backend.
2982
2983 2002-08-21 Paul Swartz <z3p@twistedmatrix.com>
2984
2985 * doc/howto/process.html: Process documentation, too!
2986
2987 2002-08-20 Paul Swartz <z3p@twistedmatrix.com>
2988
2989 * doc/howto/clients.html: Client-writing documentation.
2990
2991 2002-08-20 Jp Calderone <exarkun@twistedmatrix.com>
2992
2993 * twisted.protocols.nntp: More protocol implemented: SLAVE, XPATH,
2994 XINDEX, XROVER, TAKETHIS, and CHECK.
2995
2996 2002-08-19 Christopher Armstrong <radix@twistedmatrix.com>
2997
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
3001 files!
3002
3003 2002-08-19 Jp Calderone <exarkun@twistedmatrix.com>
3004
3005 * twisted.news, twisted.protocols.nntp: Additional RFC977 support:
3006 HELP and IHAVE implemented.
3007
3008 2002-08-19 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3009
3010 * twisted.internet.{process,win32eventreactor,etc}: New and
3011 hopefully final Process API, and improved Win32 GUI support.
3012
3013 2002-08-18 Christopher Armstrong <radix@twistedmatrix.com>
3014
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
3018 scripts.
3019
3020 2002-08-18 Christopher Armstrong <radix@twistedmatrix.com>
3021
3022 * Releasing Twisted 0.99.0 final. No changes since rc9.
3023
3024 2002-08-17 Christopher Armstrong <radix@twistedmatrix.com>
3025
3026 * Releasing Twisted 0.99.0rc8, with a fix to tap2deb and
3027 slightly updated options documentation.
3028
3029 * Releasing Twisted 0.99.0rc9 with fixes to release-twisted
3030 and doc/howto/options.html.
3031
3032 2002-08-16 Christopher Armstrong <radix@twistedmatrix.com>
3033
3034 * Releasing Twisted 0.99.0rc6, with some fixes to setup.py
3035 * Releasing Twisted 0.99.0rc7, __init__.py fixes.
3036
3037 2002-08-15 Christopher Armstrong <radix@twistedmatrix.com>
3038
3039 * Releasing Twisted 0.99.0rc5, with some one severe bug-fix and
3040 a few smaller ones.
3041
3042 2002-08-14 Christopher Armstrong <radix@twistedmatrix.com>
3043
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
3046 copyright.py
3047 * Releasing Twisted 0.99.0rc3! I HATE TAGGING!
3048 * Releasing Twisted 0.99.0rc4, some very minor errors fixed.
3049
3050 2002-08-14 Glyph Lefkowitz <glyph@twistedmatrix.com>
3051
3052 * twisted.internet, twisted.cred: Applications and Authorizers are
3053 now completely decoupled, save for a tiny backwards-compatibility.
3054
3055 2002-08-10 Christopher Armstrong <radix@twistedmatrix.com>
3056
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().
3061
3062 2002-08-07 Jp Calderone <exarkun@twistedmatrix.com>
3063
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.
3067
3068 2002-08-04 Bruce Mitchener <bruce@twistedmatrix.com>
3069
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.
3073
3074 2002-08-02 Glyph Lefkowitz <glyph@twistedmatrix.com>
3075
3076 * twisted.cred.service, twisted.internet.app: Application/Service
3077 refactor: These two things should be less dependant on each other,
3078 now.
3079
3080 2002-07-31 Glyph Lefkowitz <glyph@twistedmatrix.com>
3081
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
3085 interface!
3086
3087 2002-07-30 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3088
3089 * twisted.internet.kqueue: Thanks to Matt Campbell, we now have a
3090 new FreeBSD KQueue Reactor.
3091
3092 2002-07-27 Christopher Armstrong <radix@twistedmatrix.com>
3093
3094 * doc/fun/Twisted.Quotes: Added our seekrut Twisted.Quotes file to
3095 Twisted proper.
3096
3097 2002-07-26 Glyph Lefkowitz <glyph@twistedmatrix.com>
3098
3099 * twisted.spread: "Paging" for PB: this is an abstraction for
3100 sending big streams of data across a PB connection.
3101
3102
3103 2002-07-23 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3104
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.
3109
3110 2002-07-23 Bryce Wilcox-O'Hearn <zooko@twistedmatrix.com>
3111
3112 * twisted.zoot: Application-level implementation of Gnutella.
3113
3114 2002-07-21 Glyph Lefkowitz <glyph@twistedmatrix.com>
3115
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).
3118
3119 2002-07-15 Bryce Wilcox-O'Hearn <zooko@twistedmatrix.com>
3120
3121 * twisted.protocols.gnutella: Twisted now has an implementation of
3122 the Gnutella protocol.
3123
3124 2002-07-15 Sean Riley <sean@twistedmatrix.com>
3125
3126 * twisted.sister: Now featuring distributed login.
3127
3128 2002-07-15 Paul Swartz <z3p@twistedmatrix.com>
3129
3130 * twisted.conch: A new implementation of ssh2, bringing Twisted
3131 one step closer to being a complete replacement of all unix
3132 services ;-)
3133
3134 2002-07-14 Christopher Armstrong <radix@twistedmatrix.com>
3135
3136 * Releasing Twisted 0.19.0! It's exactly the same as rc4.
3137
3138 2002-07-13 Christopher Armstrong <radix@twistedmatrix.com>
3139
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
3142 0.19.0.
3143
3144 2002-07-07 Christopher Armstrong <radix@twistedmatrix.com>
3145
3146 * Releasing Twisted 0.19.0rc3.
3147
3148 2002-07-07 Christopher Armstrong <radix@twistedmatrix.com>
3149
3150 * Releasing Twisted 0.19.0rc2.
3151
3152 2002-07-07 Christopher Armstrong <radix@twistedmatrix.com>
3153
3154 * Releasing Twisted 0.19.0rc1.
3155
3156 2002-07-07 Keith Zaback <krz@twistedmatrix.com>
3157
3158 * twisted.internet.cReactor: A new poll-based reactor written in
3159 C. This is still very experimental and incomplete.
3160
3161 2002-07-07 Donovan Preston <dp@twistedmatrix.com>
3162
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.
3168
3169 2002-06-26 Glyph Lefkowitz <glyph@twistedmatrix.com>
3170
3171 * twisted.internet.process,interfaces,default: Process now
3172 supports SetUID: there are new UID/GID arguments to the process
3173 spawning methods/constructors.
3174
3175 2002-06-22 Paul Swartz <z3p@twistedmatrix.com>
3176
3177 * twisted.protocols.oscar: totally rewrote OSCAR protocol
3178 implementation.
3179
3180 2002-06-18 Glyph Lefkowitz <glyph@twistedmatrix.com>
3181
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
3186 called.
3187
3188 2002-06-10 Christopher Armstrong <radix@twistedmatrix.com>
3189
3190 * twisted/persisted/aot.py, bin/twistd,mktap, twisted/internet/app.py:
3191
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.
3197
3198 I will be working on making the formatting better, soon, but it's
3199 workable for now.
3200
3201 2002-06-08 Glyph Lefkowitz <glyph@twistedmatrix.com>
3202
3203 * twisted.internet, twisted.tap.web: Add a --https and related
3204 options to 'mktap web'; web is now much more SSL-friendly.
3205
3206
3207 2002-06-02 Itamar Shtull-Trauring <twisted@itamarst.org>
3208
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.
3213
3214 2002-06-01 Christopher Armstrong <radix@twistedmatrix.com>
3215
3216 * .: Releasing Twisted 0.18.0
3217
3218 2002-05-31 Christopher Armstrong <radix@twistedmatrix.com>
3219
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")
3223
3224 * twisted/web/static.py: Fixed a bunch of bugs related to redirection
3225 for directories.
3226
3227 * .: Releasing Twisted 0.18.0rc2
3228
3229 2002-05-30 Glyph Lefkowitz <glyph@twistedmatrix.com>
3230
3231 * Twisted no longer barfs when the Python XML packages aren't available.
3232
3233 2002-05-29 Christopher Armstrong <radix@twistedmatrix.com>
3234
3235 * .: Releasing Twisted 0.18.0rc1
3236
3237 2002-05-25 Christopher Armstrong <radix@twistedmatrix.com>
3238
3239 * twisted/spread/pb.py, twisted/internet/defer.py,
3240 twisted/python/failure.py, etc:
3241
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.
3247
3248 2002-05-24 Itamar Shtull-Trauring, Moshe Zadka <moshez@twistedmatrix.com>
3249
3250 * twisted.mail cleanups:
3251
3252 * basic bounce support.
3253
3254 * removed telnet from mail tap
3255
3256 * mail domains now receive service in __init__
3257
3258 * split file system stuff into Queue (renamed from
3259 MessageCollection)
3260
3261 * Put a Queue in service
3262
3263 * twisted/protocol/smtp.py: changed SMTPClient API so that it returns
3264 a file for the message content, instead of a string.
3265
3266 2002-05-23 Glyph Lefkowitz <glyph@twistedmatrix.com>
3267
3268 * Twisted applications can now be persisted to XML files (.tax) with
3269 the --xml option -- this is pretty verbose and needs some optimizations.
3270
3271 2002-05-22 Glyph Lefkowitz <glyph@twistedmatrix.com>
3272
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).
3276
3277 2002-05-21 Itamar Shtull-Trauring <twisted@itamarst.org>
3278
3279 * twisted/internet/gtkreactor.py: GTK+ support for win32; input_add
3280 is not supported in win32 and had to be worked around.
3281
3282 2002-05-20 Itamar Shtull-Trauring <twisted@itamarst.org>
3283
3284 * twisted/pythor/defer.py, twisted/protocols/protocol.py,
3285 twisted/internet/defer.py, twisted/internet/protocol.py:
3286
3287 Moved defer and protocol to twisted.internet to straighten
3288 out dependancies.
3289
3290 2002-05-18 Glyph Lefkowitz <glyph@twistedmatrix.com>
3291
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.
3295
3296 2002-05-15 Andrew Bennetts <andrew-twisted@puzzling.org>
3297
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.
3302
3303 2002-05-12 Itamar Shtull-Trauring <twisted@itamarst.org>
3304
3305 * doc/specifications/banana.html: Documentation of the Banana protocol.
3306
3307 2002-05-06 Glyph Lefkowitz <glyph@twistedmatrix.com>
3308
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.
3312
3313 2002-05-04 Glyph Lefkowitz <glyph@twistedmatrix.com>
3314
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.
3320
3321 2002-05-04 Glyph Lefkowitz <glyph@twistedmatrix.com>
3322
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.
3325
3326 2002-04-29 Glyph Lefkowitz <glyph@twistedmatrix.com>
3327
3328 * twisted/im/*: Refactored Twisted InstanceMessenger to seperate GUI
3329 and logic. Also improved the UI a bit.
3330
3331 2002-04-28 Itamar Shtull-Trauring <twisted@itamarst.org>
3332
3333 * twisted/protocols/http.py: log hits using extended log format
3334 and make web taps logfile configurable.
3335
3336 2002-04-26 Itamar Shtull-Trauring <twisted@itamarst.org>
3337
3338 * twisted/lumberjack/logfile.py: reversed order of rotated
3339 logs - higer numbers are now older.
3340
3341 2002-04-24 Itamar Shtull-Trauring <twisted@itamarst.org>
3342
3343 * doc/examples/ircLogBot.py: We now have a sample IRC bot that logs
3344 all messages to a file.
3345
3346 2002-04-24 Itamar Shtull-Trauring <twisted@itamarst.org>
3347
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
3352 __implements__.
3353
3354 2002-04-22 Glyph Lefkowitz <glyph@twistedmatrix.com>
3355
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.
3360
3361 2002-04-21 Chris Armstrong <carmstro@twistedmatrix.com>
3362
3363 * twisted/scripts/mktap.py: No more --manhole* options, use
3364 '--append=my.tap manhole' now.
3365
3366 2002-04-20 Chris Armstrong <carmstro@twistedmatrix.com>
3367
3368 * .: Releasing Twisted 0.17.4.
3369
3370 * twisted/internet/tcp.py: Make unix domain sockets *really*
3371 world-accessible, rather than just accessible by "other".
3372
3373 2002-04-19 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3374
3375 * twisted/web/{server,twcgi}.py: Fixed POST bug in distributed
3376 web servers.
3377
3378 2002-04-19 Chris Armstrong <carmstro@twistedmatrix.com>
3379
3380 * .: Releasing Twisted 0.17.3.
3381
3382 2002-04-19 Glyph Lefkowitz <carmstro@twistedmatrix.com>
3383
3384 * twisted/web/distrib.py: Fix a bug where static.File transfers
3385 over a distributed-web connection would not finish up properly.
3386
3387 2002-04-18 Chris Armstrong <carmstro@twistedmatrix.com>
3388
3389 * .: Releasing Twisted 0.17.2.
3390
3391 2002-04-18 Chris Armstrong <carmstro@twistedmatrix.com>
3392
3393 * twisted/news: A news server and NNTP protocol support courtesy of
3394 exarkun. Another step towards Twisted implementations of EVERYTHING
3395 IN THE WORLD!
3396
3397 2002-04-17 Glyph Lefkowitz <glyph@twistedmatrix.com>
3398
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.
3402
3403 2002-04-17 Donovan Preston <dp@twistedmatrix.com>
3404
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 fail s.
3409
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
3413 filesystem.
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 i tself,
3418 or have a registered adapter in twisted.python.components.
3419
3420 2) Acquisition:
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
3433
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)
3443
3444 2002-04-17 Chris Armstrong <carmstro@twistedmatrix.com>
3445
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'.
3450
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". :-)
3454
3455 2002-04-14 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3456
3457 * HTTP 1.1 now supports persistent and pipelined connections.
3458
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.
3464
3465 2002-04-12 Kevin Turner <acapnotic@twistedmatrix.com>
3466
3467 * twisted/coil/plugins/tendril.py (TendrilConfigurator): New coil
3468 configurator for words.tendril.
3469
3470 2002-04-10 Chris Armstrong <carmstro@twistedmatrix.com>
3471
3472 * .: Releasing Twisted 0.17.0
3473
3474 2002-04-10 Chris Armstrong <carmstro@twistedmatrix.com>
3475
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.)
3479
3480 2002-04-10 Chris Armstrong <carmstro@twistedmatrix.com>
3481
3482 * twisted/protocols/irc.py: Some fix-ups to IRCClient and
3483 DccFileReceive, from Joe Jordan (psy).
3484
3485 2002-04-10 Chris Armstrong <carmstro@twistedmatrix.com>
3486
3487 * twisted/reality: Gone. This is now in a completely separate plugin
3488 package.
3489
3490 2002-04-09 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3491
3492 * win32 process support seems to *finally* be working correctly. Many
3493 thanks to Drew Whitehouse for help with testing and debugging.
3494
3495 2002-04-08 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3496
3497 * coil refactored yet again, this time to use components and adapters.
3498 The design is now much cleaner.
3499
3500 2002-04-08 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3501
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.
3507
3508 2002-04-04 Glyph Lefkowitz <glyph@twistedmatrix.com>
3509
3510 * Removed __getattr__ backwards compatibility in PB
3511
3512 2002-04-03 Chris Armstrong <carmstro@twistedmatrix.com>
3513
3514 * twisted/python/usage.py, twisted/test/test_usage.py, bin/mktap, twiste d/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 war ning.
3517
3518 2002-04-01 Chris Armstrong <carmstro@twistedmatrix.com>
3519
3520 * .: Releasing Twisted 0.16.0.
3521
3522 2002-03-29 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3523
3524 * Added Qt event loop support, written by Sirtaj Singh Kang and
3525 Aleksandar Erkalovic.
3526
3527 2002-03-29 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3528
3529 * Added a 'coil' command for configuring TAP files
3530
3531 2002-03-15 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3532
3533 * XML-RPC published methods can now return Deferreds, and Twisted
3534 will Do The Right Thing.
3535
3536 2002-03-13 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3537
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
3541 for coil as well.
3542
3543 * Checked in win32 Process support, and fixed win32 event loop.
3544
3545 2002-03-11 Glyph Lefkowitz <glyph@janus.twistedmatrix.com>
3546
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.
3551
3552 2002-03-09 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3553
3554 * Automatic log rotation for twistd. In addition, sending SIGUSR1
3555 to twistd will rotate the log.
3556
3557 2002-03-07 Chris Armstrong <carmstro@twistedmatrix.com>
3558
3559 * .: Releasing Twisted 0.15.5.
3560
3561 2002-03-06 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3562
3563 * twisted/web/html.py: Got rid of html.Interface. This was a really
3564 old, really deprecated API.
3565
3566 2002-03-06 Chris Armstrong <carmstro@twistedmatrix.com>
3567
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.
3571
3572 2002-03-05 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3573
3574 * twisted/internet/win32.py: New win32 event loop, written by
3575 Andrew Bennetts.
3576
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.
3580
3581 * twisted/internet/task.py: Fixed a bug where the schedular wasn't
3582 installed in some cases.
3583
3584 2002-03-04 Moshe Zadka <moshez@twistedmatrix.com>
3585
3586 * twisted/web/server.py: authorizer.Unauthorized->util.Unauthorized
3587 (leftovers from removing .passport references.)
3588
3589 * twisted/names/dns.py: Added support for TTL.
3590
3591 2002-03-02 Chris Armstrong <carmstro@twistedmatrix.com>
3592
3593 * .: Releasing Twisted 0.15.4.
3594
3595 2002-03-02 Paul Swartz <z3p@twistedmatrix.com>
3596
3597 * twisted/words/ircservice.py: Send End-Of-MOTD message --
3598 some clients rely on this for automatic joining of channels
3599 and whatnot.
3600
3601 2002-03-02 Moshe Zadka <moshez@twistedmatrix.com>
3602
3603 * twisted/names/dns.py: Fixed bugs in DNS client
3604
3605 2002-03-01 Moshe Zadka <moshez@twistedmatrix.com>
3606
3607 * twisted/protocols/dns.py: Can now correctly serialize answers
3608
3609 * twisted/names/dns.py: Can now do simple serving of domains
3610
3611 * twisted/internet/stupid.py: Removed spurious debugging print
3612
3613 2002-02-28 Chris Armstrong <carmstro@twistedmatrix.com>
3614
3615 * .: Releasing 0.15.3.
3616
3617 2002-02-27 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3618
3619 * twisted/mail/*, twisted/plugins.tml: The Mail server is now
3620 COILable.
3621
3622 * bin/twistd: security fix: use a secure umask (077, rather than 0)
3623 for twistd.pid.
3624
3625 2002-02-26 Allen Short <washort@twistedmatrix.com>
3626
3627 * twisted/eco/eco.py, twisted/eco/sexpy.py: ECO now supports
3628 backquoting and macros.
3629
3630 2002-02-26 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3631
3632 * twisted/protocols/ftp.py, twisted/plugins.tml: Made the FTP
3633 server COILable!
3634
3635 2002-02-26 Benjamin Bruheim <phed@twistedmatrix.com>
3636
3637 * twisted/web/distrib.py: Fixed a win32-compatibility bug.
3638
3639 2002-02-24 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3640
3641 * twisted/protocols/socks.py: Made SOCKSv4 coilable, and fixed a
3642 bug so it'd work with Mozilla.
3643
3644 2002-02-24 Chris Armstrong <carmstro@twistedmatrix.com>
3645
3646 * .: Releasing Twisted 0.15.2.
3647
3648 2002-02-24 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3649
3650 * setup.py: Added plugins.tml and instancemessenger.glade installs
3651 so mktap and t-im work in a 'setup.py install' install.
3652
3653 * debian/rules: Install plugins.tml so mktap works in debian installs.
3654
3655 * doc/man/mktap.1, twistd.1: Updated the man pages to be more accurate.
3656
3657 2002-02-24 Chris Armstrong <carmstro@twistedmatrix.com>
3658
3659 * bin/mktap: Better error reporting when we don't find
3660 the plugins files.
3661
3662 * bin/twistd: Print out the *real* usage description rather than
3663 barfing when we get bad command line arguments.
3664
3665 2002-02-24 Moshe Zadka <moshez@twistedmatrix.com>
3666
3667 * debian/rules: Install the instancemessenger.glade file, so IM
3668 will work in debian installs.
3669
3670 2002-02-24 Paul Swartz <z3p@twistedmatrix.com>
3671
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.
3674
3675 2002-02-23 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3676
3677 * twisted/tap/coil.py: There is now a tap-creator for COIL.
3678
3679 * twisted/internet/stupidproxy.py: Now with COILability!
3680
3681 2002-02-23 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3682
3683 * bin/mktap: mktap now uses Plugins instead of searching through
3684 twisted.tap. Yay for unified configuration systems!
3685
3686
3687 2002-02-22 Chris Armstrong <carmstro@twistedmatrix.com>
3688
3689 * twisted/im, twisted/words: t-im can now do topic setting (words
3690 only), fixed the Group Metadata-setting interface in the service.
3691
3692 2002-02-22 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3693
3694 * twisted/manhole: COIL can now load Plugins.
3695
3696 2002-02-21 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3697
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.
3701
3702 2002-02-21 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3703
3704 * twisted.protocols.ftp: Fixed a lot of serious bugs.
3705
3706 2002-02-20 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3707
3708 * twisted.protocols.telnet: the python shell now supports
3709 multi-line commands and can be configured using coil.
3710
3711 2002-02-13 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3712
3713 * twisted.lumberjack: a log rotation and viewing service.
3714 Currently only log rotation is supported.
3715
3716 2002-02-12 Kevin Turner <acapnotic@twistedmatrix.com>
3717
3718 * twisted/words/ircservice.py (IRCChatter.irc_AWAY): Fix bug
3719 where you can never come back from being away (at least using
3720 epic4). Closes: #%d
3721
3722 2002-02-11 Chris Armstrong <carmstro@twistedmatrix.com>
3723
3724 * twisted/web/widgets.py: Changed Gadget.page to Gadget.pageFactory
3725 for clarity (this is backwards-compatible).
3726
3727 2002-02-10 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3728
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
3733 RemoteReference
3734
3735 * twisted/persisted/styles.py: pychecker bug fixes
3736
3737 2002-02-09 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3738
3739 * bin/eco: Created a command-line interpreter for ECO.
3740
3741 * doc/man/eco.1: man page for bin/eco
3742
3743 2002-02-09 Chris Armstrong <carmstro@twistedmatrix.com>
3744
3745 * twisted/eco/eco.py: Reverted evaluator state back to functional-ness
3746 :) And added functions (anonymous and global), and broke various
3747 interfaces
3748
3749 2002-02-09 Allen Short <washort@twistedmatrix.com>
3750
3751 * twisted/eco/eco.py: Refactored evaluator into a class, improved
3752 python-function argument signatures, and added and/or/not functions.
3753
3754 2002-02-08 Kevin Turner <acapnotic@twistedmatrix.com>
3755
3756 * twisted/words/service.py, ircservice.py: Fixed annoying PING
3757 bug, and added /topic support.
3758
3759 2002-02-08 Glyph Lefkowitz <glyph@twistedmatrix.com>
3760
3761 * twisted/eco: Initial prototype of ECO, the Elegant C Overlay
3762 macro engine.
3763
3764 2002-02-02 Paul Swartz <z3p@twistedmatrix.com>
3765
3766 * twisted/im/ircsupport.py: Added support for the IRC protocol
3767 to IM.
3768
3769 2002-02-02 Chris Armstrong <carmstro@twistedmatrix.com>
3770
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.
3774
3775 * twisted/im/chat.py, twisted/im/pbsupport.py: added support for
3776 displaying topics.
3777
3778 2002-02-02 Paul Swartz <z3p@twistedmatrix.com>
3779
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.
3783
3784 2002-02-02 Kevin Turner <acapnotic@twistedmatrix.com>
3785
3786 * twisted/words/ircservice.py (IRCChatter.receiveDirectMessage),
3787 (IRCChatter.receiveGroupMessage),
3788 (IRCChatter.irc_PRIVMSG): Added CTCP ACTION <-> emote translation
3789
3790 2002-02-01 Paul Swartz <z3p@twistedmatrix.com>
3791
3792 * twisted/im/tocsupport.py: Added support for most of the TOC
3793 protocol to IM.
3794
3795
3796 2002-02-01 Chris Armstrong <carmstro@twistedmatrix.com>
3797
3798 * twisted/im/*.py: added metadata/emote support to IM. "/me foo"
3799 now triggers a backwards-compatible emote.
3800
3801
3802 2002-01-30 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3803
3804 * twisted/internet/tcp.py: Fixed the bug where startFactory() would
3805 get called twice.
3806
3807 2002-01-30 Chris Armstrong <carmstro@twistedmatrix.com>
3808
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.
3812
3813 * twisted/words/service.py: metadata support for words messages
3814 (only {'style': 'emote'} is standardized as of yet)
3815
3816 2002-01-29 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3817
3818 * Added hook to tcp.Port and ssl.Port for limiting acceptable
3819 connections - approveConnection(socket, addr).
3820
3821 2002-01-27 Chris Armstrong <carmstro@twistedmatrix.com>
3822
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 '#'.
3826
3827 2002-01-23 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3828
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
3832 signatures.
3833
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
3837 upgrade.
3838
3839 * Added a feature to Jelly: Jelly now supports unicode strings.
3840
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
3843 application.
3844
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.
3848
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.
3853
3854 2002-01-15 Glyph Lefkowitz <glyph@zelda.twistedmatrix.com>
3855
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.
3861
3862 2002-01-14 Kevin Turner <acapnotic@twistedmatrix.com>
3863
3864 * twisted/python/explorer.py: reimplementated. So it's better.
3865 And yes, I broke the API.
3866
3867 * twisted/manhole/ui/spelunk_gnome.py: Less duplication of visages,
3868 and they're draggable now too.
3869
3870 2002-01-13 Itamar Shtull-Trauring <itamarst@twistedmatrix.com>
3871
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!).
3876
3877 cursor.execute("INSERT INTO foo VALUES (%s, %d), "it's magic", 12)
3878
3879 Problem is that different adaptors may have different codes for
3880 quoting.
3881
3882 * First go at database for twisted.bugs. I hate RDBMS. I hate web.
3883
3884 --- 0.13.0 Release ---
3885
3886 # Local Variables:
3887 # add-log-time-format: add-log-iso8601-time-string
3888 # End:
OLDNEW
« no previous file with comments | « third_party/twisted_8_1/twisted/topfiles/CREDITS ('k') | third_party/twisted_8_1/twisted/topfiles/NEWS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698