~cbehrens/nova/lp844160-build-works-with-zones

« back to all changes in this revision

Viewing changes to vendor/Twisted-10.0.0/twisted/topfiles/ChangeLog.Old

  • Committer: Jesse Andrews
  • Date: 2010-05-28 06:05:26 UTC
  • Revision ID: git-v1:bf6e6e718cdc7488e2da87b21e258ccc065fe499
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 refactoring
 
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@twistedmatrix.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 fails.
 
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 itself,
 
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, twisted/tap/*.py:
 
3515
        Made the usage.Options interface better -- options are now stored in the
 
3516
        'opts' dict. This is backwards compatible, and I added a deprecation warning.
 
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: