| 1 | Ticket numbers in this file can be looked up by visiting |
|---|
| 2 | http://twistedmatrix.com/trac/ticket/<number> |
|---|
| 3 | |
|---|
| 4 | Twisted Core 10.0.0 (2010-03-01) |
|---|
| 5 | ================================ |
|---|
| 6 | |
|---|
| 7 | Features |
|---|
| 8 | -------- |
|---|
| 9 | - The twistd man page now has a SIGNALS section. (#689) |
|---|
| 10 | |
|---|
| 11 | - reactor.spawnProcess now will not emit a PotentialZombieWarning |
|---|
| 12 | when called before reactor.run, and there will be no potential for |
|---|
| 13 | zombie processes in this case. (#2078) |
|---|
| 14 | |
|---|
| 15 | - High-throughput applications based on Perspective Broker should now |
|---|
| 16 | run noticably faster thanks to the use of a more efficient decoding |
|---|
| 17 | function in Twisted Spread. (#2310) |
|---|
| 18 | |
|---|
| 19 | - Documentation for trac-post-commit-hook functionality in svn-dev |
|---|
| 20 | policy. (#3867) |
|---|
| 21 | |
|---|
| 22 | - twisted.protocols.socks.SOCKSv4 now supports the SOCKSv4a protocol. |
|---|
| 23 | (#3886) |
|---|
| 24 | |
|---|
| 25 | - Trial can now output test results according to the subunit |
|---|
| 26 | protocol, as long as Subunit is installed (see |
|---|
| 27 | https://launchpad.net/subunit). (#4004) |
|---|
| 28 | |
|---|
| 29 | - twisted.protocols.amp now provides a ListOf argument type which can |
|---|
| 30 | be composed with some other argument types to create a zero or more |
|---|
| 31 | element sequence of that type. (#4116) |
|---|
| 32 | |
|---|
| 33 | - If returnValue is invoked outside of a function decorated with |
|---|
| 34 | @inlineCallbacks, but causes a function thusly decorated to exit, a |
|---|
| 35 | DeprecationWarning will be emitted explaining this potentially |
|---|
| 36 | confusing behavior. In a future release, this will cause an |
|---|
| 37 | exception. (#4157) |
|---|
| 38 | |
|---|
| 39 | - twisted.python.logfile.BaseLogFile now has a reopen method allowing |
|---|
| 40 | you to use an external logrotate mechanism. (#4255) |
|---|
| 41 | |
|---|
| 42 | Bugfixes |
|---|
| 43 | -------- |
|---|
| 44 | - FTP.ftp_NLST now handles requests on invalid paths in a way |
|---|
| 45 | consistent with RFC 959. (#1342) |
|---|
| 46 | |
|---|
| 47 | - twisted.python.util.initgroups now calls the low-level C initgroups |
|---|
| 48 | by default if available: the python version can create lots of I/O |
|---|
| 49 | with certain authentication setup to retrieve all the necessary |
|---|
| 50 | information. (#3226) |
|---|
| 51 | |
|---|
| 52 | - startLogging now does nothing on subsequent invocations, thus |
|---|
| 53 | fixing a terrible infinite recursion bug that's only on edge case. |
|---|
| 54 | (#3289) |
|---|
| 55 | |
|---|
| 56 | - Stringify non-string data to NetstringReceiver.sendString before |
|---|
| 57 | calculating the length so that the calculated length is equal to |
|---|
| 58 | the actual length of the transported data. (#3299) |
|---|
| 59 | |
|---|
| 60 | - twisted.python.win32.cmdLineQuote now correctly quotes empty |
|---|
| 61 | strings arguments (#3876) |
|---|
| 62 | |
|---|
| 63 | - Change the behavior of the Gtk2Reactor to register only one source |
|---|
| 64 | watch for each file descriptor, instead of one for reading and one |
|---|
| 65 | for writing. In particular, it fixes a bug with Glib under Windows |
|---|
| 66 | where we failed to notify when a client is connected. (#3925) |
|---|
| 67 | |
|---|
| 68 | - Twisted Trial no longer crashes if it can't remove an old |
|---|
| 69 | _trial_temp directory. (#4020) |
|---|
| 70 | |
|---|
| 71 | - The optional _c_urlarg extension now handles unquote("") correctly |
|---|
| 72 | on platforms where malloc(0) returns NULL, such as AIX. It also |
|---|
| 73 | compiles with less warnings. (#4142) |
|---|
| 74 | |
|---|
| 75 | - On POSIX, child processes created with reactor.spawnProcess will no |
|---|
| 76 | longer automatically ignore the signals which the parent process |
|---|
| 77 | has set to be ignored. (#4199) |
|---|
| 78 | |
|---|
| 79 | - All SOCKSv4a tests now use a dummy reactor with a deterministic |
|---|
| 80 | resolve method. (#4275) |
|---|
| 81 | |
|---|
| 82 | - Prevent extraneous server, date and content-type headers in proxy |
|---|
| 83 | responses. (#4277) |
|---|
| 84 | |
|---|
| 85 | Deprecations and Removals |
|---|
| 86 | ------------------------- |
|---|
| 87 | - twisted.internet.error.PotentialZombieWarning is now deprecated. |
|---|
| 88 | (#2078) |
|---|
| 89 | |
|---|
| 90 | - twisted.test.time_helpers is now deprecated. (#3719) |
|---|
| 91 | |
|---|
| 92 | - The deprecated connectUDP method of IReactorUDP has now been |
|---|
| 93 | removed. (#4075) |
|---|
| 94 | |
|---|
| 95 | - twisted.trial.unittest.TestCase now ignores the previously |
|---|
| 96 | deprecated setUpClass and tearDownClass methods. (#4175) |
|---|
| 97 | |
|---|
| 98 | Other |
|---|
| 99 | ----- |
|---|
| 100 | - #917, #2406, #2481, #2608, #2689, #2884, #3056, #3082, #3199, |
|---|
| 101 | #3480, #3592, #3718, #3935, #4066, #4083, #4154, #4166, #4169, |
|---|
| 102 | #4176, #4183, #4186, #4188, #4189, #4194, #4201, #4204, #4209, |
|---|
| 103 | #4222, #4234, #4235, #4238, #4240, #4245, #4251, #4264, #4268, |
|---|
| 104 | #4269, #4282 |
|---|
| 105 | |
|---|
| 106 | |
|---|
| 107 | Twisted Conch 10.0.0 (2010-03-01) |
|---|
| 108 | ================================= |
|---|
| 109 | |
|---|
| 110 | Bugfixes |
|---|
| 111 | -------- |
|---|
| 112 | - twisted.conch.checkers.SSHPublicKeyDatabase now looks in the |
|---|
| 113 | correct user directory for authorized_keys files. (#3984) |
|---|
| 114 | |
|---|
| 115 | - twisted.conch.ssh.SSHUserAuthClient now honors preferredOrder when |
|---|
| 116 | authenticating. (#4266) |
|---|
| 117 | |
|---|
| 118 | Other |
|---|
| 119 | ----- |
|---|
| 120 | - #2391, #4203, #4265 |
|---|
| 121 | |
|---|
| 122 | |
|---|
| 123 | Twisted Lore 10.0.0 (2010-03-01) |
|---|
| 124 | ================================ |
|---|
| 125 | |
|---|
| 126 | Other |
|---|
| 127 | ----- |
|---|
| 128 | - #4241 |
|---|
| 129 | |
|---|
| 130 | |
|---|
| 131 | Twisted Mail 10.0.0 (2010-03-01) |
|---|
| 132 | ================================ |
|---|
| 133 | |
|---|
| 134 | Bugfixes |
|---|
| 135 | -------- |
|---|
| 136 | - twisted.mail.smtp.ESMTPClient and |
|---|
| 137 | twisted.mail.smtp.LOGINAuthenticator now implement the (obsolete) |
|---|
| 138 | LOGIN SASL mechanism according to the draft specification. (#4031) |
|---|
| 139 | |
|---|
| 140 | - twisted.mail.imap4.IMAP4Client will no longer misparse all html- |
|---|
| 141 | formatted message bodies received in response to a fetch command. |
|---|
| 142 | (#4049) |
|---|
| 143 | |
|---|
| 144 | - The regression in IMAP4 search handling of "OR" and "NOT" terms has |
|---|
| 145 | been fixed. (#4178) |
|---|
| 146 | |
|---|
| 147 | Other |
|---|
| 148 | ----- |
|---|
| 149 | - #4028, #4170, #4200 |
|---|
| 150 | |
|---|
| 151 | |
|---|
| 152 | Twisted Names 10.0.0 (2010-03-01) |
|---|
| 153 | ================================= |
|---|
| 154 | |
|---|
| 155 | Bugfixes |
|---|
| 156 | -------- |
|---|
| 157 | - twisted.names.root.Resolver no longer leaks UDP sockets while |
|---|
| 158 | resolving names. (#970) |
|---|
| 159 | |
|---|
| 160 | Deprecations and Removals |
|---|
| 161 | ------------------------- |
|---|
| 162 | - Several top-level functions in twisted.names.root are now |
|---|
| 163 | deprecated. (#970) |
|---|
| 164 | |
|---|
| 165 | Other |
|---|
| 166 | ----- |
|---|
| 167 | - #4066 |
|---|
| 168 | |
|---|
| 169 | |
|---|
| 170 | Twisted Pair 10.0.0 (2010-03-01) |
|---|
| 171 | ================================ |
|---|
| 172 | |
|---|
| 173 | Other |
|---|
| 174 | ----- |
|---|
| 175 | - #4170 |
|---|
| 176 | |
|---|
| 177 | |
|---|
| 178 | Twisted Runner 10.0.0 (2010-03-01) |
|---|
| 179 | ================================== |
|---|
| 180 | |
|---|
| 181 | Other |
|---|
| 182 | ----- |
|---|
| 183 | - #3961 |
|---|
| 184 | |
|---|
| 185 | |
|---|
| 186 | Twisted Web 10.0.0 (2010-03-01) |
|---|
| 187 | =============================== |
|---|
| 188 | |
|---|
| 189 | Features |
|---|
| 190 | -------- |
|---|
| 191 | - Twisted Web in 60 Seconds, a series of short tutorials with self- |
|---|
| 192 | contained examples on a range of common web topics, is now a part |
|---|
| 193 | of the Twisted Web howto documentation. (#4192) |
|---|
| 194 | |
|---|
| 195 | Bugfixes |
|---|
| 196 | -------- |
|---|
| 197 | - Data and File from twisted.web.static and |
|---|
| 198 | twisted.web.distrib.UserDirectory will now only generate a 200 |
|---|
| 199 | response for GET or HEAD requests. |
|---|
| 200 | twisted.web.client.HTTPPageGetter will no longer ignore the case of |
|---|
| 201 | a request method when considering whether to apply special HEAD |
|---|
| 202 | processing to a response. (#446) |
|---|
| 203 | |
|---|
| 204 | - twisted.web.http.HTTPClient now supports multi-line headers. |
|---|
| 205 | (#2062) |
|---|
| 206 | |
|---|
| 207 | - Resources served via twisted.web.distrib will no longer encounter a |
|---|
| 208 | Banana error when writing more than 640kB at once to the request |
|---|
| 209 | object. (#3212) |
|---|
| 210 | |
|---|
| 211 | - The Error, PageRedirect, and InfiniteRedirection exception in |
|---|
| 212 | twisted.web now initialize an empty message parameter by mapping |
|---|
| 213 | the HTTP status code parameter to a descriptive string. Previously |
|---|
| 214 | the lookup would always fail, leaving message empty. (#3806) |
|---|
| 215 | |
|---|
| 216 | - The 'wsgi.input' WSGI environment object now supports -1 and None |
|---|
| 217 | as arguments to the read and readlines methods. (#4114) |
|---|
| 218 | |
|---|
| 219 | - twisted.web.wsgi doesn't unquote QUERY_STRING anymore, thus |
|---|
| 220 | complying with the WSGI reference implementation. (#4143) |
|---|
| 221 | |
|---|
| 222 | - The HTTP proxy will no longer pass on keep-alive request headers |
|---|
| 223 | from the client, preventing pages from loading then "hanging" |
|---|
| 224 | (leaving the connection open with no hope of termination). (#4179) |
|---|
| 225 | |
|---|
| 226 | Deprecations and Removals |
|---|
| 227 | ------------------------- |
|---|
| 228 | - Remove '--static' option from twistd web, that served as an alias |
|---|
| 229 | for the '--path' option. (#3907) |
|---|
| 230 | |
|---|
| 231 | Other |
|---|
| 232 | ----- |
|---|
| 233 | - #3784, #4216, #4242 |
|---|
| 234 | |
|---|
| 235 | |
|---|
| 236 | Twisted Words 10.0.0 (2010-03-01) |
|---|
| 237 | ================================= |
|---|
| 238 | |
|---|
| 239 | Features |
|---|
| 240 | -------- |
|---|
| 241 | - twisted.words.protocols.irc.IRCClient.irc_MODE now takes ISUPPORT |
|---|
| 242 | parameters into account when parsing mode messages with arguments |
|---|
| 243 | that take parameters (#3296) |
|---|
| 244 | |
|---|
| 245 | Bugfixes |
|---|
| 246 | -------- |
|---|
| 247 | - When twisted.words.protocols.irc.IRCClient's versionNum and |
|---|
| 248 | versionEnv attributes are set to None, they will no longer be |
|---|
| 249 | included in the client's response to CTCP VERSION queries. (#3660) |
|---|
| 250 | |
|---|
| 251 | - twisted.words.protocols.jabber.xmlstream.hashPassword now only |
|---|
| 252 | accepts unicode as input (#3741, #3742, #3847) |
|---|
| 253 | |
|---|
| 254 | Other |
|---|
| 255 | ----- |
|---|
| 256 | - #2503, #4066, #4261 |
|---|
| 257 | |
|---|
| 258 | |
|---|
| 259 | Twisted Core 9.0.0 (2009-11-24) |
|---|
| 260 | =============================== |
|---|
| 261 | |
|---|
| 262 | Features |
|---|
| 263 | -------- |
|---|
| 264 | - LineReceiver.clearLineBuffer now returns the bytes that it cleared (#3573) |
|---|
| 265 | - twisted.protocols.amp now raises InvalidSignature when bad arguments are |
|---|
| 266 | passed to Command.makeArguments (#2808) |
|---|
| 267 | - IArgumentType was added to represent an existing but previously unspecified |
|---|
| 268 | interface in amp (#3468) |
|---|
| 269 | - Obscure python tricks have been removed from the finger tutorials (#2110) |
|---|
| 270 | - The digest auth implementations in twisted.web and twisted.protocolos.sip |
|---|
| 271 | have been merged together in twisted.cred (#3575) |
|---|
| 272 | - FilePath and ZipPath now has a parents() method which iterates up all of its |
|---|
| 273 | parents (#3588) |
|---|
| 274 | - reactors which support threads now have a getThreadPool method (#3591) |
|---|
| 275 | - The MemCache client implementation now allows arguments to the "stats" |
|---|
| 276 | command (#3661) |
|---|
| 277 | - The MemCache client now has a getMultiple method which allows fetching of |
|---|
| 278 | multiple values (#3171) |
|---|
| 279 | - twisted.spread.jelly can now unserialize some new-style classes (#2950) |
|---|
| 280 | - twisted.protocols.loopback.loopbackAsync now accepts a parameter to control |
|---|
| 281 | the data passed between client and server (#3820) |
|---|
| 282 | - The IOCP reactor now supports SSL (#593) |
|---|
| 283 | - Tasks in a twisted.internet.task.Cooperator can now be paused, resumed, and |
|---|
| 284 | cancelled (#2712) |
|---|
| 285 | - AmpList arguments can now be made optional (#3891) |
|---|
| 286 | - The syslog output observer now supports log levels (#3300) |
|---|
| 287 | - LoopingCall now supports reporting the number of intervals missed if it |
|---|
| 288 | isn't able to schedule calls fast enough (#3671) |
|---|
| 289 | |
|---|
| 290 | Fixes |
|---|
| 291 | ----- |
|---|
| 292 | - The deprecated md5 and sha modules are no longer used if the stdlib hashlib |
|---|
| 293 | module is available (#2763) |
|---|
| 294 | - An obscure deadlock involving waking up the reactor within signal handlers |
|---|
| 295 | in particular threads was fixed (#1997) |
|---|
| 296 | - The passivePortRange attribute of FTPFactory is now honored (#3593) |
|---|
| 297 | - TestCase.flushWarnings now flushes warnings even if they were produced by a |
|---|
| 298 | file that was renamed since it was byte compiled (#3598) |
|---|
| 299 | - Some internal file descriptors are now marked as close-on-exec, so these will |
|---|
| 300 | no longer be leaked to child processes (#3576) |
|---|
| 301 | - twisted.python.zipstream now correctly extracts the first file in a directory |
|---|
| 302 | as a file, and not an empty directory (#3625) |
|---|
| 303 | - proxyForInterface now returns classes which correctly *implement* interfaces |
|---|
| 304 | rather than *providing* them (#3646) |
|---|
| 305 | - SIP Via header parameters should now be correctly generated (#2194) |
|---|
| 306 | - The Deferred returned by stopListening would sometimes previously never fire |
|---|
| 307 | if an exception was raised by the underlying file descriptor's connectionLost |
|---|
| 308 | method. Now the Deferred will fire with a failure (#3654) |
|---|
| 309 | - The command-line tool "manhole" should now work with newer versions of pygtk |
|---|
| 310 | (#2464) |
|---|
| 311 | - When a DefaultOpenSSLContextFactory is instantiated with invalid parameters, |
|---|
| 312 | it will now raise an exception immediately instead of waiting for the first |
|---|
| 313 | connection (#3700) |
|---|
| 314 | - Twisted command line scripts should now work when installed in a virtualenv |
|---|
| 315 | (#3750) |
|---|
| 316 | - Trial will no longer delete temp directories which it did not create (#3481) |
|---|
| 317 | - Processes started on Windows should now be cleaned up properly in more cases |
|---|
| 318 | (#3893) |
|---|
| 319 | - Certain misbehaving importers will no longer cause twisted.python.modules |
|---|
| 320 | (and thus trial) to raise an exception, but rather issue a warning (#3913) |
|---|
| 321 | - MemCache client protocol methods will now fail when the transport has been |
|---|
| 322 | disconnected (#3643) |
|---|
| 323 | - In the AMP method callRemoteString, the requiresAnswer parameter is now |
|---|
| 324 | honored (#3999) |
|---|
| 325 | - Spawning a "script" (a file which starts with a #! line) on Windows running |
|---|
| 326 | Python 2.6 will now work instead of raising an exception about file mode |
|---|
| 327 | "ru" (#3567) |
|---|
| 328 | - FilePath's walk method now calls its "descend" parameter even on the first |
|---|
| 329 | level of children, instead of only on grandchildren. This allows for better |
|---|
| 330 | symlink cycle detection (#3911) |
|---|
| 331 | - Attempting to write unicode data to process pipes on Windows will no longer |
|---|
| 332 | result in arbitrarily encoded messages being written to the pipe, but instead |
|---|
| 333 | will immediately raise an error (#3930) |
|---|
| 334 | - The various twisted command line utilities will no longer print |
|---|
| 335 | ModuleType.__doc__ when Twisted was installed with setuptools (#4030) |
|---|
| 336 | - A Failure object will now be passed to connectionLost on stdio connections |
|---|
| 337 | on Windows, instead of an Exception object (#3922) |
|---|
| 338 | |
|---|
| 339 | Deprecations and Removals |
|---|
| 340 | ------------------------- |
|---|
| 341 | - twisted.persisted.marmalade was deleted after a long period of deprecation |
|---|
| 342 | (#876) |
|---|
| 343 | - Some remaining references to the long-gone plugins.tml system were removed |
|---|
| 344 | (#3246) |
|---|
| 345 | - SSLv2 is now disabled by default, but it can be re-enabled explicitly |
|---|
| 346 | (#3330) |
|---|
| 347 | - twisted.python.plugin has been removed (#1911) |
|---|
| 348 | - reactor.run will now raise a ReactorAlreadyRunning exception when it is |
|---|
| 349 | called reentrantly instead of warning a DeprecationWarning (#1785) |
|---|
| 350 | - twisted.spread.refpath is now deprecated because it is unmaintained, |
|---|
| 351 | untested, and has dubious value (#3723) |
|---|
| 352 | - The unused --quiet flag has been removed from the twistd command (#3003) |
|---|
| 353 | |
|---|
| 354 | Other |
|---|
| 355 | ----- |
|---|
| 356 | - #3545, #3490, #3544, #3537, #3455, #3315, #2281, #3564, #3570, #3571, #3486, |
|---|
| 357 | #3241, #3599, #3220, #1522, #3611, #3596, #3606, #3609, #3602, #3637, #3647, |
|---|
| 358 | #3632, #3675, #3673, #3686, #2217, #3685, #3688, #2456, #506, #3635, #2153, |
|---|
| 359 | #3581, #3708, #3714, #3717, #3698, #3747, #3704, #3707, #3713, #3720, #3692, |
|---|
| 360 | #3376, #3652, #3695, #3735, #3786, #3783, #3699, #3340, #3810, #3822, #3817, |
|---|
| 361 | #3791, #3859, #2459, #3677, #3883, #3894, #3861, #3822, #3852, #3875, #2722, |
|---|
| 362 | #3768, #3914, #3885, #2719, #3905, #3942, #2820, #3990, #3954, #1627, #2326, |
|---|
| 363 | #2972, #3253, #3937, #4058, #1200, #3639, #4079, #4063, #4050 |
|---|
| 364 | |
|---|
| 365 | |
|---|
| 366 | Twisted Conch 9.0.0 (2009-11-24) |
|---|
| 367 | ================================ |
|---|
| 368 | |
|---|
| 369 | Fixes |
|---|
| 370 | ----- |
|---|
| 371 | - The SSH key parser has been removed and conch now uses pyASN1 to parse keys. |
|---|
| 372 | This should fix a number of cases where parsing a key would fail, but it now |
|---|
| 373 | requires users to have pyASN1 installed (#3391) |
|---|
| 374 | - The time field on SFTP file listings should now be correct (#3503) |
|---|
| 375 | - The day field on SFTP file listings should now be correct on Windows (#3503) |
|---|
| 376 | - The "cftp" sftp client now truncates files it is uploading over (#2519) |
|---|
| 377 | - The telnet server protocol can now properly respond to subnegotiation |
|---|
| 378 | requests (#3655) |
|---|
| 379 | - Tests and factoring of the SSHv2 server implementation are now much better |
|---|
| 380 | (#2682) |
|---|
| 381 | - The SSHv2 server now sends "exit-signal" messages to the client, instead of |
|---|
| 382 | raising an exception, when a process dies due to a signal (#2687) |
|---|
| 383 | - cftp's client-side "exec" command now uses /bin/sh if the current user has |
|---|
| 384 | no shell (#3914) |
|---|
| 385 | |
|---|
| 386 | Deprecations and Removals |
|---|
| 387 | ------------------------- |
|---|
| 388 | - The buggy SSH connection sharing feature of the SSHv2 client was removed |
|---|
| 389 | (#3498) |
|---|
| 390 | - Use of strings and PyCrypto objects to represent keys is deprecated in favor |
|---|
| 391 | of using Conch Key objects (#2682) |
|---|
| 392 | |
|---|
| 393 | Other |
|---|
| 394 | ----- |
|---|
| 395 | - #3548, #3537, #3551, #3220, #3568, #3689, #3709, #3809, #2763, #3540, #3750, |
|---|
| 396 | #3897, #3813, #3871, #3916, #4047, #3940, #4050 |
|---|
| 397 | |
|---|
| 398 | |
|---|
| 399 | Twisted Lore 9.0.0 (2009-11-24) |
|---|
| 400 | =============================== |
|---|
| 401 | |
|---|
| 402 | Features |
|---|
| 403 | -------- |
|---|
| 404 | - Python source listings now include line numbers (#3486) |
|---|
| 405 | |
|---|
| 406 | Fixes |
|---|
| 407 | ----- |
|---|
| 408 | - Lore now uses minidom instead of Twisted's microdom, which incidentally |
|---|
| 409 | fixes some Lore bugs such as throwing away certain whitespace |
|---|
| 410 | (#3560, #414, #3619) |
|---|
| 411 | - Lore's "lint" command should no longer break on documents with links in them |
|---|
| 412 | (#4051, #4115) |
|---|
| 413 | |
|---|
| 414 | Deprecations and Removals |
|---|
| 415 | ------------------------- |
|---|
| 416 | - Lore no longer uses the ancient "tml" Twisted plugin system (#1911) |
|---|
| 417 | |
|---|
| 418 | Other |
|---|
| 419 | ----- |
|---|
| 420 | - #3565, #3246, #3540, #3750, #4050 |
|---|
| 421 | |
|---|
| 422 | |
|---|
| 423 | Twisted Mail 9.0.0 (2009-11-24) |
|---|
| 424 | =============================== |
|---|
| 425 | |
|---|
| 426 | Features |
|---|
| 427 | -------- |
|---|
| 428 | - maildir.StringListMailbox, an in-memory maildir mailbox, now supports |
|---|
| 429 | deletion, undeletion, and syncing (#3547) |
|---|
| 430 | - SMTPClient's callbacks are now more completely documented (#684) |
|---|
| 431 | |
|---|
| 432 | Fixes |
|---|
| 433 | ----- |
|---|
| 434 | - Parse UNSEEN response data and include it in the result of |
|---|
| 435 | IMAP4Client.examine (#3550) |
|---|
| 436 | - The IMAP4 client now delivers more unsolicited server responses to callbacks |
|---|
| 437 | rather than ignoring them, and also won't ignore solicited responses that |
|---|
| 438 | arrive on the same line as an unsolicited one (#1105) |
|---|
| 439 | - Several bugs in the SMTP client's idle timeout support were fixed (#3641, |
|---|
| 440 | #1219) |
|---|
| 441 | - A case where the SMTP client could skip some recipients when retrying |
|---|
| 442 | delivery has been fixed (#3638) |
|---|
| 443 | - Errors during certain data transfers will no longer be swallowed. They will |
|---|
| 444 | now bubble up to the higher-level API (such as the sendmail function) (#3642) |
|---|
| 445 | - Escape sequences inside quoted strings in IMAP4 should now be parsed |
|---|
| 446 | correctly by the IMAP4 server protocol (#3659) |
|---|
| 447 | - The "imap4-utf-7" codec that is registered by twisted.mail.imap4 had a number |
|---|
| 448 | of fixes that allow it to work better with the Python codecs system, and to |
|---|
| 449 | actually work (#3663) |
|---|
| 450 | - The Maildir implementation now ensures time-based ordering of filenames so |
|---|
| 451 | that the lexical sorting of messages matches the order in which they were |
|---|
| 452 | received (#3812) |
|---|
| 453 | - SASL PLAIN credentials generated by the IMAP4 protocol implementations |
|---|
| 454 | (client and server) should now be RFC-compliant (#3939) |
|---|
| 455 | - Searching for a set of sequences using the IMAP4 "SEARCH" command should |
|---|
| 456 | now work on the IMAP4 server protocol implementation. This at least improves |
|---|
| 457 | support for the Pine mail client (#1977) |
|---|
| 458 | |
|---|
| 459 | Other |
|---|
| 460 | ----- |
|---|
| 461 | - #2763, #3647, #3750, #3819, #3540, #3846, #2023, #4050 |
|---|
| 462 | |
|---|
| 463 | |
|---|
| 464 | Twisted Names 9.0.0 (2009-11-24) |
|---|
| 465 | ================================ |
|---|
| 466 | |
|---|
| 467 | Deprecations and Removals |
|---|
| 468 | ------------------------- |
|---|
| 469 | - client.ThreadedResolver is deprecated in favor of |
|---|
| 470 | twisted.internet.base.ThreadedResolver (#3710) |
|---|
| 471 | |
|---|
| 472 | Other |
|---|
| 473 | ----- |
|---|
| 474 | - #3540, #3560, #3712, #3750, #3990 |
|---|
| 475 | |
|---|
| 476 | |
|---|
| 477 | Twisted News 9.0.0 (2009-11-24) |
|---|
| 478 | =============================== |
|---|
| 479 | |
|---|
| 480 | Other |
|---|
| 481 | ----- |
|---|
| 482 | - #2763, #3540 |
|---|
| 483 | |
|---|
| 484 | |
|---|
| 485 | Twisted Pair 9.0.0 (2009-11-24) |
|---|
| 486 | =============================== |
|---|
| 487 | |
|---|
| 488 | Other |
|---|
| 489 | ----- |
|---|
| 490 | - #3540, #4050 |
|---|
| 491 | |
|---|
| 492 | |
|---|
| 493 | Twisted Runner 9.0.0 (2009-11-24) |
|---|
| 494 | ================================= |
|---|
| 495 | |
|---|
| 496 | Features |
|---|
| 497 | -------- |
|---|
| 498 | - procmon.ProcessMonitor.addProcess now accepts an 'env' parameter which allows |
|---|
| 499 | users to specify the environment in which a process will be run (#3691) |
|---|
| 500 | |
|---|
| 501 | Other |
|---|
| 502 | ----- |
|---|
| 503 | - #3540 |
|---|
| 504 | |
|---|
| 505 | |
|---|
| 506 | Twisted Web 9.0.0 (2009-11-24) |
|---|
| 507 | ============================== |
|---|
| 508 | |
|---|
| 509 | Features |
|---|
| 510 | -------- |
|---|
| 511 | - There is now an iweb.IRequest interface which specifies the interface that |
|---|
| 512 | request objects provide (#3416) |
|---|
| 513 | - downloadPage now supports the same cookie, redirect, and timeout features |
|---|
| 514 | that getPage supports (#2971) |
|---|
| 515 | - A chapter about WSGI has been added to the twisted.web documentation (#3510) |
|---|
| 516 | - The HTTP auth support in the web server now allows anonymous sessions by |
|---|
| 517 | logging in with ANONYMOUS credentials when no Authorization header is |
|---|
| 518 | provided in a request (#3924, #3936) |
|---|
| 519 | - HTTPClientFactory now accepts a parameter to enable a common deviation from |
|---|
| 520 | the HTTP 1.1 standard by responding to redirects in a POSTed request with a |
|---|
| 521 | GET instead of another POST (#3624) |
|---|
| 522 | - A new basic HTTP/1.1 client API is included in twisted.web.client.Agent |
|---|
| 523 | (#886, #3987) |
|---|
| 524 | |
|---|
| 525 | Fixes |
|---|
| 526 | ----- |
|---|
| 527 | - Requests for "insecure" children of a static.File (such as paths containing |
|---|
| 528 | encoded directory separators) will now result in a 404 instead of a 500 |
|---|
| 529 | (#3549, #3469) |
|---|
| 530 | - When specifying a followRedirect argument to the getPage function, the state |
|---|
| 531 | of redirect-following for other getPage calls should now be unaffected. It |
|---|
| 532 | was previously overwriting a class attribute which would affect outstanding |
|---|
| 533 | getPage calls (#3192) |
|---|
| 534 | - Downloading an URL of the form "http://example.com:/" will now work, |
|---|
| 535 | ignoring the extraneous colon (#2402) |
|---|
| 536 | - microdom's appendChild method will no longer issue a spurious warning, and |
|---|
| 537 | microdom's methods in general should now issue more meaningful exceptions |
|---|
| 538 | when invalid parameters are passed (#3421) |
|---|
| 539 | - WSGI applications will no longer have spurious Content-Type headers added to |
|---|
| 540 | their responses by the twisted.web server. In addition, WSGI applications |
|---|
| 541 | will no longer be able to specify the server-restricted headers Server and |
|---|
| 542 | Date (#3569) |
|---|
| 543 | - http_headers.Headers now normalizes the case of raw headers passed directly |
|---|
| 544 | to it in the same way that it normalizes the headers passed to setRawHeaders |
|---|
| 545 | (#3557) |
|---|
| 546 | - The distrib module no longer relies on the deprecated woven package (#3559) |
|---|
| 547 | - twisted.web.domhelpers now works with both microdom and minidom (#3600) |
|---|
| 548 | - twisted.web servers will now ignore invalid If-Modified-Since headers instead |
|---|
| 549 | of returning a 500 error (#3601) |
|---|
| 550 | - Certain request-bound memory and file resources are cleaned up slightly |
|---|
| 551 | sooner by the request when the connection is lost (#1621, #3176) |
|---|
| 552 | - xmlrpclib.DateTime objects should now correctly round-trip over twisted.web's |
|---|
| 553 | XMLRPC support in all supported versions of Python, and errors during error |
|---|
| 554 | serialization will no longer hang a twisted.web XMLRPC response (#2446) |
|---|
| 555 | - request.content should now always be seeked to the beginning when |
|---|
| 556 | request.process is called, so application code should never need to seek |
|---|
| 557 | back manually (#3585) |
|---|
| 558 | - Fetching a child of static.File with a double-slash in the URL (such as |
|---|
| 559 | "example//foo.html") should now return a 404 instead of a traceback and |
|---|
| 560 | 500 error (#3631) |
|---|
| 561 | - downloadPage will now fire a Failure on its returned Deferred instead of |
|---|
| 562 | indicating success when the connection is prematurely lost (#3645) |
|---|
| 563 | - static.File will now provide a 404 instead of a 500 error when it was |
|---|
| 564 | constructed with a non-existent file (#3634) |
|---|
| 565 | - microdom should now serialize namespaces correctly (#3672) |
|---|
| 566 | - The HTTP Auth support resource wrapper should no longer corrupt requests and |
|---|
| 567 | cause them to skip a segment in the request path (#3679) |
|---|
| 568 | - The twisted.web WSGI support should now include leading slashes in PATH_INFO, |
|---|
| 569 | and SCRIPT_NAME will be empty if the application is at the root of the |
|---|
| 570 | resource tree. This means that WSGI applications should no longer generate |
|---|
| 571 | URLs with double-slashes in them even if they naively concatenate the values |
|---|
| 572 | (#3721) |
|---|
| 573 | - WSGI applications should now receive the requesting client's IP in the |
|---|
| 574 | REMOTE_ADDR environment variable (#3730) |
|---|
| 575 | - The distrib module should work again. It was unfortunately broken with the |
|---|
| 576 | refactoring of twisted.web's header support (#3697) |
|---|
| 577 | - static.File now supports multiple ranges specified in the Range header |
|---|
| 578 | (#3574) |
|---|
| 579 | - static.File should now generate a correct Content-Length value when the |
|---|
| 580 | requested Range value doesn't fit entirely within the file's contents (#3814) |
|---|
| 581 | - Attempting to call request.finish() after the connection has been lost will |
|---|
| 582 | now immediately raise a RuntimeError (#4013) |
|---|
| 583 | - An HTTP-auth resource should now be able to directly render the wrapped |
|---|
| 584 | avatar, whereas before it would only allow retrieval of child resources |
|---|
| 585 | (#4014) |
|---|
| 586 | - twisted.web's wsgi support should no longer attempt to call request.finish |
|---|
| 587 | twice, which would cause errors in certain cases (#4025) |
|---|
| 588 | - WSGI applications should now be able to handle requests with large bodies |
|---|
| 589 | (#4029) |
|---|
| 590 | - Exceptions raised from WSGI applications should now more reliably be turned |
|---|
| 591 | into 500 errors on the HTTP level (#4019) |
|---|
| 592 | - DeferredResource now correctly passes through exceptions raised from the |
|---|
| 593 | wrapped resource, instead of turning them all into 500 errors (#3932) |
|---|
| 594 | - Agent.request now generates a Host header when no headers are passed at |
|---|
| 595 | (#4131) |
|---|
| 596 | |
|---|
| 597 | Deprecations and Removals |
|---|
| 598 | ------------------------- |
|---|
| 599 | - The unmaintained and untested twisted.web.monitor module was removed (#2763) |
|---|
| 600 | - The twisted.web.woven package has been removed (#1522) |
|---|
| 601 | - All of the error resources in twisted.web.error are now in |
|---|
| 602 | twisted.web.resource, and accessing them through twisted.web.error is now |
|---|
| 603 | deprecated (#3035) |
|---|
| 604 | - To facilitate a simplification of the timeout logic in server.Session, |
|---|
| 605 | various things have been deprecated (#3457) |
|---|
| 606 | - the loopFactory attribute is now ignored |
|---|
| 607 | - the checkExpired method now does nothing |
|---|
| 608 | - the lifetime parameter to startCheckingExpiration is now ignored |
|---|
| 609 | - The twisted.web.trp module is now deprecated (#2030) |
|---|
| 610 | |
|---|
| 611 | Other |
|---|
| 612 | ----- |
|---|
| 613 | - #2763, #3540, #3575, #3610, #3605, #1176, #3539, #3750, #3761, #3779, #2677, |
|---|
| 614 | #3782, #3904, #3919, #3418, #3990, #1404, #4050 |
|---|
| 615 | |
|---|
| 616 | |
|---|
| 617 | Twisted Words 9.0.0 (2009-11-24) |
|---|
| 618 | ================================ |
|---|
| 619 | |
|---|
| 620 | Features |
|---|
| 621 | -------- |
|---|
| 622 | - IRCClient.describe is a new method meant to replace IRCClient.me to send |
|---|
| 623 | CTCP ACTION messages with less confusing behavior (#3910) |
|---|
| 624 | - The XMPP client protocol implementation now supports ANONYMOUS SASL |
|---|
| 625 | authentication (#4067) |
|---|
| 626 | - The IRC client protocol implementation now has better support for the |
|---|
| 627 | ISUPPORT server->client message, storing the data in a new |
|---|
| 628 | ServerSupportedFeatures object accessible via IRCClient.supported (#3285) |
|---|
| 629 | |
|---|
| 630 | Fixes |
|---|
| 631 | ----- |
|---|
| 632 | - The twisted.words IRC server now always sends an MOTD, which at least makes |
|---|
| 633 | Pidgin able to successfully connect to a twisted.words IRC server (#2385) |
|---|
| 634 | - The IRC client will now dispatch "RPL MOTD" messages received before a |
|---|
| 635 | "RPL MOTD START" instead of raising an exception (#3676) |
|---|
| 636 | - The IRC client protocol implementation no longer updates its 'nickname' |
|---|
| 637 | attribute directly; instead, that attribute will be updated when the server |
|---|
| 638 | acknowledges the change (#3377) |
|---|
| 639 | - The IRC client protocol implementation now supports falling back to another |
|---|
| 640 | nickname when a nick change request fails (#3377, #4010) |
|---|
| 641 | |
|---|
| 642 | Deprecations and Removals |
|---|
| 643 | ------------------------- |
|---|
| 644 | - The TOC protocol implementation is now deprecated, since the protocol itself |
|---|
| 645 | has been deprecated and obselete for quite a long time (#3580) |
|---|
| 646 | - The gui "im" application has been removed, since it relied on GTK1, which is |
|---|
| 647 | hard to find these days (#3699, #3340) |
|---|
| 648 | |
|---|
| 649 | Other |
|---|
| 650 | ----- |
|---|
| 651 | - #2763, #3540, #3647, #3750, #3895, #3968, #4050 |
|---|
| 652 | |
|---|
| 653 | |
|---|
| 654 | Core 8.2.0 (2008-12-16) |
|---|
| 655 | ======================= |
|---|
| 656 | |
|---|
| 657 | Features |
|---|
| 658 | -------- |
|---|
| 659 | - Reactors are slowly but surely becoming more isolated, thus improving |
|---|
| 660 | testability (#3198) |
|---|
| 661 | - FilePath has gained a realpath method, and FilePath.walk no longer infinitely |
|---|
| 662 | recurses in the case of a symlink causing a self-recursing filesystem tree |
|---|
| 663 | (#3098) |
|---|
| 664 | - FilePath's moveTo and copyTo methods now have an option to disable following |
|---|
| 665 | of symlinks (#3105) |
|---|
| 666 | - Private APIs are now included in the API documentation (#3268) |
|---|
| 667 | - hotshot is now the default profiler for the twistd --profile parameter and |
|---|
| 668 | using cProfile is now documented (#3355, #3356) |
|---|
| 669 | - Process protocols can now implement a processExited method, which is |
|---|
| 670 | distinct from processEnded in that it is called immediately when the child |
|---|
| 671 | has died, instead of waiting for all the file descriptors to be closed |
|---|
| 672 | (#1291) |
|---|
| 673 | - twistd now has a --umask option (#966, #3024) |
|---|
| 674 | - A new deferToThreadPool function exists in twisted.internet.threads (#2845) |
|---|
| 675 | - There is now an example of writing an FTP server in examples/ftpserver.py |
|---|
| 676 | (#1579) |
|---|
| 677 | - A new runAsEffectiveUser function has been added to twisted.python.util |
|---|
| 678 | (#2607) |
|---|
| 679 | - twisted.internet.utils.getProcessOutput now offers a mechanism for |
|---|
| 680 | waiting for the process to actually end, in the event of data received on |
|---|
| 681 | stderr (#3239) |
|---|
| 682 | - A fullyQualifiedName function has been added to twisted.python.reflect |
|---|
| 683 | (#3254) |
|---|
| 684 | - strports now defaults to managing access to a UNIX socket with a lock; |
|---|
| 685 | lockfile=0 can be included in the strports specifier to disable this |
|---|
| 686 | behavior (#2295) |
|---|
| 687 | - FTPClient now has a 'rename' method (#3335) |
|---|
| 688 | - FTPClient now has a 'makeDirectory' method (#3500) |
|---|
| 689 | - FTPClient now has a 'removeFile' method (#3491) |
|---|
| 690 | - flushWarnings, A new Trial method for testing warnings, has been added |
|---|
| 691 | (#3487, #3427, #3506) |
|---|
| 692 | - The log observer can now be configured in .tac files (#3534) |
|---|
| 693 | |
|---|
| 694 | Fixes |
|---|
| 695 | ----- |
|---|
| 696 | - TLS Session Tickets are now disabled by default, allowing connections to |
|---|
| 697 | certain servers which hang when an empty session ticket is received (like |
|---|
| 698 | GTalk) (#3463) |
|---|
| 699 | - twisted.enterprise.adbapi.ConnectionPool's noisy attribute now defaults to |
|---|
| 700 | False, as documented (#1806) |
|---|
| 701 | - Error handling and logging in adbapi is now much improved (#3244) |
|---|
| 702 | - TCP listeners can now be restarted (#2913) |
|---|
| 703 | - Doctests can now be rerun with trial's --until-failure option (#2713) |
|---|
| 704 | - Some memory leaks have been fixed in trial's --until-failure |
|---|
| 705 | implementation (#3119, #3269) |
|---|
| 706 | - Trial's summary reporter now prints correct runtime information and handles |
|---|
| 707 | the case of 0 tests (#3184) |
|---|
| 708 | - Trial and any other user of the 'namedAny' function now has better error |
|---|
| 709 | reporting in the case of invalid module names (#3259) |
|---|
| 710 | - Multiple instances of trial can now run in parallel in the same directory |
|---|
| 711 | by creating _trial_temp directories with an incremental suffix (#2338) |
|---|
| 712 | - Trial's failUnlessWarns method now works on Python 2.6 (#3223) |
|---|
| 713 | - twisted.python.log now hooks into the warnings system in a way compatible |
|---|
| 714 | with Python 2.6 (#3211) |
|---|
| 715 | - The GTK2 reactor is now better supported on Windows, but still not passing |
|---|
| 716 | the entire test suite (#3203) |
|---|
| 717 | - low-level failure handling in spawnProcess has been improved and no longer |
|---|
| 718 | leaks file descriptors (#2305, #1410) |
|---|
| 719 | - Perspective Broker avatars now have their logout functions called in more |
|---|
| 720 | cases (#392) |
|---|
| 721 | - Log observers which raise exceptions are no longer removed (#1069) |
|---|
| 722 | - transport.getPeer now always includes an IP address in the Address returned |
|---|
| 723 | instead of a hostname (#3059) |
|---|
| 724 | - Functions in twisted.internet.utils which spawn processes now avoid calling |
|---|
| 725 | chdir in the case where no working directory is passed, to avoid some |
|---|
| 726 | obscure permission errors (#3159) |
|---|
| 727 | - twisted.spread.publish.Publishable no longer corrupts line endings on |
|---|
| 728 | Windows (#2327) |
|---|
| 729 | - SelectReactor now properly detects when a TLS/TCP connection has been |
|---|
| 730 | disconnected (#3218) |
|---|
| 731 | - twisted.python.lockfile no longer raises an EEXIST OSError and is much |
|---|
| 732 | better supported on Windows (#3367) |
|---|
| 733 | - When ITLSTransport.startTLS is called while there is data in the write |
|---|
| 734 | buffer, TLS negotiation will now be delayed instead of the method raising |
|---|
| 735 | an exception (#686) |
|---|
| 736 | - The userAnonymous argument to FTPFactory is now honored (#3390) |
|---|
| 737 | - twisted.python.modules no longer tries to "fix" sys.modules after an import |
|---|
| 738 | error, which was just causing problems (#3388) |
|---|
| 739 | - setup.py no longer attempts to build extension modules when run with Jython |
|---|
| 740 | (#3410) |
|---|
| 741 | - AMP boxes can now be sent in IBoxReceiver.startReceivingBoxes (#3477) |
|---|
| 742 | - AMP connections are closed as soon as a key length larger than 255 is |
|---|
| 743 | received (#3478) |
|---|
| 744 | - Log events with timezone offsets between -1 and -59 minutes are now |
|---|
| 745 | correctly reported as negative (#3515) |
|---|
| 746 | |
|---|
| 747 | Deprecations and Removals |
|---|
| 748 | ------------------------- |
|---|
| 749 | - Trial's setUpClass and tearDownClass methods are now deprecated (#2903) |
|---|
| 750 | - problemsFromTransport has been removed in favor of the argument passed to |
|---|
| 751 | connectionLost (#2874) |
|---|
| 752 | - The mode parameter to methods of IReactorUNIX and IReactorUNIXDatagram are |
|---|
| 753 | deprecated in favor of applications taking other security precautions, since |
|---|
| 754 | the mode of a Unix socket is often not respected (#1068) |
|---|
| 755 | - Index access on instances of twisted.internet.defer.FirstError has been |
|---|
| 756 | removed in favor of the subFailure attribute (#3298) |
|---|
| 757 | - The 'changeDirectory' method of FTPClient has been deprecated in favor of |
|---|
| 758 | the 'cwd' method (#3491) |
|---|
| 759 | |
|---|
| 760 | Other |
|---|
| 761 | ----- |
|---|
| 762 | |
|---|
| 763 | - #3202, #2869, #3225, #2955, #3237, #3196, #2355, #2881, #3054, #2374, #2918, |
|---|
| 764 | #3210, #3052, #3267, #3288, #2985, #3295, #3297, #2512, #3302, #1222, #2631, |
|---|
| 765 | #3306, #3116, #3215, #1489, #3319, #3320, #3321, #1255, #2169, #3182, #3323, |
|---|
| 766 | #3301, #3318, #3029, #3338, #3346, #1144, #3173, #3165, #685, #3357, #2582, |
|---|
| 767 | #3370, #2438, #1253, #637, #1971, #2208, #979, #1790, #1888, #1882, #1793, |
|---|
| 768 | #754, #1890, #1931, #1246, #1025, #3177, #2496, #2567, #3400, #2213, #2027, |
|---|
| 769 | #3415, #1262, #3422, #2500, #3414, #3045, #3111, #2974, #2947, #3222, #2878, |
|---|
| 770 | #3402, #2909, #3423, #1328, #1852, #3382, #3393, #2029, #3489, #1853, #2026, |
|---|
| 771 | #2375, #3502, #3482, #3504, #3505, #3507, #2605, #3519, #3520, #3121, #3484, |
|---|
| 772 | #3439, #3216, #3511, #3524, #3521, #3197, #2486, #2449, #2748, #3381, #3236, |
|---|
| 773 | #671 |
|---|
| 774 | |
|---|
| 775 | |
|---|
| 776 | Conch 8.2.0 (2008-12-16) |
|---|
| 777 | ======================== |
|---|
| 778 | |
|---|
| 779 | Features |
|---|
| 780 | -------- |
|---|
| 781 | - The type of the protocols instantiated by SSHFactory is now parameterized |
|---|
| 782 | (#3443) |
|---|
| 783 | |
|---|
| 784 | Fixes |
|---|
| 785 | ----- |
|---|
| 786 | - A file descriptor leak has been fixed (#3213, #1789) |
|---|
| 787 | - "File Already Exists" errors are now handled more correctly (#3033) |
|---|
| 788 | - Handling of CR IAC in TelnetClient is now improved (#3305) |
|---|
| 789 | - SSHAgent is no longer completely unusable (#3332) |
|---|
| 790 | - The performance of insults.ClientProtocol is now greatly increased by |
|---|
| 791 | delivering more than one byte at a time to application code (#3386) |
|---|
| 792 | - Manhole and the conch server no longer need to be run as root when not |
|---|
| 793 | necessary (#2607) |
|---|
| 794 | - The value of FILEXFER_ATTR_ACMODTIME has been corrected (#2902) |
|---|
| 795 | - The management of known_hosts and host key verification has been overhauled |
|---|
| 796 | (#1376, #1301, #3494, #3496, #1292, #3499) |
|---|
| 797 | |
|---|
| 798 | Other |
|---|
| 799 | ----- |
|---|
| 800 | - #3193, #1633 |
|---|
| 801 | |
|---|
| 802 | |
|---|
| 803 | Lore 8.2.0 (2008-12-16) |
|---|
| 804 | ======================= |
|---|
| 805 | |
|---|
| 806 | Other |
|---|
| 807 | ----- |
|---|
| 808 | - #2207, #2514 |
|---|
| 809 | |
|---|
| 810 | |
|---|
| 811 | Mail 8.2.0 (2008-12-16) |
|---|
| 812 | ======================= |
|---|
| 813 | |
|---|
| 814 | Fixes |
|---|
| 815 | ----- |
|---|
| 816 | - The mailmail tool now provides better error messages for usage errors (#3339) |
|---|
| 817 | - The SMTP protocol implementation now works on PyPy (#2976) |
|---|
| 818 | |
|---|
| 819 | Other |
|---|
| 820 | ----- |
|---|
| 821 | - #3475 |
|---|
| 822 | |
|---|
| 823 | |
|---|
| 824 | Names 8.2.0 (2008-12-16) |
|---|
| 825 | ======================== |
|---|
| 826 | |
|---|
| 827 | Features |
|---|
| 828 | -------- |
|---|
| 829 | - The NAPTR record type is now supported (#2276) |
|---|
| 830 | |
|---|
| 831 | Fixes |
|---|
| 832 | ----- |
|---|
| 833 | - Make client.Resolver less vulnerable to the Birthday Paradox attack by |
|---|
| 834 | avoiding sending duplicate queries when it's not necessary (#3347) |
|---|
| 835 | - client.Resolver now uses a random source port for each DNS request (#3342) |
|---|
| 836 | - client.Resolver now uses a full 16 bits of randomness for message IDs, |
|---|
| 837 | instead of 10 which it previously used (#3342) |
|---|
| 838 | - All record types now have value-based equality and a string representation |
|---|
| 839 | (#2935) |
|---|
| 840 | |
|---|
| 841 | Other |
|---|
| 842 | ----- |
|---|
| 843 | - #1622, #3424 |
|---|
| 844 | |
|---|
| 845 | |
|---|
| 846 | Web 8.2.0 (2008-12-16) |
|---|
| 847 | ====================== |
|---|
| 848 | |
|---|
| 849 | Features |
|---|
| 850 | -------- |
|---|
| 851 | - The web server can now deal with multi-value headers in the new attributes of |
|---|
| 852 | Request, requestHeaders and responseHeaders (#165) |
|---|
| 853 | - There is now a resource-wrapper which implements HTTP Basic and Digest auth |
|---|
| 854 | in terms of twisted.cred (#696) |
|---|
| 855 | - It's now possible to limit the number of redirects that client.getPage will |
|---|
| 856 | follow (#2412) |
|---|
| 857 | - The directory-listing code no longer uses Woven (#3257) |
|---|
| 858 | - static.File now supports Range headers with a single range (#1493) |
|---|
| 859 | - twisted.web now has a rudimentary WSGI container (#2753) |
|---|
| 860 | - The web server now supports chunked encoding in requests (#3385) |
|---|
| 861 | |
|---|
| 862 | Fixes |
|---|
| 863 | ----- |
|---|
| 864 | - The xmlrpc client now raises an error when the server sends an empty |
|---|
| 865 | response (#3399) |
|---|
| 866 | - HTTPPageGetter no longer duplicates default headers when they're explicitly |
|---|
| 867 | overridden in the headers parameter (#1382) |
|---|
| 868 | - The server will no longer timeout clients which are still sending request |
|---|
| 869 | data (#1903) |
|---|
| 870 | - microdom's isEqualToNode now returns False when the nodes aren't equal |
|---|
| 871 | (#2542) |
|---|
| 872 | |
|---|
| 873 | Deprecations and Removals |
|---|
| 874 | ------------------------- |
|---|
| 875 | |
|---|
| 876 | - Request.headers and Request.received_headers are not quite deprecated, but |
|---|
| 877 | they are discouraged in favor of requestHeaders and responseHeaders (#165) |
|---|
| 878 | |
|---|
| 879 | Other |
|---|
| 880 | ----- |
|---|
| 881 | - #909, #687, #2938, #1152, #2930, #2025, #2683, #3471 |
|---|
| 882 | |
|---|
| 883 | |
|---|
| 884 | Web2 8.2.0 (2008-12-16) |
|---|
| 885 | ======================= |
|---|
| 886 | |
|---|
| 887 | Note: Twisted Web2 is being phased out in preference for Twisted Web, but some |
|---|
| 888 | maintenance changes have been made. |
|---|
| 889 | |
|---|
| 890 | Fixes |
|---|
| 891 | ----- |
|---|
| 892 | - The main twisted.web2 docstring now indicates the current state of the |
|---|
| 893 | project (#2028) |
|---|
| 894 | - Headers which require unusual bytes are now quoted (#2346) |
|---|
| 895 | - Some links in the introduction documentation have been fixed (#2552) |
|---|
| 896 | |
|---|
| 897 | |
|---|
| 898 | Words 8.2.0 (2008-12-16) |
|---|
| 899 | ======================== |
|---|
| 900 | |
|---|
| 901 | Feature |
|---|
| 902 | ------- |
|---|
| 903 | - There is now a standalone XMPP router included in twisted.words: it can be |
|---|
| 904 | used with the 'twistd xmpp-router' command line (#3407) |
|---|
| 905 | - A server factory for Jabber XML Streams has been added (#3435) |
|---|
| 906 | - Domish now allows for iterating child elements with specific qualified names |
|---|
| 907 | (#2429) |
|---|
| 908 | - IRCClient now has a 'back' method which removes the away status (#3366) |
|---|
| 909 | - IRCClient now has a 'whois' method (#3133) |
|---|
| 910 | |
|---|
| 911 | Fixes |
|---|
| 912 | ----- |
|---|
| 913 | - The IRC Client implementation can now deal with compound mode changes (#3230) |
|---|
| 914 | - The MSN protocol implementation no longer requires the CVR0 protocol to |
|---|
| 915 | be included in the VER command (#3394) |
|---|
| 916 | - In the IRC server implementation, topic messages will no longer be sent for |
|---|
| 917 | a group which has no topic (#2204) |
|---|
| 918 | - An infinite loop (which caused infinite memory usage) in irc.split has been |
|---|
| 919 | fixed. This was triggered any time a message that starts with a delimiter |
|---|
| 920 | was sent (#3446) |
|---|
| 921 | - Jabber's toResponse now generates a valid stanza even when stanzaType is not |
|---|
| 922 | specified (#3467) |
|---|
| 923 | - The lifetime of authenticator instances in XmlStreamServerFactory is no |
|---|
| 924 | longer artificially extended (#3464) |
|---|
| 925 | |
|---|
| 926 | Other |
|---|
| 927 | ----- |
|---|
| 928 | - #3365 |
|---|
| 929 | |
|---|
| 930 | |
|---|
| 931 | Core 8.1.0 (2008-05-18) |
|---|
| 932 | ======================= |
|---|
| 933 | |
|---|
| 934 | Features |
|---|
| 935 | -------- |
|---|
| 936 | |
|---|
| 937 | - twisted.internet.error.ConnectionClosed is a new exception which is the |
|---|
| 938 | superclass of ConnectionLost and ConnectionDone (#3137) |
|---|
| 939 | - Trial's CPU and memory performance should be better now (#3034) |
|---|
| 940 | - twisted.python.filepath.FilePath now has a chmod method (#3124) |
|---|
| 941 | |
|---|
| 942 | Fixes |
|---|
| 943 | ----- |
|---|
| 944 | |
|---|
| 945 | - Some reactor re-entrancy regressions were fixed (#3146, #3168) |
|---|
| 946 | - A regression was fixed whereby constructing a Failure for an exception and |
|---|
| 947 | traceback raised out of a Pyrex extension would fail (#3132) |
|---|
| 948 | - CopyableFailures in PB can again be created from CopiedFailures (#3174) |
|---|
| 949 | - FilePath.remove, when called on a FilePath representing a symlink to a |
|---|
| 950 | directory, no longer removes the contents of the targeted directory, and |
|---|
| 951 | instead removes the symlink (#3097) |
|---|
| 952 | - FilePath now has a linkTo method for creating new symlinks (#3122) |
|---|
| 953 | - The docstring for Trial's addCleanup method now correctly specifies when |
|---|
| 954 | cleanup functions are run (#3131) |
|---|
| 955 | - assertWarns now deals better with multiple identical warnings (#2904) |
|---|
| 956 | - Various windows installer bugs were fixed (#3115, #3144, #3150, #3151, #3164) |
|---|
| 957 | - API links in the howto documentation have been corrected (#3130) |
|---|
| 958 | - The Win32 Process transport object now has a pid attribute (#1836) |
|---|
| 959 | - A doc bug in the twistd plugin howto which would inevitably lead to |
|---|
| 960 | confusion was fixed (#3183) |
|---|
| 961 | - A regression breaking IOCP introduced after the last release was fixed |
|---|
| 962 | (#3200) |
|---|
| 963 | |
|---|
| 964 | Deprecations and Removals |
|---|
| 965 | ------------------------- |
|---|
| 966 | |
|---|
| 967 | - mktap is now fully deprecated, and will emit DeprecationWarnings when used |
|---|
| 968 | (#3127) |
|---|
| 969 | |
|---|
| 970 | Other |
|---|
| 971 | ----- |
|---|
| 972 | - #3079, #3118, #3120, #3145, #3069, #3149, #3186, #3208, #2762 |
|---|
| 973 | |
|---|
| 974 | |
|---|
| 975 | Conch 8.1.0 (2008-05-18) |
|---|
| 976 | ======================== |
|---|
| 977 | |
|---|
| 978 | Fixes |
|---|
| 979 | ----- |
|---|
| 980 | - A regression was fixed whereby the publicKeys and privateKeys attributes of |
|---|
| 981 | SSHFactory would not be interpreted as strings (#3141) |
|---|
| 982 | - The sshsimpleserver.py example had a minor bug fix (#3135) |
|---|
| 983 | - The deprecated mktap API is no longer used (#3127) |
|---|
| 984 | - An infelicity was fixed whereby a NameError would be raised in certain |
|---|
| 985 | circumstances during authentication when a ConchError should have been |
|---|
| 986 | (#3154) |
|---|
| 987 | - A workaround was added to conch.insults for a bug in gnome-terminal whereby |
|---|
| 988 | it would not scroll correctly (#3189) |
|---|
| 989 | |
|---|
| 990 | |
|---|
| 991 | Lore 8.1.0 (2008-05-18) |
|---|
| 992 | ======================= |
|---|
| 993 | |
|---|
| 994 | Fixes |
|---|
| 995 | ----- |
|---|
| 996 | - The deprecated mktap API is no longer used (#3127) |
|---|
| 997 | |
|---|
| 998 | |
|---|
| 999 | News 8.1.0 (2008-05-18) |
|---|
| 1000 | ======================= |
|---|
| 1001 | |
|---|
| 1002 | Fixes |
|---|
| 1003 | ----- |
|---|
| 1004 | - The deprecated mktap API is no longer used (#3127) |
|---|
| 1005 | |
|---|
| 1006 | |
|---|
| 1007 | Web 8.1.0 (2008-05-18) |
|---|
| 1008 | ====================== |
|---|
| 1009 | |
|---|
| 1010 | Fixes |
|---|
| 1011 | ----- |
|---|
| 1012 | - Fixed an XMLRPC bug whereby sometimes a callRemote Deferred would |
|---|
| 1013 | accidentally be fired twice when a connection was lost during the handling of |
|---|
| 1014 | a response (#3152) |
|---|
| 1015 | - Fixed a bug in the "Using Twisted Web" document which prevented an example |
|---|
| 1016 | resource from being renderable (#3147) |
|---|
| 1017 | - The deprecated mktap API is no longer used (#3127) |
|---|
| 1018 | |
|---|
| 1019 | |
|---|
| 1020 | Words 8.1.0 (2008-05-18) |
|---|
| 1021 | ======================== |
|---|
| 1022 | |
|---|
| 1023 | Features |
|---|
| 1024 | -------- |
|---|
| 1025 | - JID objects now have a nice __repr__ (#3156) |
|---|
| 1026 | - Extending XMPP protocols is now easier (#2178) |
|---|
| 1027 | |
|---|
| 1028 | Fixes |
|---|
| 1029 | ----- |
|---|
| 1030 | - The deprecated mktap API is no longer used (#3127) |
|---|
| 1031 | - A bug whereby one-time XMPP observers would be enabled permanently was fixed |
|---|
| 1032 | (#3066) |
|---|
| 1033 | |
|---|
| 1034 | |
|---|
| 1035 | Mail 8.1.0 (2008-05-18) |
|---|
| 1036 | ======================= |
|---|
| 1037 | |
|---|
| 1038 | Fixes |
|---|
| 1039 | ----- |
|---|
| 1040 | - The deprecated mktap API is no longer used (#3127) |
|---|
| 1041 | |
|---|
| 1042 | |
|---|
| 1043 | Names 8.1.0 (2008-05-18) |
|---|
| 1044 | ======================== |
|---|
| 1045 | |
|---|
| 1046 | Fixes |
|---|
| 1047 | ----- |
|---|
| 1048 | - The deprecated mktap API is no longer used (#3127) |
|---|
| 1049 | |
|---|
| 1050 | |
|---|
| 1051 | Web2 8.1.0 (2008-05-18) |
|---|
| 1052 | ======================= |
|---|
| 1053 | |
|---|
| 1054 | Fixes |
|---|
| 1055 | ----- |
|---|
| 1056 | - The deprecated mktap API is no longer used (#3127) |
|---|
| 1057 | |
|---|
| 1058 | |
|---|
| 1059 | Core 8.0.1 (2008-03-26) |
|---|
| 1060 | ======================= |
|---|
| 1061 | |
|---|
| 1062 | Fixes |
|---|
| 1063 | ----- |
|---|
| 1064 | - README no longer refers to obsolete trial command line option |
|---|
| 1065 | - twistd no longer causes a bizarre DeprecationWarning about mktap |
|---|
| 1066 | |
|---|
| 1067 | |
|---|
| 1068 | Core 8.0.0 (2008-03-17) |
|---|
| 1069 | ======================= |
|---|
| 1070 | |
|---|
| 1071 | Features |
|---|
| 1072 | -------- |
|---|
| 1073 | |
|---|
| 1074 | - The IOCP reactor has had many changes and is now greatly improved |
|---|
| 1075 | (#1760, #3055) |
|---|
| 1076 | - The main Twisted distribution is now easy_installable (#1286, #3110) |
|---|
| 1077 | - twistd can now profile with cProfile (#2469) |
|---|
| 1078 | - twisted.internet.defer contains a DeferredFilesystemLock which gives a |
|---|
| 1079 | Deferred interface to lock file acquisition (#2180) |
|---|
| 1080 | - twisted.python.modules is a new system for representing and manipulating |
|---|
| 1081 | module paths (i.e. sys.path) (#1951) |
|---|
| 1082 | - twisted.internet.fdesc now contains a writeToFD function, along with other |
|---|
| 1083 | minor fixes (#2419) |
|---|
| 1084 | - twisted.python.usage now allows optional type enforcement (#739) |
|---|
| 1085 | - The reactor now has a blockingCallFromThread method for non-reactor threads |
|---|
| 1086 | to use to wait for a reactor-scheduled call to return a result (#1042, #3030) |
|---|
| 1087 | - Exceptions raised inside of inlineCallbacks-using functions now have a |
|---|
| 1088 | better chance of coming with a meaningful traceback (#2639, #2803) |
|---|
| 1089 | - twisted.python.randbytes now contains code for generating secure random |
|---|
| 1090 | bytes (#2685) |
|---|
| 1091 | - The classes in twisted.application.internet now accept a reactor parameter |
|---|
| 1092 | for specifying the reactor to use for underlying calls to allow for better |
|---|
| 1093 | testability (#2937) |
|---|
| 1094 | - LoopingCall now allows you to specify the reactor to use to schedule new |
|---|
| 1095 | calls, allowing much better testing techniques (#2633, #2634) |
|---|
| 1096 | - twisted.internet.task.deferLater is a new API for scheduling calls and |
|---|
| 1097 | getting deferreds which are fired with their results (#1875) |
|---|
| 1098 | - objgrep now knows how to search through deque objects (#2323) |
|---|
| 1099 | - twisted.python.log now contains a Twisted log observer which can forward |
|---|
| 1100 | messages to the Python logging system (#1351) |
|---|
| 1101 | - Log files now include seconds in the timestamps (#867) |
|---|
| 1102 | - It is now possible to limit the number of log files to create during log |
|---|
| 1103 | rotation (#1095) |
|---|
| 1104 | - The interface required by the log context system is now documented as |
|---|
| 1105 | ILoggingContext, and abstract.FileDescriptor now declares that it implements |
|---|
| 1106 | it (#1272) |
|---|
| 1107 | - There is now an example cred checker that uses a database via adbapi (#460) |
|---|
| 1108 | - The epoll reactor is now documented in the choosing-reactors howto (#2539) |
|---|
| 1109 | - There were improvements to the client howto (#222) |
|---|
| 1110 | - Int8Receiver was added (#2315) |
|---|
| 1111 | - Various refactorings to AMP introduced better testability and public |
|---|
| 1112 | interfaces (#2657, #2667, #2656, #2664, #2810) |
|---|
| 1113 | - twisted.protocol.policies.TrafficLoggingFactory now has a resetCounter |
|---|
| 1114 | method (#2757) |
|---|
| 1115 | - The FTP client can be told which port range within which to bind passive |
|---|
| 1116 | transfer ports (#1904) |
|---|
| 1117 | - twisted.protocols.memcache contains a new asynchronous memcache client |
|---|
| 1118 | (#2506, #2957) |
|---|
| 1119 | - PB now supports anonymous login (#439, #2312) |
|---|
| 1120 | - twisted.spread.jelly now supports decimal objects (#2920) |
|---|
| 1121 | - twisted.spread.jelly now supports all forms of sets (#2958) |
|---|
| 1122 | - There is now an interface describing the API that process protocols must |
|---|
| 1123 | provide (#3020) |
|---|
| 1124 | - Trial reporting to core unittest TestResult objects has been improved (#2495) |
|---|
| 1125 | - Trial's TestCase now has an addCleanup method which allows easy setup of |
|---|
| 1126 | tear-down code (#2610, #2899) |
|---|
| 1127 | - Trial's TestCase now has an assertIsInstance method (#2749) |
|---|
| 1128 | - Trial's memory footprint and speed are greatly improved (#2275) |
|---|
| 1129 | - At the end of trial runs, "PASSED" and "FAILED" messages are now colorized |
|---|
| 1130 | (#2856) |
|---|
| 1131 | - Tests which leave global state around in the reactor will now fail in |
|---|
| 1132 | trial. A new option, --unclean-warnings, will convert these errors back into |
|---|
| 1133 | warnings (#2091) |
|---|
| 1134 | - Trial now has a --without-module command line for testing code in an |
|---|
| 1135 | environment that lacks a particular Python module (#1795) |
|---|
| 1136 | - Error reporting of failed assertEquals assertions now has much nicer |
|---|
| 1137 | formatting (#2893) |
|---|
| 1138 | - Trial now has methods for monkey-patching (#2598) |
|---|
| 1139 | - Trial now has an ITestCase (#2898, #1950) |
|---|
| 1140 | - The trial reporter API now has a 'done' method which is called at the end of |
|---|
| 1141 | a test run (#2883) |
|---|
| 1142 | - TestCase now has an assertWarns method which allows testing that functions |
|---|
| 1143 | emit warnings (#2626, #2703) |
|---|
| 1144 | - There are now no string exceptions in the entire Twisted code base (#2063) |
|---|
| 1145 | - There is now a system for specifying credentials checkers with a string |
|---|
| 1146 | (#2570) |
|---|
| 1147 | |
|---|
| 1148 | Fixes |
|---|
| 1149 | ----- |
|---|
| 1150 | |
|---|
| 1151 | - Some tests which were asserting the value of stderr have been changed |
|---|
| 1152 | because Python uncontrollably writes bytes to stderr (#2405) |
|---|
| 1153 | - Log files handle time zones with DST better (#2404) |
|---|
| 1154 | - Subprocesses using PTYs on OS X that are handled by Twisted will now be able |
|---|
| 1155 | to more reliably write the final bytes before they exit, allowing Twisted |
|---|
| 1156 | code to more reliably receive them (#2371, #2858) |
|---|
| 1157 | - Trial unit test reporting has been improved (#1901) |
|---|
| 1158 | - The kqueue reactor handles connection failures better (#2172) |
|---|
| 1159 | - It's now possible to run "trial foo/bar/" without an exception: trailing |
|---|
| 1160 | slashes no longer cause problems (#2005) |
|---|
| 1161 | - cred portals now better deal with implementations of inherited interfaces |
|---|
| 1162 | (#2523) |
|---|
| 1163 | - FTP error handling has been improved (#1160, 1107) |
|---|
| 1164 | - Trial behaves better with respect to file locking on Windows (#2482) |
|---|
| 1165 | - The FTP server now gives a better error when STOR is attempted during an |
|---|
| 1166 | anonymous session (#1575) |
|---|
| 1167 | - Trial now behaves better with tests that use the reactor's threadpool (#1832) |
|---|
| 1168 | - twisted.python.reload now behaves better with new-style objects (#2297) |
|---|
| 1169 | - LogFile's defaultMode parameter is now better implemented, preventing |
|---|
| 1170 | potential security exploits (#2586) |
|---|
| 1171 | - A minor obscure leak in thread pools was corrected (#1134) |
|---|
| 1172 | - twisted.internet.task.Clock now returns the correct DelayedCall from |
|---|
| 1173 | callLater, instead of returning the one scheduled for the furthest in the |
|---|
| 1174 | future (#2691) |
|---|
| 1175 | - twisted.spread.util.FilePager no longer unnecessarily buffers data in |
|---|
| 1176 | memory (#1843, 2321) |
|---|
| 1177 | - Asking for twistd or trial to use an unavailable reactor no longer prints a |
|---|
| 1178 | traceback (#2457) |
|---|
| 1179 | - System event triggers have fewer obscure bugs (#2509) |
|---|
| 1180 | - Plugin discovery code is much better behaved, allowing multiple |
|---|
| 1181 | installations of a package with plugins (#2339, #2769) |
|---|
| 1182 | - Process and PTYProcess have been merged and some minor bugs have been fixed |
|---|
| 1183 | (#2341) |
|---|
| 1184 | - The reactor has less global state (#2545) |
|---|
| 1185 | - Failure can now correctly represent and format errors caused by string |
|---|
| 1186 | exceptions (#2830) |
|---|
| 1187 | - The epoll reactor now has better error handling which now avoids the bug |
|---|
| 1188 | causing 100% CPU usage in some cases (#2809) |
|---|
| 1189 | - Errors raised during trial setUp or tearDown methods are now handled better |
|---|
| 1190 | (#2837) |
|---|
| 1191 | - A problem when deferred callbacks add new callbacks to the deferred that |
|---|
| 1192 | they are a callback of was fixed (#2849) |
|---|
| 1193 | - Log messages that are emitted during connectionMade now have the protocol |
|---|
| 1194 | prefix correctly set (#2813) |
|---|
| 1195 | - The string representation of a TCP Server connection now contains the actual |
|---|
| 1196 | port that it's bound to when it was configured to listen on port 0 (#2826) |
|---|
| 1197 | - There is better reporting of error codes for TCP failures on Windows (#2425) |
|---|
| 1198 | - Process spawning has been made slightly more robust by disabling garbage |
|---|
| 1199 | collection temporarily immediately after forking so that finalizers cannot |
|---|
| 1200 | be executed in an unexpected environment (#2483) |
|---|
| 1201 | - namedAny now detects import errors better (#698) |
|---|
| 1202 | - Many fixes and improvements to the twisted.python.zipstream module have |
|---|
| 1203 | been made (#2996) |
|---|
| 1204 | - FilePager no longer blows up on empty files (#3023) |
|---|
| 1205 | - twisted.python.util.FancyEqMixin has been improved to cooperate with objects |
|---|
| 1206 | of other types (#2944) |
|---|
| 1207 | - twisted.python.FilePath.exists now restats to prevent incorrect result |
|---|
| 1208 | (#2896) |
|---|
| 1209 | - twisted.python.util.mergeFunctionMetadata now also merges the __module__ |
|---|
| 1210 | attribute (#3049) |
|---|
| 1211 | - It is now possible to call transport.pauseProducing within connectionMade on |
|---|
| 1212 | TCP transports without it being ignored (#1780) |
|---|
| 1213 | - twisted.python.versions now understands new SVN metadata format for fetching |
|---|
| 1214 | the SVN revision number (#3058) |
|---|
| 1215 | - It's now possible to use reactor.callWhenRunning(reactor.stop) on gtk2 and |
|---|
| 1216 | glib2 reactors (#3011) |
|---|
| 1217 | |
|---|
| 1218 | Deprecations and removals |
|---|
| 1219 | ------------------------- |
|---|
| 1220 | - twisted.python.timeoutqueue is now deprecated (#2536) |
|---|
| 1221 | - twisted.enterprise.row and twisted.enterprise.reflector are now deprecated |
|---|
| 1222 | (#2387) |
|---|
| 1223 | - twisted.enterprise.util is now deprecated (#3022) |
|---|
| 1224 | - The dispatch and dispatchWithCallback methods of ThreadPool are now |
|---|
| 1225 | deprecated (#2684) |
|---|
| 1226 | - Starting the same reactor multiple times is now deprecated (#1785) |
|---|
| 1227 | - The visit method of various test classes in trial has been deprecated (#2897) |
|---|
| 1228 | - The --report-profile option to twistd and twisted.python.dxprofile are |
|---|
| 1229 | deprecated (#2908) |
|---|
| 1230 | - The upDownError method of Trial reporters is deprecated (#2883) |
|---|
| 1231 | |
|---|
| 1232 | Other |
|---|
| 1233 | ----- |
|---|
| 1234 | |
|---|
| 1235 | - #2396, #2211, #1921, #2378, #2247, #1603, #2463, #2530, #2426, #2356, #2574, |
|---|
| 1236 | - #1844, #2575, #2655, #2640, #2670, #2688, #2543, #2743, #2744, #2745, #2746, |
|---|
| 1237 | - #2742, #2741, #1730, #2831, #2216, #1192, #2848, #2767, #1220, #2727, #2643, |
|---|
| 1238 | - #2669, #2866, #2867, #1879, #2766, #2855, #2547, #2857, #2862, #1264, #2735, |
|---|
| 1239 | - #942, #2885, #2739, #2901, #2928, #2954, #2906, #2925, #2942, #2894, #2793, |
|---|
| 1240 | - #2761, #2977, #2968, #2895, #3000, #2990, #2919, #2969, #2921, #3005, #421, |
|---|
| 1241 | - #3031, #2940, #1181, #2783, #1049, #3053, #2847, #2941, #2876, #2886, #3086, |
|---|
| 1242 | - #3095, #3109 |
|---|
| 1243 | |
|---|
| 1244 | |
|---|
| 1245 | Conch 8.0.0 (2008-03-17) |
|---|
| 1246 | ======================== |
|---|
| 1247 | |
|---|
| 1248 | Features |
|---|
| 1249 | -------- |
|---|
| 1250 | - Add DEC private mode manipulation methods to ITerminalTransport. (#2403) |
|---|
| 1251 | |
|---|
| 1252 | Fixes |
|---|
| 1253 | ----- |
|---|
| 1254 | - Parameterize the scheduler function used by the insults TopWindow widget. |
|---|
| 1255 | This change breaks backwards compatibility in the TopWindow initializer. |
|---|
| 1256 | (#2413) |
|---|
| 1257 | - Notify subsystems, like SFTP, of connection close. (#2421) |
|---|
| 1258 | - Change the process file descriptor "connection lost" code to reverse the |
|---|
| 1259 | setNonBlocking operation done during initialization. (#2371) |
|---|
| 1260 | - Change ConsoleManhole to wait for connectionLost notification before |
|---|
| 1261 | stopping the reactor. (#2123, #2371) |
|---|
| 1262 | - Make SSHUserAuthServer.ssh_USERAUTH_REQUEST return a Deferred. (#2528) |
|---|
| 1263 | - Manhole's initializer calls its parent class's initializer with its |
|---|
| 1264 | namespace argument. (#2587) |
|---|
| 1265 | - Handle ^C during input line continuation in manhole by updating the prompt |
|---|
| 1266 | and line buffer correctly. (#2663) |
|---|
| 1267 | - Make twisted.conch.telnet.Telnet by default reject all attempts to enable |
|---|
| 1268 | options. (#1967) |
|---|
| 1269 | - Reduce the number of calls into application code to deliver application-level |
|---|
| 1270 | data in twisted.conch.telnet.Telnet.dataReceived (#2107) |
|---|
| 1271 | - Fix definition and management of extended attributes in conch file transfer. |
|---|
| 1272 | (#3010) |
|---|
| 1273 | - Fix parsing of OpenSSH-generated RSA keys with differing ASN.1 packing style. |
|---|
| 1274 | (#3008) |
|---|
| 1275 | - Fix handling of missing $HOME in twisted.conch.client.unix. (#3061) |
|---|
| 1276 | |
|---|
| 1277 | Misc |
|---|
| 1278 | ---- |
|---|
| 1279 | - #2267, #2378, #2604, #2707, #2341, #2685, #2679, #2912, #2977, #2678, #2709 |
|---|
| 1280 | #2063, #2847 |
|---|
| 1281 | |
|---|
| 1282 | |
|---|
| 1283 | Lore 8.0.0 (2008-03-17) |
|---|
| 1284 | ======================= |
|---|
| 1285 | |
|---|
| 1286 | Fixes |
|---|
| 1287 | ----- |
|---|
| 1288 | - Change twisted.lore.tree.setIndexLin so that it removes node with index-link |
|---|
| 1289 | class when the specified index filename is None. (#812) |
|---|
| 1290 | - Fix the conversion of the list of options in man pages to Lore format. |
|---|
| 1291 | (#3017) |
|---|
| 1292 | - Fix conch man pages generation. (#3075) |
|---|
| 1293 | - Fix management of the interactive command tag in man2lore. (#3076) |
|---|
| 1294 | |
|---|
| 1295 | Misc |
|---|
| 1296 | ---- |
|---|
| 1297 | - #2847 |
|---|
| 1298 | |
|---|
| 1299 | |
|---|
| 1300 | News 8.0.0 (2008-03-17) |
|---|
| 1301 | ======================= |
|---|
| 1302 | |
|---|
| 1303 | Misc |
|---|
| 1304 | ---- |
|---|
| 1305 | - Remove all "API Stability" markers (#2847) |
|---|
| 1306 | |
|---|
| 1307 | |
|---|
| 1308 | Runner 8.0.0 (2008-03-17) |
|---|
| 1309 | ========================= |
|---|
| 1310 | |
|---|
| 1311 | Misc |
|---|
| 1312 | ---- |
|---|
| 1313 | - Remove all "API Stability" markers (#2847) |
|---|
| 1314 | |
|---|
| 1315 | |
|---|
| 1316 | Web 8.0.0 (2008-03-17) |
|---|
| 1317 | ====================== |
|---|
| 1318 | |
|---|
| 1319 | Features |
|---|
| 1320 | -------- |
|---|
| 1321 | - Add support to twisted.web.client.getPage for the HTTP HEAD method. (#2750) |
|---|
| 1322 | |
|---|
| 1323 | Fixes |
|---|
| 1324 | ----- |
|---|
| 1325 | - Set content-type in xmlrpc responses to "text/xml" (#2430) |
|---|
| 1326 | - Add more error checking in the xmlrpc.XMLRPC render method, and enforce |
|---|
| 1327 | POST requests. (#2505) |
|---|
| 1328 | - Reject unicode input to twisted.web.client._parse to reject invalid |
|---|
| 1329 | unicode URLs early. (#2628) |
|---|
| 1330 | - Correctly re-quote URL path segments when generating an URL string to |
|---|
| 1331 | return from Request.prePathURL. (#2934) |
|---|
| 1332 | - Make twisted.web.proxy.ProxyClientFactory close the connection when |
|---|
| 1333 | reporting a 501 error. (#1089) |
|---|
| 1334 | - Fix twisted.web.proxy.ReverseProxyResource to specify the port in the |
|---|
| 1335 | host header if different from 80. (#1117) |
|---|
| 1336 | - Change twisted.web.proxy.ReverseProxyResource so that it correctly encodes |
|---|
| 1337 | the request URI it sends on to the server for which it is a proxy. (#3013) |
|---|
| 1338 | - Make "twistd web --personal" use PBServerFactory (#2681) |
|---|
| 1339 | |
|---|
| 1340 | Misc |
|---|
| 1341 | ---- |
|---|
| 1342 | - #1996, #2382, #2211, #2633, #2634, #2640, #2752, #238, #2905 |
|---|
| 1343 | |
|---|
| 1344 | |
|---|
| 1345 | Words 8.0.0 (2008-03-17) |
|---|
| 1346 | ======================== |
|---|
| 1347 | |
|---|
| 1348 | Features |
|---|
| 1349 | -------- |
|---|
| 1350 | - Provide function for creating XMPP response stanzas. (#2614, #2614) |
|---|
| 1351 | - Log exceptions raised in Xish observers. (#2616) |
|---|
| 1352 | - Add 'and' and 'or' operators for Xish XPath expressions. (#2502) |
|---|
| 1353 | - Make JIDs hashable. (#2770) |
|---|
| 1354 | |
|---|
| 1355 | Fixes |
|---|
| 1356 | ----- |
|---|
| 1357 | - Respect the hostname and servername parameters to IRCClient.register. (#1649) |
|---|
| 1358 | - Make EventDispatcher remove empty callback lists. (#1652) |
|---|
| 1359 | - Use legacy base64 API to support Python 2.3 (#2461) |
|---|
| 1360 | - Fix support of DIGEST-MD5 challenge parsing with multi-valued directives. |
|---|
| 1361 | (#2606) |
|---|
| 1362 | - Fix reuse of dict of prefixes in domish.Element.toXml (#2609) |
|---|
| 1363 | - Properly process XMPP stream headers (#2615) |
|---|
| 1364 | - Use proper namespace for XMPP stream errors. (#2630) |
|---|
| 1365 | - Properly parse XMPP stream errors. (#2771) |
|---|
| 1366 | - Fix toResponse for XMPP stanzas without an id attribute. (#2773) |
|---|
| 1367 | - Move XMPP stream header procesing to authenticators. (#2772) |
|---|
| 1368 | |
|---|
| 1369 | Misc |
|---|
| 1370 | ---- |
|---|
| 1371 | - #2617, #2640, #2741, #2063, #2570, #2847 |
|---|
| 1372 | |
|---|
| 1373 | |
|---|
| 1374 | Mail 8.0.0 (2008-03-17) |
|---|
| 1375 | ======================= |
|---|
| 1376 | |
|---|
| 1377 | Features |
|---|
| 1378 | -------- |
|---|
| 1379 | - Support CAPABILITY responses that include atoms of the form "FOO" and |
|---|
| 1380 | "FOO=BAR" in IMAP4 (#2695) |
|---|
| 1381 | - Parameterize error handling behavior of imap4.encoder and imap4.decoder. |
|---|
| 1382 | (#2929) |
|---|
| 1383 | |
|---|
| 1384 | Fixes |
|---|
| 1385 | ----- |
|---|
| 1386 | - Handle empty passwords in SMTP auth. (#2521) |
|---|
| 1387 | - Fix IMAP4Client's parsing of literals which are not preceeded by whitespace. |
|---|
| 1388 | (#2700) |
|---|
| 1389 | - Handle MX lookup suceeding without answers. (#2807) |
|---|
| 1390 | - Fix issues with aliases(5) process support. (#2729) |
|---|
| 1391 | |
|---|
| 1392 | Misc |
|---|
| 1393 | ---- |
|---|
| 1394 | - #2371, #2123, #2378, #739, #2640, #2746, #1917, #2266, #2864, #2832, #2063, |
|---|
| 1395 | #2865, #2847 |
|---|
| 1396 | |
|---|
| 1397 | |
|---|
| 1398 | Names 8.0.0 (2008-03-17) |
|---|
| 1399 | ======================== |
|---|
| 1400 | |
|---|
| 1401 | Fixes |
|---|
| 1402 | ----- |
|---|
| 1403 | |
|---|
| 1404 | - Refactor DNSDatagramProtocol and DNSProtocol to use same base class (#2414) |
|---|
| 1405 | - Change Resolver to query specified nameservers in specified order, instead |
|---|
| 1406 | of reverse order. (#2290) |
|---|
| 1407 | - Make SRVConnector work with bad results and NXDOMAIN responses. |
|---|
| 1408 | (#1908, #2777) |
|---|
| 1409 | - Handle write errors happening in dns queries, to have correct deferred |
|---|
| 1410 | failures. (#2492) |
|---|
| 1411 | - Fix the value of OP_NOTIFY and add a definition for OP_UPDATE. (#2945) |
|---|
| 1412 | |
|---|
| 1413 | Misc |
|---|
| 1414 | ---- |
|---|
| 1415 | - #2685, #2936, #2581, #2847 |
|---|
| 1416 | |
|---|