@@ -35,6 +35,34 @@ Extension Modules
3535Library
3636-------
3737
38+ - Enhancements to the csv module:
39+
40+ + Dialects are now validated by the underlying C code, better
41+ reflecting it's capabilities, and improving it's compliance with
42+ PEP 305.
43+ + Dialect parameter parsing has been re-implemented to improve error
44+ reporting.
45+ + quotechar=None and quoting=QUOTE_NONE now work the way PEP 305
46+ dictates.
47+ + the parser now removes the escapechar prefix from escaped characters.
48+ + Dialect classes passed to the module are no longer instantiated by
49+ the module before being parsed (the former validation scheme required
50+ this, but the mechanism was unreliable).
51+ + The dialect registry now contains instances of the internal
52+ C-coded dialect type, rather than references to python objects.
53+ + the internal c-coded dialect type is now immutable.
54+ + register_dialect now accepts the same keyword dialect specifications
55+ as the reader and writer, allowing the user to register dialects
56+ without first creating a dialect class.
57+ + a configurable limit to the size of parsed fields has been added -
58+ previously, an unmatched quote character could result in the entire
59+ file being read into the field buffer before an error was reported.
60+ + A new module method csv.set_field_limit() has been added that sets
61+ the parser field size limit (returning the former limit). The initial
62+ limit is 128kB.
63+ + reader and writer objects were not being registered with the cyclic-GC.
64+ This has been fixed.
65+
3866- _DummyThread objects in the threading module now delete self.__block that is
3967 inherited from _Thread since it uses up a lock allocated by 'thread'. The
4068 lock primitives tend to be limited in number and thus should not be wasted on
0 commit comments