RELEASED email package version 2.5

Barry Warsaw
21 Mar 2003 16:38:18 -0500

Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

I've just released the (standalone) email package version 2.5.  This is
identical to the version that is in the current cvs development tree for
Python 2.3.  I've also backported it to what will be Python 2.2.3.

email 2.5 is made available as a distutils package for installing in
earlier versions of Python.  It is compatible with Python 2.1
Python 2.2, and Python 2.3.  See below for a summary of changes.

The email package is a library for parsing, handling, and generating
email messages and other RFC 2822 style documents.  It conforms to
most of the email related RFCs including 2045-2047 (the MIME RFCs) and
2231.  It is intended to replace several older modules in the standard
distribution, such as rfc822, mimetools, multifile, mimify, and
MIMEWriter, and such non-standard modules as mimecntl.

email-2.5.tar.gz is available from the mimelib project on SourceForge:

More information, as well as on-line documentation is available on the
home page:


-----snip snip-----
    - Message.get_payload() now recognizes various uuencoded
      Content-Transfer-Encodings (e.g. x-uuencode).

      When passing decode=3DTrue to Message.get_payload() and a
      low-level decoding error occurs, the payload is returned as-is
      instead of raising an exception.

    - Header.__init__() and Header.append() now accept an optional
      argument `errors' which is passed through to the unicode() and
      ustr.encode() calls.  You can use this to prevent conversion
      errors by e.g. passing 'replace' or 'ignore'.

      RFC 2822 specifies that long headers should be split at the
      "highest level syntactic break" possible.  This can only really
      be determined by the application, and the current API doesn't
      support arbitrary break points.  As a compromise,
      Header.encode() grew a `splitchars' argument which provides some
      control over splitting at higher level syntactic breaks.

      Header.decode_header() now transforms binascii.Errors into
      email.Errors.HeaderParseErrors when bogus base64 data appears in
      the header.

      The header splitting and folding algorithms were completely
      reimplemented, especially when dealing with ASCII headers.

      We now preserve spaces between encoded and non-encode parts in
      RFC 2047 headers when converting the header to Unicode.  While
      the RFC is technically ambiguous on this point, this is the
      behavior most people expect.

    - email.Iterators.body_line_iterator() now takes an optional
      decode argument, which is passed through to Message.get_payload().

    - The MIMEText constructor used to append a newline to the _text
      argument if it didn't already end in a newline.  Now it doesn't.

    - The quopriMIME.header_encode() maxlinelen argument now accepts
      None, which inhibits line breaking.

    - Support for Korean charsets was added to  Also the
      Charset class grew a __repr__() method.

    - Various and sundry bug fixes, improved RFC conformance, and
      improved lax parsing.

Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see