IMAPClient 2.0.0

Posted on

I'm very happy to announce that IMAPClient 2.0.0 is out. Many thanks to all the contributors who helped to shape what is one of the biggest IMAPClent releases to date.

A major focus of this release was removing the dependency on backports.ssl and pyOpenSSL for TLS support. These dependencies were introduced in IMAPClient 1.0 to provide consistent TLS support, even for Python versions which didn't have good support in the standard library. Unfortunately they caused installation headaches for many people and had various rough edges.

Now that Python has solid built-in TLS support in readily available Python versions (2.7.9+ and 3.4+), it was time for IMAPClient to go back to using the standard library ssl package. This should make most IMAPClient installation problems are thing of the past, and also significantly reduces the dependences that get pulled in when IMAPClient is installed.

Other highlights in this release:

  • Python 2.6 and 3.3 are no longer supported. This version supports Python 2.7, 3.4, 3.5 and 3.6.
  • Support for the MOVE extension (RFC 6851)
  • More precise execeptions are used (see imapclient.exceptions)
  • Logs are now handled by the Python logging module. The debug and log_file attributes are gone.
  • GMail labels using international characters are now handled properly.
  • All non-library code moved out of the imapclient package.
  • Connection and read/write operations timeouts can now be distinct.
  • New welcome property to allow access to IMAP server greeting.
  • Significant README and documentation improvements.
  • Many bug fixes.

See the release notes for more details.