@@ -301,6 +301,12 @@ changed.
301301 There is no longer any need for using the encoding-aware streams
302302 in the :mod: `codecs ` module.
303303
304+ * The initial values of :data: `sys.stdin `, :data: `sys.stdout ` and
305+ :data: `sys.stderr ` are now unicode-only text files (i.e., they are
306+ instances of :class: `io.TextIOBase `). To read and write bytes data
307+ with these streams, you need to use their :data: `io.TextIOBase.buffer `
308+ attribute.
309+
304310* Filenames are passed to and returned from APIs as (Unicode) strings.
305311 This can present platform-specific problems because on some
306312 platforms filenames are arbitrary byte strings. (On the other hand,
@@ -511,9 +517,7 @@ consulted for longer descriptions.
511517 produces a literal of type :class: `bytes `.
512518
513519* :ref: `pep-3116 `. The :mod: `io ` module is now the standard way of
514- doing file I/O, and the initial values of :data: `sys.stdin `,
515- :data: `sys.stdout ` and :data: `sys.stderr ` are now instances of
516- :class: `io.TextIOBase `. The built-in :func: `open ` function is now an
520+ doing file I/O. The built-in :func: `open ` function is now an
517521 alias for :func: `io.open ` and has additional keyword arguments
518522 *encoding *, *errors *, *newline * and *closefd *. Also note that an
519523 invalid *mode * argument now raises :exc: `ValueError `, not
0 commit comments