forked from twisted/twisted
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
3969 lines (3291 loc) · 146 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>
Twisted Core 13.1.0 (2013-06-23)
================================
Features
--------
- trial now has an --exitfirst flag which stops the test run after
the first error or failure. (#1518)
- twisted.internet.ssl.CertificateOptions now supports chain
certificates. (#2061)
- twisted.internet.endpoints now provides ProcessEndpoint, a child
process endpoint. (#4696)
- Factory now has a forProtocol classmethod that constructs an
instance and sets its protocol attribute. (#5016)
- twisted.internet.endpoints.connectProtocol allows connecting to a
client endpoint using only a protocol instance, rather than
requiring a factory. (#5270)
- twisted.trial.unittest.SynchronousTestCase.assertNoResult no longer
swallows the result, if the assertion succeeds. (#6291)
- twisted.python.constants.FlagConstant implements __iter__ so that
it can be iterated upon to find the flags that went into a flag
set, and implements __nonzero__ to test as false when empty.
(#6302)
- assertIs and assertIsNot have now been added to
twisted.trial.unittest.TestCase. (#6350)
- twisted.trial.unittest.TestCase.failureResultOf now takes an
optional expected failure type argument. (#6380)
- The POSIX implementation of
twisted.internet.interfaces.IReactorProcess now does not change the
parent process UID or GID in order to run child processes with a
different UID or GID. (#6443)
Bugfixes
--------
- self.transport.resumeProducing() will no longer raise an
AssertionError if called after self.transport.loseConnection()
(#986)
- twisted.protocols.ftp.FTP now supports IFTPShell implementations
which return non-ASCII filenames as unicode strings. (#5411)
- twisted.internet.ssl.CertificateOptions now disables SSLv2 if
SSLv23 is selected, allowing only SSLv3 and TLSv1. (#6337)
- trial dist support now gets sys.path from an environment variable
passed to it. (#6390)
- twisted.test.proto_helpers.StringTransportWithDisconnection now
correctly passes Failure instead of an exception to
connectionLost through loseConnection. (#6521)
Improved Documentation
----------------------
- The Application howto now provides an example of writing a custom
Service. (#5586)
- The -j flag to trial (introduced in 12.3.0) is now documented.
(#5994)
- The SSL howto now covers twisted.internet.ssl.CertificateOptions
instead of the older context factories it replaces. (#6273)
- The Constants HOWTO documents iteration and truth testing of flags,
as well as previously undocumented boolean operations. (#6302)
Deprecations and Removals
-------------------------
- twisted.trial.runner.suiteVisit and PyUnitTestCase as well as
visitor methods, all deprecated since Twisted 8.0, have been
removed. (#3231)
- twisted.python._epoll bindings were removed; the epoll reactor now
uses the stdlib-provided epoll support. (#5847)
- The deprecated LENGTH, DATA, COMMA, and NUMBER NetstringReceiver
parser state attributes in t.protocols.basic are removed now.
(#6321)
- twisted.trial.runner.DryRunVisitor is now deprecated. Trial uses a
different method to handle --dry-run now. (#6333)
- twisted.python.hashlib is now deprecated in favor of hashlib from
stdlib. (#6342)
- twisted.web.server's Session.loopFactory, lifetime parameter of
Session.startCheckingExpiration and Session.checkExpired attributes,
deprecated since Twisted 9.0, have been removed. (#6514)
Other
-----
- #2380, #5197, #5228, #5386, #5459, #5578, #5801, #5952, #5955,
#5981, #6051, #6189, #6228, #6240, #6284, #6286, #6299, #6316,
#6353, #6354, #6368, #6377, #6378, #6381, #6389, #6400, #6403,
#6407, #6416, #6417, #6418, #6419, #6430, #6433, #6438, #6439,
#6440, #6441, #6444, #6459, #6465, #6468, #6477, #6480, #6498,
#6508, #6510, #6525
Twisted Conch 13.1.0 (2013-06-23)
=================================
Features
--------
- twisted.conch.endpoints.SSHCommandClientEndpoint is a new
IStreamClientEndpoint which supports connecting a protocol to the
stdio of a command running on a remote host via an SSH connection.
(#4698)
- twisted.conch.client.knownhosts.KnownHostsFile now has a public
`savePath` attribute giving the filesystem path where the known
hosts data is saved to and loaded from. (#6255)
- twisted.conch.endpoints.SSHCommandClientEndpoint.connect() returns
a cancellable Deferred when using new connections. (#6532)
Other
-----
- #5386, #6342, #6386, #6405, #6541
Twisted Lore 13.1.0 (2013-06-23)
================================
Deprecations and Removals
-------------------------
- twisted.lore.lint.parserErrors is deprecated now. (#5386)
Twisted Mail 13.1.0 (2013-06-23)
================================
Bugfixes
--------
- twisted.mail.smtp.ESMTPClient no longer tries to use a STARTTLS
capability offered by a server after TLS has already been
negotiated. (#6524)
Deprecations and Removals
-------------------------
- twisted.mail.IDomain.startMessage, deprecated since 2003, is
removed now. (#4151)
Other
-----
- #6342
Twisted Names 13.1.0 (2013-06-23)
=================================
No significant changes have been made for this release.
Other
-----
- #3908, #6381
Twisted News 13.1.0 (2013-06-23)
================================
No significant changes have been made for this release.
Other
-----
- #6342
Twisted Pair 13.1.0 (2013-06-23)
================================
No significant changes have been made for this release.
Twisted Runner 13.1.0 (2013-06-23)
==================================
No significant changes have been made for this release.
Twisted Web 13.1.0 (2013-06-23)
===============================
Features
--------
- The deferred returned by twisted.web.client.Agent.request can now
be cancelled. (#4330)
- twisted.web.client.BrowserLikeRedirectAgent, a new redirect agent,
treats HTTP 301 and 302 like HTTP 303 on non-HEAD/GET requests,
changing the method to GET before proceeding. (#5434)
- The new attribute twisted.web.iweb.IResponse.request is a reference
to a provider of the new twisted.web.iweb.IClientRequest interface
which, among other things, provides a way to access the request's
absolute URI. It is now also possible to inspect redirect history
with twisted.web.iweb.IResponse.previousResponse. (#5435)
- twisted.web.client.RedirectAgent now supports relative URI
references in the Location HTTP header. (#5462)
- twisted.web.client now provides readBody to collect the body of a
response from Agent into a string. (#6251)
Bugfixes
--------
- twisted.web.xmlrpc.QueryProtocol now generates valid Authorization
headers for long user names and passwords. (#2980)
Other
-----
- #6122, #6153, #6342, #6381, #6391, #6503
Twisted Words 13.1.0 (2013-06-23)
=================================
Features
--------
- twisted.words.protocols.irc.assembleFormattedText flattens a
formatting structure into mIRC-formatted markup; conversely
twisted.words.protocols.irc.stripFormatting removes all mIRC
formatting from text. (#3844)
Deprecations and Removals
-------------------------
- The `crippled` attribute in
twisted.words.protocols.jabber.xmpp_stringprep is deprecated now.
(#5386)
Other
-----
- #6315, #6342, #6392, #6402, #6479, #6481, #6482
Twisted Core 13.0.0 (2013-03-19)
================================
Features
--------
- The twisted.protocols.ftp.FTP server now treats "LIST -La", "LIST
-al", and all other combinations of ordering and case of the "-l"
and "-a" flags the same: by ignoring them rather than treating them
as a pathname. (#1333)
- twisted.python.log.FileLogObserver now uses `datetime.strftime` to
format timestamps, adding support for microseconds and timezone
offsets to the `timeFormat` string. (#3513)
- trial now deterministically runs tests in the order in which they
were specified on the command line, instead of quasi-randomly
according to dictionary key ordering. (#5520)
- Cooperator.running can be used to determine the current cooperator
status. (#5937)
- twisted.python.modules.PythonPath now implements `__contains__` to
allow checking, by name, whether a particular module exists within
it. (#6198)
- twisted.application.internet.TimerService.stopService now waits for
any currently running call to finish before firing its deferred.
(#6290)
Bugfixes
--------
- twisted.protocols.ftp.FTP now recognizes all glob expressions
supported by fnmatch. (#4181)
- Constant values defined using twisted.python.constants can now be
set as attributes of other classes without triggering an unhandled
AttributeError from the constants implementation. (#5797)
- Fixed problem where twisted.names.client.Resolver was not closing
open file handles which can lead to an out of file descriptor error
on PyPy. (#6216)
- All reactors included in Twisted itself now gracefully handle a
rare case involving delayed calls scheduled very far in the future.
(#6259)
- twisted.trial.reporter.Reporter._trimFrames correctly removes
frames from twisted.internet.utils.runWithWarningsSuppressed again,
after being broke in #6009. (#6282)
Improved Documentation
----------------------
- A new "Deploying Twisted with systemd" howto document which
demonstrates how to start a Twisted service using systemd socket
activation. (#5601)
- New "Introduction to Deferreds" howto. Old howto rebranded as
reference documentation. (#6180)
- "Components: Interfaces and Adapters" howto now uses
zope.interface's decorator-based API. (#6269)
Deprecations and Removals
-------------------------
- twisted.python.util.unsignedID and setIDFunction are deprecated
now. (#5544)
- twisted.python.zshcomp deprecated since 11.1.0 has now been
removed. Shell tab-completion is now handled by
twisted.python.usage. (#5767)
- python.runtime.Platform.isWinNT is deprecated now. Use
Platform.isWindows instead. (#5925)
- twisted.trial.util.findObject, deprecated since Twisted 10.1.0, has
been removed. (#6260)
Other
-----
- #2915, #4009, #4315, #5909, #5918, #5953, #6026, #6046, #6165,
#6201, #6207, #6208, #6211, #6235, #6236, #6247, #6265, #6272,
#6288, #6297, #6309, #6322, #6323, #6324, #6327, #6332, #6338,
#6349
Twisted Conch 13.0.0 (2013-03-19)
=================================
Features
--------
- twisted.conch.client.knownhosts.KnownHostsFile now takes care not
to overwrite changes to its save file made behind its back, making
it safer to use with the same known_hosts file as is being used by
other software. (#6256)
Other
-----
- #5864, #6257, #6297
Twisted Lore 13.0.0 (2013-03-19)
================================
No significant changes have been made for this release.
Twisted Mail 13.0.0 (2013-03-19)
================================
Bugfixes
--------
- twisted.mail.smtp.ESMTPClient no longer attempts to negotiate a TLS
session if transport security has been requested and the protocol
is already running on a TLS connection. (#3989)
- twisted.mail.imap4.Query now filters illegal characters from the
values of KEYWORD and UNKEYWORD and also emits them without adding
quotes (which are also illegal). (#4392)
- twisted.mail.imap4.IMAP4Client can now interpret the BODY response
for multipart/* messages with parts which are also multipart/*.
(#4631)
Deprecations and Removals
-------------------------
- tlsMode attribute of twisted.mail.smtp.ESMTPClient is deprecated.
(#5852)
Other
-----
- #6218, #6297
Twisted Names 13.0.0 (2013-03-19)
=================================
Features
--------
- twisted.names.dns.Name and twisted.names.srvconnect.SRVConnector
now support unicode domain names, automatically converting using
the idna encoding. (#6245)
Improved Documentation
----------------------
- The API documentation for IResolver and its implementations has
been updated and consolidated in
twisted.internet.interfaces.IResolver. (#4685)
Deprecations and Removals
-------------------------
- The retry, Resolver.discoveredAuthority, lookupNameservers,
lookupAddress, extractAuthority, and discoverAuthority APIs in
twisted.names.root have been deprecated since 10.0 and have been
removed. (#5564)
Other
-----
- #5596, #6246, #6297
Twisted News 13.0.0 (2013-03-19)
================================
No significant changes have been made for this release.
Twisted Pair 13.0.0 (2013-03-19)
================================
No significant changes have been made for this release.
Twisted Runner 13.0.0 (2013-03-19)
==================================
No significant changes have been made for this release.
Other
-----
- #5740
Twisted Web 13.0.0 (2013-03-19)
===============================
Bugfixes
--------
- twisted.web.template now properly quotes attribute values,
including Tag instances serialized within attribute values. (#6275)
Other
-----
- #6167, #6297, #6326
Twisted Words 13.0.0 (2013-03-19)
=================================
Bugfixes
--------
- twisted.words.im.ircsupport no longer logs a failure whenever
receiving ISUPPORT messages from an IRC server. (#6263)
Other
-----
- #6297
Twisted Core 12.3.0 (2012-12-20)
================================
Features
--------
- The new -j flag to trial provides a trial runner supporting
multiple worker processes on the local machine, for parallel
testing. (#1784)
- twisted.internet.task.react, a new function, provides a simple API
for running the reactor until a single asynchronous function
completes. (#3270)
- twisted.protocols.ftp.FTP now handles FEAT and OPTS commands.
(#4515)
- trial now supports specifying a debugger other than pdb with the
--debugger command line flag. (#5794)
- twisted.python.util.runWithWarningsSuppressed has been added; it
runs a function with specified warning filters. (#5950)
- trial's skipping feature is now implemented in a way compatible with the
standard library unittest's runner. (#6006)
- The setup3.py script is now provided to provisionally support
building and installing an experimental, incomplete version of
Twisted in a Python 3 environment. (#6040)
- twisted.python.util.FancyStrMixin now supports arbitrary callables
to format attribute values. (#6063)
- Several new methods of twisted.trial.unittest.SynchronousTestCase
- `successResultOf`, `failureResultOf`, and `assertNoResult` -
have been added to make testing `Deferred`-using code easier.
(#6105)
Bugfixes
--------
- twisted.protocols.basic.LineReceiver now does not hit the maximum
stack recursion depth when the line and data mode is switched many
times. (#3050)
- twisted.protocols.ftp.FTPFileListProtocol fixed to support files
with space characters in their name. (#4986)
- gireactor and gtk3reactor no longer prevent gi.pygtkcompat from
working, and likewise can load if gi.pygtkcompat has previously
been enabled. (#5676)
- gtk2reactor now works again on FreeBSD, and perhaps other platforms
that were broken by gi interactions. (#5737)
- gireactor now works with certain older versions of gi that are
missing the threads_init() function. (#5790)
- Fixed a bug where twisted.python.sendmsg would sometimes fail with
obscure errors including "Message too long" or "Invalid argument"
on some 64-bit platforms. (#5867)
- twisted.internet.endpoints.TCP6ClientEndpoint now provides
twisted.internet.interfaces.IStreamClientEndpoint (#5876)
- twisted.internet.endpoints.AdoptedStreamServerEndpoint now provides
twisted.internet.interfaces.IStreamServerEndpoint. (#5878)
- Spawning subprocesses with PTYs now works on OS X 10.8. (#5880)
- twisted.internet.test.test_sigchld no longer incorrectly fails when
run after certain other tests. (#6161)
- twisted.internet.test.test_gireactor no longer fails when using
pygobject 3.4 and gtk 3.6 when X11 is unavailable. (#6170)
- twisted/python/sendmsg.c no longer fails to build on OpenBSD.
(#5907)
Improved Documentation
----------------------
- The endpoint howto now lists TCP IPv6 server endpoint in the list
of endpoints included with Twisted. (#5741)
Deprecations and Removals
-------------------------
- The minimum required version of zope.interface is now 3.6.0.
(#5683)
- twisted.internet.interfaces.IReactorArbitrary and
twisted.application.internet.GenericServer and GenericClient,
deprecated since Twisted 10.1, have been removed. (#5943)
- twisted.internet.interfaces.IFinishableConsumer, deprecated since
Twisted 11.1, has been removed. (#5944)
- twisted.python.failure has removed all support for string
exceptions. (#5948)
- assertTrue, assertEqual, and the other free-functions in
twisted.trial.unittest for writing assertions, deprecated since
prior to Twisted 2.3, have been removed. (#5963)
- Ports, connectors, wakers and other reactor-related types no longer
log a nice warning when they are erroneously pickled. Pickling of
such objects continues to be unsupported. (#5979)
- twisted.python.components.Componentized no longer inherits from
Versioned. (#5983)
- twisted.protocols.basic.NetstringReceiver.sendString no longer
accepts objects other than bytes; the removed behavior was
deprecated in Twisted 10.0. (#6025)
- The lookupRecord method of twisted.internet.interfaces.IResolver,
never implemented or called by Twisted, has been removed. (#6091)
Other
-----
- #4286, #4920, #5627, #5785, #5860, #5865, #5873, #5874, #5877,
#5879, #5884, #5885, #5886, #5891, #5896, #5897, #5899, #5900,
#5901, #5903, #5906, #5908, #5912, #5913, #5914, #5916, #5917,
#5931, #5932, #5933, #5934, #5935, #5939, #5942, #5947, #5956,
#5959, #5967, #5969, #5970, #5972, #5973, #5974, #5975, #5980,
#5985, #5986, #5990, #5995, #6002, #6003, #6005, #6007, #6009,
#6010, #6018, #6019, #6022, #6023, #6033, #6036, #6039, #6041,
#6043, #6052, #6053, #6054, #6055, #6060, #6061, #6065, #6067,
#6068, #6069, #6084, #6087, #6088, #6097, #6099, #6100, #6103,
#6109, #6114, #6139, #6140, #6141, #6142, #6157, #6158, #6159,
#6163, #6172, #6182, #6190, #6194, #6204, #6209
Twisted Conch 12.3.0 (2012-12-20)
=================================
Bugfixes
--------
- Passing multiple --auth arguments to conch now correctly adds all
the specified checkers to the conch server (#5881)
- ckeygen --showpub now uses OPENSSH as default display, instead of
breaking because no display type was passed. (#5889)
- ckeygen --showpub catches EncryptedKeyError instead of BadKeyError
to detect that a key needs to be decrypted with a passphrase.
(#5890)
Other
-----
- #5923
Twisted Lore 12.3.0 (2012-12-20)
================================
No significant changes have been made for this release.
Twisted Mail 12.3.0 (2012-12-20)
================================
Bugfixes
--------
- twisted.mail.imap4._FetchParser now raises
IllegalClientResponse("Invalid Argument") when protocol encounters
extra bytes at the end of a valid FETCH command. (#4000)
Improved Documentation
----------------------
- twisted.mail.tap now documents example usage in its longdesc
output for the 'mail' plugin (#5922)
Other
-----
- #3751
Twisted Names 12.3.0 (2012-12-20)
=================================
Deprecations and Removals
-------------------------
- The `protocol` attribute of twisted.names.client.Resolver,
deprecated since Twisted 8.2, has been removed. (#6045)
- twisted.names.hosts.Resolver is no longer a
`twisted.persisted.styles.Versioned` subclass. (#6092)
Other
-----
- #5594, #6056, #6057, #6058, #6059, #6093
Twisted News 12.3.0 (2012-12-20)
================================
No significant changes have been made for this release.
Twisted Pair 12.3.0 (2012-12-20)
================================
No significant changes have been made for this release.
Twisted Runner 12.3.0 (2012-12-20)
==================================
No significant changes have been made for this release.
Twisted Web 12.3.0 (2012-12-20)
===============================
Features
--------
- twisted.web.server.Site now supports an encoders argument to encode
request content, twisted.web.server.GzipEncoderFactory being the
first one provided. (#104)
Bugfixes
--------
- twisted.web.http.HTTPChannel.headerReceived now catches the error
if the Content-Length header is not an integer and return a 400 Bad
Request response. (#6029)
- twisted.web.http.HTTPChannel now drops the connection and issues a
400 error upon receipt of a chunk-encoding encoded request with a
bad chunk-length field. (#6030)
Improved Documentation
----------------------
- twisted.web.iweb.IRequest now documents its `content` attribute and
a new "web in 60 seconds" howto demonstrates its use. (#6181)
Other
-----
- #5882, #5883, #5887, #5920, #6031, #6077, #6078, #6079, #6080,
#6110, #6113, #6196, #6205
Twisted Words 12.3.0 (2012-12-20)
=================================
Improved Documentation
----------------------
- The Twisted Words code examples now documents inside each example
description on how to run it. (#5589)
Twisted Core 12.2.0 (2012-08-26)
================================
Starting with the release after 12.2, Twisted will begin requiring
zope.interface 3.6 (as part of Python 3 support).
This is the last Twisted release supporting Python 2.6 on Windows.
Features
--------
- twisted.protocols.sip.MessageParser now handles multiline headers.
(#2198)
- twisted.internet.endpoints now provides StandardIOEndpoint, a
Standard I/O endpoint. (#4697)
- If a FTPCmdError occurs during twisted.protocols.ftp.FTP.ftp_RETR
sending the file (i.e. it is raised by the IReadFile.send method it
invokes), then it will use that to return an error to the client
rather than necessarily sending a 426 CNX_CLOSED_TXFR_ABORTED
error. (#4913)
- twisted.internet.interfaces.IReactorSocket.adoptStreamConnection is
implemented by some reactors as a way to add an existing
established connection to them. (#5570)
- twisted.internet.endpoints now provides TCP6ServerEndpoint, an IPv6
TCP server endpoint. (#5694)
- twisted.internet.endpoints now provides TCP6ClientEndpoint, an IPv6
TCP client endpoint. (#5695)
- twisted.internet.endpoints.serverFromString, the endpoint string
description feature, can now be used to create IPv6 TCP servers.
(#5699)
- twisted.internet.endpoints.serverFromString, the endpoint string
description feature, can now be used to create servers that run on
Standard I/O. (#5729)
- twisted.trial.unittest now offers SynchronousTestCase, a test case
base class that provides usability improvements but not reactor-
based testing features. (#5853)
Bugfixes
--------
- twisted.internet.Process.signalProcess now catches ESRCH raised by
os.kill call and raises ProcessExitedAlready instead. (#2420)
- TLSMemoryBIOProtocol (and therefore all SSL transports if pyOpenSSL
>= 0.10) now provides the interfaces already provided by the
underlying transport. (#5182)
Deprecations and Removals
-------------------------
- Python 2.5 is no longer supported. (#5553)
- The --extra option of trial, deprecated since 11.0, is removed now.
(#3374)
- addPluginDir and getPluginDirs in twisted.python.util are
deprecated now. (#4533)
- twisted.trial.runner.DocTestCase, deprecated in Twisted 8.0, has
been removed. (#5554)
- startKeepingErrors, flushErrors, ignoreErrors, and clearIgnores in
twisted.python.log (deprecated since Twisted 2.5) are removed now.
(#5765)
- unzip, unzipIter, and countZipFileEntries in
twisted.python.zipstream (deprecated in Twisted 11.0) are removed
now. (#5766)
- twisted.test.time_helpers, deprecated since Twisted 10.0, has been
removed. (#5820)
Other
-----
- #4244, #4532, #4930, #4999, #5129, #5138, #5385, #5521, #5655,
#5674, #5679, #5687, #5688, #5689, #5692, #5707, #5734, #5736,
#5745, #5746, #5747, #5749, #5784, #5816, #5817, #5818, #5819,
#5830, #5857, #5858, #5859, #5869, #5632
Twisted Conch 12.2.0 (2012-08-26)
=================================
Features
--------
- twisted.conch.ssh.transport.SSHTransport now returns an
SSHTransportAddress from the getPeer() and getHost() methods.
(#2997)
Bugfixes
--------
- twisted.conch now supports commercial SSH implementations which
don't comply with the IETF standard (#1902)
- twisted.conch.ssh.userauth now works correctly with hash
randomization enabled. (#5776)
- twisted.conch no longer relies on __builtins__ being a dict, which
is a purely CPython implementation detail (#5779)
Other
-----
- #5496, #5617, #5700, #5748, #5777
Twisted Lore 12.2.0 (2012-08-26)
================================
No significant changes have been made for this release.
Twisted Mail 12.2.0 (2012-08-26)
================================
Bugfixes
--------
- twisted.mail.imap4.IMAP4Server will now generate an error response
when it receives an illegal SEARCH term from a client. (#4080)
- twisted.mail.imap4 now serves BODYSTRUCTURE responses which provide
more information and conform to the IMAP4 RFC more closely. (#5763)
Deprecations and Removals
-------------------------
- twisted.mail.protocols.SSLContextFactory is now deprecated. (#4963)
- The --passwordfile option to twistd mail is now removed. (#5541)
Other
-----
- #5697, #5750, #5751, #5783
Twisted Names 12.2.0 (2012-08-26)
=================================
Features
--------
- twisted.names.srvconnect.SRVConnector now takes a default port to
use when SRV lookup fails. (#3456)
Other
-----
- #5647
Twisted News 12.2.0 (2012-08-26)
================================
No significant changes have been made for this release.
Twisted Pair 12.2.0 (2012-08-26)
================================
No significant changes have been made for this release.
Twisted Runner 12.2.0 (2012-08-26)
==================================
No significant changes have been made for this release.
Twisted Web 12.2.0 (2012-08-26)
===============================
Deprecations and Removals
-------------------------
- twisted.web.static.FileTransfer, deprecated since 9.0, is removed
now. Use a subclass of StaticProducer instead. (#5651)
- ErrorPage, NoResource and ForbiddenResource in twisted.web.error
were deprecated since 9.0 and are removed now. (#5659)
- twisted.web.google, deprecated since Twisted 11.1, is removed now.
(#5768)
Other
-----
- #5665
Twisted Words 12.2.0 (2012-08-26)
=================================
No significant changes have been made for this release.
Other
-----
- #5752, #5753
Twisted Core 12.1.0 (2012-06-02)
================================
Features
--------
- The kqueue reactor has been revived. (#1918)
- twisted.python.filepath now provides IFilePath, an interface for
file path objects. (#2176)
- New gtk3 and gobject-introspection reactors have been added.
(#4558)
- gtk and glib reactors now run I/O and scheduled events with lower
priority, to ensure the UI stays responsive. (#5067)
- IReactorTCP.connectTCP() can now accept IPv6 address literals
(although not hostnames) in order to support connecting to IPv6
hosts. (#5085)
- twisted.internet.interfaces.IReactorSocket, a new interface, is now
supported by some reactors to listen on sockets set up by external
software (eg systemd or launchd). (#5248)
- twisted.internet.endpoints.clientFromString now also supports
strings in the form of tcp:example.com:80 and ssl:example.com:4321
(#5358)
- twisted.python.constants.Flags now provides a way to define
collections of flags for bitvector-type uses. (#5384)
- The epoll(7)-based reactor is now the default reactor on Linux.
(#5478)
- twisted.python.runtime.platform.isLinux can be used to check if
Twisted is running on Linux. (#5491)
- twisted.internet.endpoints.serverFromString now recognizes a
"systemd" endpoint type, for listening on a server port inherited
from systemd. (#5575)
- Connections created using twisted.internet.interfaces.IReactorUNIX
now support sending and receiving file descriptors between
different processes. (#5615)
- twisted.internet.endpoints.clientFromString now supports UNIX
client endpoint strings with the path argument specified like
"unix:/foo/bar" in addition to the old style, "unix:path=/foo/bar".
(#5640)
- twisted.protocols.amp.Descriptor is a new AMP argument type which
supports passing file descriptors as AMP command arguments over
UNIX connections. (#5650)
Bugfixes
--------
- twisted.internet.abstract.FileDescriptor implements
twisted.internet.interfaces.IPushProducer instead of
twisted.internet.interfaces.IProducer.
twisted.internet.iocpreactor.abstract.FileHandle implements
twisted.internet.interfaces.IPushProducer instead of
twisted.internet.interfaces.IProducer. (#4386)
- The epoll reactor now supports reading/writing to regular files on
stdin/stdout. (#4429)
- Calling .cancel() on any Twisted-provided client endpoint
(TCP4ClientEndpoint, UNIXClientEndpoint, SSL4ClientEndpoint) now
works as documented, rather than logging an AlreadyCalledError.
(#4710)
- A leak of OVERLAPPED structures in some IOCP error cases has been
fixed. (#5372)
- twisted.internet._pollingfile._PollableWritePipe now checks for
outgoing unicode data in write() and writeSequence() instead of
checkWork(). (#5412)
Improved Documentation
----------------------
- "Working from Twisted's Subversion repository" links to UQDS and
Combinator are now updated. (#5545)
- Added tkinterdemo.py, an example of Tkinter integration. (#5631)
Deprecations and Removals
-------------------------
- The 'unsigned' flag to twisted.scripts.tap2rpm.MyOptions is now
deprecated. (#4086)
- Removed the unreachable _fileUrandom method from
twisted.python.randbytes.RandomFactory. (#4530)
- twisted.persisted.journal is removed, deprecated since Twisted
11.0. (#4805)
- Support for pyOpenSSL 0.9 and older is now deprecated. pyOpenSSL
0.10 or newer will soon be required in order to use Twisted's SSL
features. (#4974)
- backwardsCompatImplements and fixClassImplements are removed from
twisted.python.components, deprecated in 2006. (#5034)
- twisted.python.reflect.macro was removed, deprecated since Twisted
8.2. (#5035)
- twisted.python.text.docstringLStrip, deprecated since Twisted
10.2.0, has been removed (#5036)
- Removed the deprecated dispatch and dispatchWithCallback methods
from twisted.python.threadpool.ThreadPool (deprecated since 8.0)
(#5037)
- twisted.scripts.tapconvert is now deprecated. (#5038)
- twisted.python.reflect's Settable, AccessorType, PropertyAccessor,
Accessor, OriginalAccessor and Summer are now deprecated. (#5451)
- twisted.python.threadpool.ThreadSafeList (deprecated in 10.1) is
removed. (#5473)
- twisted.application.app.initialLog, deprecated since Twisted 8.2.0,
has been removed. (#5480)
- twisted.spread.refpath was deleted, deprecated since Twisted 9.0.
(#5482)
- twisted.python.otp, deprecated since 9.0, is removed. (#5493)
- Removed `dsu`, `moduleMovedForSplit`, and `dict` from
twisted.python.util (deprecated since 10.2) (#5516)
Other
-----
- #2723, #3114, #3398, #4388, #4489, #5055, #5116, #5242, #5380,
#5392, #5447, #5457, #5484, #5489, #5492, #5494, #5512, #5523,
#5558, #5572, #5583, #5593, #5620, #5621, #5623, #5625, #5637,
#5652, #5653, #5656, #5657, #5660, #5673
Twisted Conch 12.1.0 (2012-06-02)
=================================
Features
--------
- twisted.conch.tap now supports cred plugins (#4753)
Bugfixes
--------
- twisted.conch.client.knownhosts now handles errors encountered
parsing hashed entries in a known hosts file. (#5616)
Improved Documentation
----------------------
- Conch examples window.tac and telnet_echo.tac now have better
explanations. (#5590)
Other
-----
- #5580
Twisted Lore 12.1.0 (2012-06-02)
================================
Bugfixes
--------
- twisted.plugins.twisted_lore's MathProcessor plugin is now
associated with the correct implementation module. (#5326)
Twisted Mail 12.1.0 (2012-06-02)
================================
Bugfixes
--------
- twistd mail --auth, broken in 11.0, now correctly connects
authentication to the portal being used (#5219)
Other
-----
- #5686
Twisted Names 12.1.0 (2012-06-02)
=================================
Features
--------
- "twistd dns" secondary server functionality and
twisted.names.secondary now support retrieving zone information
from a master running on a non-standard DNS port. (#5468)
Bugfixes
--------
- twisted.names.dns.DNSProtocol instances no longer throw an
exception when disconnecting. (#5471)
- twisted.names.tap.makeService (thus also "twistd dns") now makes a
DNS server which gives precedence to the hosts file from its
configuration over the remote DNS servers from its configuration.
(#5524)
- twisted.name.cache.CacheResolver now makes sure TTLs on returned
results are never negative. (#5579)
- twisted.names.cache.CacheResolver entries added via the initializer
are now timed out correctly. (#5638)
Improved Documentation
----------------------
- The examples now contain instructions on how to run them and
descriptions in the examples index. (#5588)
Deprecations and Removals
-------------------------
- The deprecated twisted.names.dns.Record_mx.exchange attribute was
removed. (#4549)
Twisted News 12.1.0 (2012-06-02)
================================
Bugfixes
--------
- twisted.news.nntp.NNTPServer now has additional test coverage and
less redundant implementation code. (#5537)
Deprecations and Removals
-------------------------
- The ability to pass a string article to NNTPServer._gotBody and